Diagramming with yFiles

The yFiles diagramming software components are extensive class libraries that enable you to add high-quality diagramming functionality to your own software applications.

Turn your data into clear diagrams with the help of unequaled automatic diagram layout, use rich visualizations for your diagram elements, and give your users an intuitive interface for smooth interaction.
With yFiles diagramming components you will get this out-of-the-box for your applications. On nearly any platform or technology.

The yFiles 2020 updates bring you plenty of new features: Isometric projection, B├ęzier edge style, clear and fill area layouts, and large graph analysis and exploration support. Read our yFiles 2020 blog entry, or try out the features for yourself in our yFiles 2020 live demo playlist!

yFiles Features

Diagramming functionality

  • out-of-the-box support for flat and nested diagram structures
  • support for dynamic updates (e.g. for "drill-down" use cases)
  • automatic arrangement of diagrams
  • smooth change animations
  • intuitive interaction
  • rich visualization support

Unequaled automatic diagram layout

  • extensive suite of automatic layout algorithms: Hierarchic, Orthogonal, Organic, Tree, Radial,
    and Circular layout styles to automatically yield clear and concise diagrams from your data
  • routing algorithms optimize connection lines in existing diagrams
  • support for automatic layout of nested diagram structures
  • ample configuration possibilities suit even sophisticated layout demands

Intuitive interaction with diagrams in powerful UI controls

  • easily create, edit, and handle diagrams with simple mouse, keyboard, and touch gestures
  • built-in support for zooming and panning, undo/redo, clipboard functionality, image export, and printing
  • overview and detail views
  • expanding/collapsing of nested diagram structures
  • "magnetic" guide lines for manual element alignment

Rich visual representation of diagrams

  • unlimited visualization possibilities
  • level-of-detail rendering techniques
  • animation support out-of-the-box
  • support for interactive representations

Developer Support

  • extensive API documentation and Developer's Guide
  • dozens of complete source code demos to see the features and their code-behind
  • step-by-step tutorials to quickly learn the concepts
  • comfortable IDE integration
  • additional development tools

Safe investment

  • possible migration paths between yFiles products to cover new platforms
  • similar APIs across different technologies
  • no need to start from scratch when technologies change (and they do)

Platforms and Technologies

The yFiles product family covers a wide range of platforms and deployment scenarios: from web applications to cross-platform Java(FX) to the Microsoft .NET environment.

The components share the same overall architecture, i.e. they use the same concepts and feature very similar APIs across the different platforms and technologies. Due to the same basis for the graph analysis algorithms and the automatic layout algorithms, both analysis and layout results are nearly identical across applications on different platforms.

The following yFiles products are available. Choose the one that matches your application's platform:

yFiles for Java

Build stunning Java Swing-based diagramming applications that run in the Oracle Java Runtime Environment (JRE)

yFiles for JavaFX

Build true JavaFX diagramming applications with data binding and touch support.


Software components for Windows Forms-based desktop applications.

yFiles WPF

Software components for visually rich desktop applications using the Windows Presentation Foundation (WPF).
With data binding and touch support.

yFiles for HTML

Adds diagramming functionality to your HTML5/JavaScript web applications that run in modern web browsers with SVG support.
With data binding and touch support.

Contact yWorks

The data you enter will only be used to contact you.
Learn about our privacy policy.

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