Cross-platform Diagramming


yFiles for Java is an extensive Java™ class library for the Swing GUI toolkit.

The library contains UI controls for drawing, viewing, and editing diagrams and our mature graph layout algorithms for automatically arranging complex graphs and networks at the click of a button.

New major version yFiles for Java 3.1!

Improved API, new hierarchic layout features, new organic layout support, and many more. Evaluate now!

Beginning with version 3.0, yFiles for Java requires Java 8 or higher. If you need to support Java 7 and earlier, we recommend the 2.x line of yFiles for Java.

Looking for a JavaFX™ diagramming library instead? Choose yFiles for JavaFX

Outstanding Features

yFiles for Java allows you to create rock-solid Java diagramming applications that use the full range of possibilities provided by the Java Swing toolkit. It features all essential functionality from the yFiles product family.

Powerful Graph Controls


The powerful Java Swing components of yFiles for Java enable intuitive interaction with diagrams.
  • Easily edit and handle diagrams with simple mouse gestures.
  • Enjoy smooth change animations and "magnetic" guide lines for manual element alignment.
  • Benefit from out-of-the-box support for zooming and panning, undo/redo, clipboard functionality, image export, and printing.
  • Customize interaction capabilities easily to fit your specific needs.
  • Import and export SVG, PDF, PS, EMF, and more.
  • Create applications supporting BPM visualizations and specialized automatic layout for BPMN.

Graph Analysis and Automatic Layout


yFiles for Java provides a wide variety of graph analysis algorithms that let you tackle the most challenging analysis tasks easily.
  • The suite of automatic graph layout algorithms includes Hierarchic, Orthogonal, and Circular layout styles to automatically yield clear and concise diagrams from your data.
  • Routing algorithms optimize connection lines in existing diagrams.
  • Ample configuration possibilities suit even sophisticated diagram layout demands.

Developer Support


  • Extensive developer support with Developer's Guide and API documentation viewer.

Full Java 8 Support


yFiles for Java has full support for Java language level 1.8, including lambda expressions, default methods, streams, and generics.
If your Java application needs support for legacy versions of the Java platform before Java 8, we recommend to use the 2.x line of yFiles for Java for your application, which is built for the Java 1.4 runtime and later versions like 5.0, 6, and 7.

Source Code Demo Applications

yFiles for Java ships with the full source code of the following demo applications. Try out the yFiles online demos that showcase the visualization and interaction capabilities of the yFiles family of diagramming software libraries. See the versatility of the yFiles family and the possibilities that yFiles for Java can bring to your own applications!

Graph Editor

The Graph Editor demo application is a fully-featured showcase of the visualization and automatic layout capabilities of yFiles for Java:
  • Add, delete, move, and label nodes and edges to create a graph
  • Interact using zoom and pan, undo/redo, copy/paste, and more
  • Apply graph layout algorithms
  • Load and save graphs from GraphML, export graphs to images

Layout Styles

The Layout Styles demo showcases the various automatic diagram layout algorithms of yFiles, including hierarchic, organic, orthogonal, tree, circular and balloon styles. Additionally, it presents the powerful and highly customizable graph editing capabilities of the graph view component.

Graph Viewer

The Graph Viewer demo application demonstrates user interaction possibilities such as zooming and panning. Graphs from various domains are loaded and enriched with extra information for descriptions and tooltips during the loading process.

Organization Chart

The Organization Chart demo application displays an interactive organization chart with data loaded from XML.

Business Process Models

The Business Process Diagram demo application allows you to create and edit business process diagrams, and to arrange them with the specialized BPMN layout algorithm.

Collapsible Tree

The Collapsible Tree demo application displays a tree-like structure that can be expanded and collapsed interactively. The nodes are rendered with custom icons that indicate their current state. After an expand or collapse operation, the graph is redrawn using a configurable layout algorithm.

Grouped Graph

The Grouped Graph demo application presents the grouping support of yFiles for Java. Group nodes can be collapsed or expanded. Additionally, when a group node is expanded or collapsed, a new incremental layout is calculated and the graph is redrawn.

Custom Styles

The Custom Styles demo application shows how to easily change the look and feel of nodes, edges, and labels to create attractive visual representations of graph structures.

The yFiles online demos are made with the yFiles for HTML library to present the yFiles functionality right in your HTML5-capable browser.
The corresponding yFiles for Java 3.x demo applications that ship with the library present the same yFiles functionality.

The yFiles online demos are made with the yFiles for HTML library to present the yFiles functionality right in your HTML5-capable browser.
The corresponding yFiles for Java 3.x demo applications that ship with the library present the same yFiles functionality.

The yFiles online demos are made with the yFiles for HTML library to present the yFiles functionality right in your HTML5-capable browser.
The corresponding yFiles for Java 3.x demo applications that ship with the library present the same yFiles functionality.

The yFiles online demos are made with the yFiles for HTML library to present the yFiles functionality right in your HTML5-capable browser.
The corresponding yFiles for Java 3.x demo applications that ship with the library present the same yFiles functionality.

The yFiles online demos are made with the yFiles for HTML library to present the yFiles functionality right in your HTML5-capable browser.
The corresponding yFiles for Java 3.x demo applications that ship with the library present the same yFiles functionality.

The yFiles online demos are made with the yFiles for HTML library to present the yFiles functionality right in your HTML5-capable browser.
The corresponding yFiles for Java 3.x demo applications that ship with the library present the same yFiles functionality.

The yFiles online demos are made with the yFiles for HTML library to present the yFiles functionality right in your HTML5-capable browser.
The corresponding yFiles for Java 3.x demo applications that ship with the library present the same yFiles functionality.

The yFiles online demos are made with the yFiles for HTML library to present the yFiles functionality right in your HTML5-capable browser.
The corresponding yFiles for Java 3.x demo applications that ship with the library present the same yFiles functionality.

Developer Information

Technical Requirements

To develop yFiles for Java-based applications, a Java 8 (or greater) Java Development Kit (JDK) is required.
To run applications based on yFiles for Java, a Java 8 (or greater) Java Runtime Environment (JRE) is required.

If you need to support Java 7 and earlier, we recommend the 2.x line of yFiles for Java.

Commercial Information

Need help?

Get in touch with our sales team to learn more about the terms and conditions for the commercial or academic use of the yFiles for Java library.

Evaluate yFiles for Java

Test and experience the yFiles for Java diagramming library with a 60-day, fully functional evaluation version.

The evaluation package features:

  • unrestricted yFiles for Java functionality, including Algorithms and Viewer components
  • step-by-step tutorials: extensive full source code tutorials to teach the essentials
  • source code: full source code of more than two dozens tutorial demo applications
  • developer documentation: Developer's Guide and API documentation, IDE setup tips

Contact yWorks

If you have any questions about us or our products, just send us a note:
Thank you!
Your message has been sent to contact@yworks.com
We are sorry,
Your request could not be sent to contact@yworks.com. Please reload the page and try again.
If the problem persists, please report the error to contact@yworks.com