yFiles for Java

yFiles for Java is an extensive Java™ class library that provides algorithms and components enabling the analysis, visualization, and the automatic layout of graphs, diagrams, and networks.

The current yFiles for Java version is Please refer to the release notes to learn more about the technical requirements and feature enhancements of this latest version.
Our diagramming library for your JavaFX-based applications is yFiles for JavaFX.

yFiles for Java 3.0 Technology Preview

The upcoming version 3.0 of the yFiles for Java diagramming library features a brand-new API which has been adapted from our diagramming libraries for the JavaScript and .NET platform.
This API is mature and provides many new features that are not available out-of-the-box in the yFiles for Java 2.x branch.

Test the Technology Preview of the next-generation yFiles for Java diagramming library with the new Viewer architecture and API!

Application Demos

yEd diagram editor Gallery Online demos

Try out our free yFiles-based graph editor, yEd, to get a broad overview of yFiles for Java library features.

Visit our gallery to see a variety of diagrams made with yFiles.

Browse the yFiles for Java demo highlights or play with the layout styles in our demo applications.

The Many Benefits...

yFiles for Java provides you with the essential building blocks for writing Java applications that analyze, visualize, edit, or automatically draw graphs, diagrams, or networks.

If you need diagramming components, you need yFiles!

Total flexibility is one of the main advantages of choosing yFiles. Our many customers come from diverse application areas including:

  • biochemical network analysis and visualization
  • business process modeling
  • data mining (e.g. log file analysis)
  • database management and modeling
  • network management
  • social networks
  • software engineering (e.g. UML diagramming)
  • workflow management (e.g. flow chart generation)
  • WWW visualization
  • visual programming

Outstanding Features

The yFiles for Java library enables you to create impressive cross-platform Java diagramming applications. It features all essential functionality from the yFiles product family.

yFiles for Java functionality is divided into three parts - Basic, Layout, and Viewer component.

Learn more about the yFiles for Java product types, all available combinations of Basic, Layout, and Viewer components.

The Basic component contains essential classes and data types for graph analysis. From highly efficient implementations of Graph, Priority Queue, and other advanced data types, to a wide variety of graph and network algorithms, The Basic component provides an indispensable toolkit for a range of network analysis tasks.

The Layout component builds upon the Basic component to offer a perfect suite of graph layout algorithms. Diverse layout styles including hierarchic, orthogonal, and circular are provided as easy-to-integrate components that can be configured programmatically to suit most layout demands. Even incremental layout is made simple, and our edge routing algorithms make it easy to route edges into existing diagrams.

The Viewer component also builds upon the Basic component. It features the powerful graph viewer UI component showcased in the yEd graph editor, along with several other useful Swing-based GUI elements. The Viewer component also supports diverse graph and image file formats (GraphML, JPG, GIF) and has excellent printing capabilities.

Additional functionality such as SVG output or PDF output (among others), and support for the Business Process Model and Notation (BPMN) is provided through diverse yFiles for Java extension packages.

Commercial Information

Learn more about the terms and conditions for the commercial or academic use of the yFiles for Java library:


Our Knowledge Base is an excellent resource for finding the answers to frequently asked questions.

Evaluate yFiles for Java

You can test and experience the yFiles for Java library with a 60-day, fully functional evaluation version.