JointJS, a solution preferred by thousands of developers

Opt for an SVG-based diagramming library and build professional applications with ease.

JointJS+ diagram

3 reasons to choose

JointJS over GoJS

Remote troubleshooting

Better rendering engine

SVG outperforms Canvas in many aspects. Don't choose a black box, choose a solution that renders perfectly and natively supports accessibility.
Remote troubleshooting

Easier development

All diagram elements are automatically added to the web page DOM which results in quicker debugging, more meaningful testing and easy application of CSS.
Remote troubleshooting

Flexible licensing

JointJS does not charge extra for additional deployments of your app and gives you access to unminified source code to allow auditing and modification.
Trusted by over 50 000 developers worldwide

Build a professional visual application with ease

Start a 30-day trial and get access to all JointJS+ features and demo applications.

comparison

Feature comparison

JointJS logoJointJS+ logo
Feature icon
Integration with all major JavaScript frameworks

Demonstrated integration with React, Angular and Vue.

Check icon
Check icon
Feature icon
Unminified source code

Access to unminified source code of the library at no extra cost.

Cross icon
Check icon
Feature icon
No restrictions on use of the standard license

Perpetual unlimited commercial use of the license at no extra cost (e.g. based on number of deployed apps, end-users, and/or machines).

Cross icon
Check icon
Feature icon
Dedicated support available

Private support channel with guaranteed SLAs offered at extra cost.

Check icon
Check icon
Feature icon
Easy-to-implement accessibility

All diagram components are natively part of the web page DOM, enabling basic support for screen reader technology.

Cross icon
Check icon
Feature icon
Ease of development

Frontend developers can leverage their usual tools for quick debugging, meaningful testing and easy application of custom CSS.

Cross icon
Check icon
Feature icon
Virtualization functionality

Ability to handle large number of objects efficiently by rendering only the visible area of the diagram.

Check icon
Check icon
Feature icon
Extensive set of UI components

Provides a large collection of reusable diagram components (e.g. element palette, minimap, context menu, tooltip).

Check icon
Check icon
Feature icon
Advanced diagram functionality

Advanced tools for working with diagram nodes and edges (e.g. custom buttons, automatic edge routing).

Check icon
Check icon
Feature icon
Advanced control interactions

Support for touch events and custom keyboard shortcuts.

Check icon
Check icon
Feature icon
Wealth of graph layout algorithms

Support for orgchart, flowchart and force-directed automatic graph layouts.

Check icon
Check icon
Feature icon
Variety of export tools

Provides various export options such as PNG, JPEG, SVG or PDF.

Check icon
Check icon
Feature icon
BPMN shapes

Offers a collection of pre-made reusable BPMN shape definitions.

Check icon
Check icon
Feature icon
Detailed API documentation

API documentation provides sufficient technical detail for custom development.

Check icon
Check icon
Feature icon
Numerous demos

Offers a rich collection of pre-built demo applications that can be used as templates for your project.

Check icon
Check icon
Feature icon
Comprehensive tutorial

Helps with kickstarting your development with a thorough training path.

Cross icon
Check icon

Unlock all JointJS+ features for free

Start a no-obligation 30-day trial and get access to all premium features and plugins.

Code examples

JointJS excels in code cleanliness and structure, which makes life easier for developers. In this snippet, see a code comparison of a simple definition of two linked elements and make an educated choice when selecting a technology for your next project.

Honest testimonial from

those who considered GoJS

Learn directly from our customers the main reasons why they prefer JointJS.

I had evaluated GoJS and Syncfusion for my new startup business product and whilst these had their own strengths, I found JointJS+ to be the strongest in terms of its advanced and highly customisable diagramming capabilities. The areas that I needed to evaluate were extensibility and customisation, performance (ability to handle 100's of objects on a screen), easy to understand with good tutorials, examples and support and able to integrate well into Angular.

JointJS+ I found to be extremely customisable. It feels like I've only touched the surface with the flexibility it provides. One of the main advantages over the others is its SVG based and so can interact well with other HTML elements. This is great for building out complex inspectors, view/model visualisations, context menus and commands. GoJS proved to be more difficult or not possible for extensive customisation and styling. I expect this is because it is canvas based and so does not have extensibility hooks in CSS or HTML elements.
Mark Harrison
Founder, Vrceti
Feature highlights

Complete diagramming toolkit

Don't reinvent the wheel. Let us take care of all the math, interactivity and graphics for you. Use a set of pre-built diagramming tools to build an outstanding app while saving months of complex development and avoiding headaches from never-ending code maintenance.

Automatic layouts and link routing

Lay out nodes as an orgchart, flowchart or force-directed graph, and determine link behavior with built-in or custom routers.

Custom SVG or HTML shapes with ports

Provide your own custom shape definitions (including ports) for your diagram nodes using SVG or HTML.

Export/Import, serialisation

Export your diagrams to various formats (PNG, JPEG, SVG, PDF), or use JSON for an easy integration with your database.

Events

Enable user interaction by triggering events on the JointJS paper, or individual elements and links.

Snaplines, element & link tools

Define custom UI to manipulate elements and links via built-in and custom tools, including snaplines, buttons and connect tools.

Property editor & viewer

Keep all your diagram data in one place using the model-view architecture, and edit it via the property editor & viewer component.

Zoom and pan, copy and paste & undo and redo

Enhance your application with core diagram controls without having to create them from scratch.

Element palette

Organize your shapes in the element palette, then drag & drop to the diagram.
JointJS+ compatibility
compatibility

It works everywhere

Our library is based on a strong HTML5 and SVG foundation that allows it to run seamlessly in all major JavaScript frameworks and modern browsers.

IMPLEMENTATION IN LEADING JAVASCRIPT FRAMEWORKS

Speed up your development with a powerful library