yFiles for Java (Swing)Diagramming made simple
yFiles for Java (Swing) is an extensive Java™ class library for the Java Swing world. The current 3.x line requires Java 8 and uses a modern API that contains UI controls for drawing, viewing, and editing diagrams — as well as our many advanced graph layout algorithms for automatically arranging complex graphs.

We´d love to help you. Reach out and we'll get in touch with you.
Your message has been sent.

Build intuitive, flowing diagrams with Java (Swing)
The yFiles diagramming library enables seamless visualization of complex networks and relationships, making it easy to start new projects or enhance existing ones. With expert support from core developers, any challenges can be resolved efficiently, ensuring a smooth and successful experience.
Begin transforming complex networks and dynamic relationships into clear, impactful diagrams today with the organic layout in yFiles.
Test yFiles free of charge
Technical features
Extensive Developer’s Guide and API documentation, runtime type-checking, debugging tools, plus code completion and quick API lookup in most IDEs.
Provides a pure Swing component for displaying diagrams. Leverages Java 2D for all visualizations.
Completely self-contained with no dependencies besides Java's core library.
Integrates well with JVM languages that provide null-safe type systems, for example Kotlin.
Supports Java language features including lambda expressions, default methods, streams, generics, and more.
yFiles in action
Interactive demos
Explore the advanced features of yFiles through our interactive demos. More than 300 demos created with yFiles for HTML to try directly in your browser.
Interactive demosFurther information
Working resources
Find helpful resources like Developer’s Guides, API documentation and videos.
Support hubLicense information
Find the right license and accurate pricing information for your specific use case.
LicensesTechnical requirements
Building applications based on yFiles for Java (Swing) requires the Java SE Development
Kit 8 or newer.
If you need to support Java 7 and earlier, we recommend the 2.x line of yFiles for Java.
yFiles for Java (Classic)
For projects that need to support legacy Java versions before Java 8, the 2.x line of yFiles for Java supports Java 7 and earlier. It uses an older API design and provides
fewer features out-of-the-box than the 3.x line.
In new Java Swing projects, we recommend starting development with the 3.x line of yFiles for Java (Swing).