JointJS & JointJS+ comparison

Compare both versions and choose the best option to suit your needs.

Community

Community version for basic apps
JointJS is a community-driven diagramming library that helps developers create simple applications in less time by offering essential UI features.
Open-source code
Essential features
Basic support

Professional

Swiss-army knife on the road to cutting-edge apps
JointJS+ extends the functionality of JointJS and offers a wide range of customizable features, ready-to-implement demo apps and white-glove support.
Commercial license and source code
40+ UI features
100+ ready-to-use demo apps
Dedicated developer support
comparison

Features

JointJS logoJointJS+ logo
Shapes
Essential Shapes

A set of standard, flexible shapes to get you started with diagramming.

Custom Shapes

Customizable shapes to create any JointJS diagram you can imagine.

Featured Shapes

Extra shapes such as BPMN, VSM, and table-like shapes and elements with scrollable content.

Diagram Essentials
Routers, Connectors & Anchors

Built-in or custom routers, connectors and anchors to determine link behaviour.

Element & Link Tools

Utilize built-in or custom control panels to manipulate shapes.

Events

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

Highlighters

Provide additional visual emphasis to elements and links.

Automatic Layouts
Default Layouts

A wrapper for a 3rd party layout library to help layout directed graphs. JointJS also allows you to lay out ports and their labels with ease.

Default Layouts

A wrapper for a 3rd party layout library to help layout directed graphs. JointJS also allows you to lay out ports and their labels with ease.

Additional Layouts

Grid, Tree, Stack & Force Directed layouts.

Additional Layouts

Grid, Tree, Stack & Force Directed layouts.

Graph & Data
Fast Graph Traversal

Fast algorithms for graph traversal, including (but not limited to) BFS & DFS search, and retrieving successors, predecessors & neighbors.

Fast Graph Traversal

Fast algorithms for graph traversal, including (but not limited to) BFS & DFS search, and retrieving successors, predecessors & neighbors.

Custom Properties

Easily hook your own custom data to any element, link, or diagram.

Custom Properties

Easily hook your own custom data to any element, link, or diagram.

View & Model architecture

Strong underlying graph data model with rich API for programmatic graph manipulation.

View & Model architecture

Strong underlying graph data model with rich API for programmatic graph manipulation.

Undo / Redo

Travel the history of graph changes, and undo/redo as much as you need with the Command Manager Component.

Undo / Redo

Travel the history of graph changes, and undo/redo as much as you need with the Command Manager Component.

Validation

Make sure your diagrams are always in the state you need them by determining if a command is valid or not.

Validation

Make sure your diagrams are always in the state you need them by determining if a command is valid or not.

Integration
Geometry & Vectorizer Libraries

Additional libraries that provide useful math and SVG operations for working with JointJS.

Dagre & Graphlib Libraries

Integration with 3rd party libraries for laying out graphs and working with data structures.

JavaScript Frameworks

Seamless integration with your favourite JavaScript frameworks.

Export / Import
JSON

Data serialization with JSON objects to help export or import diagram representations.

Image

Export your diagrams in useful image formats such as PNG or JPEG.

SVG

Export your diagrams as a vector based graphic.

Canvas

Export your diagrams to 2D HTMLCanvas / Bitmap.

Visio

Import and export microsoft Visio archives translating them into JointJS diagrams.

Print

Prepare your JointJS diagrams for printing.

Components
Property Editor and Viewer

Configure properties for your diagram model and shapes in this Inspector component.

Element Palette

Organize your shapes in the Stencil component, then drag & drop the elements to the JointJS paper.

Inline Text Editing

Powerful inline rich-text editing with the Text Editor component.

Zoom & Scroll

Find your way around JointJS diagrams with ease utilizing zoom and scroll functionality provided by the Paper Scroller component.

Minimap

Navigate your JointJS diagrams with a small pannable interactive view using the Navigator component.

Copy & Paste

Take advantage of copy & paste functionality via the Clipboard component.

Keyboard

Create keyboard shortcuts for your JointJS+ applications.

Selection

Store selected JointJS cells in a collection via the selection plugin, or create a control panel above a selected element via the Halo component.

Popups & Menus

Provide some extra contextual information to your shapes via a popup, context menu, or several other modal style components available in JointJS+.

Toolbar

Enrich your JointJS+ application functionality with easy to reach tools via the Toolbar component.

Tooltips

Display positioned messages or technical information anywhere in your diagram UI via the Tooltip component.

Path & Transformation

Easily edit and transform SVG paths with multiple JointJS+ plugins such as PathEditor or FreeTransform.

Drag & Drop

Provide Drag & Drop functionality to users working with complex layouts via the TreeLayoutView and StackLayoutView plugins.

Measurement

Give users some extra precision with snaplines for element alignment, or a set of shapes for displaying dimensions of objects, the distances between them, and their relative angles.

Speed up your development with a powerful library

Leverage a time-tested JavaScript diagramming library using the best of HTML5 and SVG to accelerate your development.