JointJS logo

JointJS

by client IO · Since 2011
No reviews yet
ActiveAvailable globallyCloud
Quick facts
Vendorclient IO
Year launched2011
StatusActive
LocationThamova 20, Prague
Countries servedGlobal
Languages11
Integrations1+
Free tier
Free trial
Contact salesYES

About JointJS

[API Error: HTTPSConnectionPool(host='api.openai.com', port=44]

JointJS by Client IO is a robust and modern JavaScript diagramming library that enables developers to build highly interactive, browser-based visual applications. It stands out as a foundational toolkit that is both powerful and flexible, allowing engineers to create custom diagram editors, workflow visualizers, and various interactive UIs tailored to unique use cases. At its core, JointJS comes in two tiers: the open-source version that delivers essential functionality for general diagramming needs, and JointJS+, the commercial extension that significantly enhances the toolkit with over 40 advanced UI widgets, layout engines, and interaction components. This layered offering makes it accessible to a wide range of development teams—from startups to enterprise software builders. Unlike traditional end-user diagram software, JointJS doesn’t come with a plug-and-play graphical interface. Instead, it serves developers by offering clean APIs and a solid Model-View-Controller architecture that allows for separation of data, rendering, and interaction logic. Its SVG-based rendering engine means every visual element is part of the DOM, giving developers precision control and styling capabilities through CSS.

Pros & Cons

What users like
  • +Extensive Feature Set: Handles everything from org charts to custom low-code tools with powerful APIs and SVG manipulation
  • +Interactive & Visually Dynamic: Enhances user engagement with stunning diagrams and intuitive drag-and-drop
  • +Seamless Integration: Works well with various web technologies and platforms
  • +Highly Customizable: Backend flexibility with extensive signal handling, port linking, and toolkits
  • +Reliable Performance: Fast, stable, and lightweight even on complex use cases
  • +Rich Documentation & Demos: Well-supported by examples, tutorials, and ongoing updates
  • +Saves Development Time: Prevents manual SVG coding and accelerates workflow
  • +Strong Community Trust: Continuously improved by an active vendor team
  • +Best Value for Features: Stands out in functionality compared to basic or expensive competitors
What users flag
  • Scattered Documentation: Info sometimes split across docs and tutorials
  • Backbone Dependency: Relies on a less popular library, though not a deal-breaker
  • Integration Challenges: Setup with existing business tools may take time
  • Complex Visuals in Large Apps: Relationships can become cluttered in big models
  • Missing Collaboration Plugin: No longer available in the latest version

Features

Key features

JavaScript Diagramming Library
Provides a powerful foundation for building custom, interactive diagramming tools and application builders directly in web browsers.
Highly Customizable
Allows developers to create anything from static diagrams to complex, fully interactive visual applications, including custom shapes and behaviors.
Automatic Layout Algorithms (JointJS+)
Extends core functionality with various automatic layout options (e.g., grid, tree, force-directed) for organizing complex diagrams efficiently.
Rich UI Widget & Component Library (JointJS+)
Offers over 40 pre-built UI widgets, interaction components, control panels, and other functionalities to accelerate advanced visual application development.
SVG-based Rendering
Renders diagrams using Scalable Vector Graphics, ensuring crisp visuals, accessibility, and ease of debugging across all resolutions and devices.
Framework-Agnostic
Works seamlessly with any JavaScript framework (React, Angular, Vue, Svelte) and modern browsers, offering broad compatibility for developers.

Additional features

JavaScript Diagramming Library
Core library for visualization and interaction with diagrams and graphs.
Open Source
Completely free to use.
SVG-based Rendering
Uses SVG for rendering diagrams, ensuring scalability and clarity.
Custom Shape Creation
Ability to create any custom shape from scratch.
Extending Existing Shapes
Users can extend existing shapes as a base for new custom ones.
Model-View-Controller (MVC) Architecture
Separates graph, element, and link models from their rendering, allowing for easy integration with backend applications.
Event-Driven Nature
Supports reacting to various events on the paper or elements (e.g., position, size, angle changes).
Basic Elements
Provides fundamental shapes like rectangles, circles, ellipses, text, images, and paths.
Element Connectivity (Links)
Supports connecting diagram elements with customizable links, labels, and arrowheads.
Interactive Elements and Links
Allows for user interaction with diagram components.
Hierarchical Diagrams Support
Enables the use of parent-child models for defining element scopes.
Serialization and Deserialization
Supports saving and loading diagram states.
Chart Creation
Can generate and manage various chart types like Line, Bar, Area, Combo, Pie, Donut, and Knob charts.
Chart Manipulation
Functions for resizing, rotating, and connecting charts to other elements.
Multiple Papers/Views
Create multiple views on a single model for scalability and non-interactive previews.
Styling
Full control over styling elements and links (custom and default).
Port Model
Feature to create elements with ports for connecting different elements.
Keyboard Shortcuts
Ability to define custom keyboard shortcuts for application interactions.
Undo & Redo
Tracks graph changes, allowing users to revert or reapply actions.
Copy & Paste
Functionality to copy and paste diagram cells.
Drag & Drop
Supports drag-and-drop functionality for elements.
Export to PNG/JPEG/SVG/PDF/SWF
Export diagrams into various image and document formats.
Integration with JavaScript Frameworks
Works seamlessly with React, Angular, Vue, and Svelte.
JSON Support
Handles diagram data in JSON format.
External Images
Supports the use of external images within diagrams.
Grid and Guidelines
Aids in precise element alignment.
Highlighters
Provide visual emphasis to shapes during interactions or on events.
Selection Tools
Tools for selecting individual elements or regions.
Minimap (Basic)
Provides a smaller view into a larger diagram (basic functionality in core, advanced in JointJS+).
Tooltips
Display information messages on hover.
Popups & Menus
Supports creating interactive popups and menus.
Form Controls
Integration with form elements.
Themes & Styling
Offers options for customizing the visual appearance.
Local Storage
Ability to store documents (graphs and cells) to client-side HTML5 localStorage.
JointJS+ (Commercial Extension Features)
40+ Components
Extends functionality with over 40 pre-built UI widgets, interaction components, automatic layouts, and control panels.
UI Widgets
Includes advanced widgets for building sophisticated user interfaces.
Interaction Components
Enhances user interaction with diagrams.
Automatic Layouts
Provides advanced automatic layout algorithms (e.g., hierarchical, orthogonal, organic, circular, tree layouts) for directed graphs.
Control Panels
Pre-built panels for managing diagram elements and properties.
White-Label System
Can be used as a white-label solution.
Inspector (Property Editor and Viewer)
Plugin to implement a two-way data binding between cell models and HTML forms for property editing.
Toolbar
Plugin to implement an interactive toolbar component with various tools.
Zoom & Scroll (PaperScroller)
Plugin for scrolling, panning, zooming, centering, and auto-resizing paper content.
Minimap (Navigator Plugin)
Advanced minimap for easy navigation in large diagrams.
Halo Plugin
Provides a control panel above an element with various tools (e.g., resize, rotate).
Selection Region Tools
Advanced tools for selecting regions of various geometries.
Resize & Rotate
Ability to resize elements in any direction and rotate them freely.
Inline Text Editing (Rich-text)
Powerful rich-text inline editor for SVG text elements.
BPMN Diagram Support (Advanced)
Enhanced support for creating standards-compliant BPMN editors.
UML Class Diagram Support (Advanced)
Tools for designing UML Class Diagrams.
Pre-built Demo Applications
Access to 160+ templated applications with source code (e.g., AI Agent Builder, Flowchart Maker, Mind Mapping, Org Chart, Sankey Diagram, Chatbot, Kanban).
Customizable Features
High degree of customization for every feature.
Smart Routing for Links
Transforms link vertices into optimal route points (routers) and generates SVG path commands for smooth rendering (connectors).
Anchors
Defines specific points on elements where links can connect.
Featured Shapes
Additional shapes like BPMN, VSM, and table-like shapes, and elements with scrollable content.
Default Layouts (Wrapper for 3rd party)
Provides a wrapper for a 3rd party layout library to assist with directed graphs.
Port Label Layout
Easily lay out ports and their labels automatically.
Foreign Objects Support
Improved support for foreign objects within SVG context.
Validation
Tools for validating diagram structures.
Algorithms
Includes various algorithms for graph analysis.
Snap to Objects
Facilitates precise alignment of elements.
Vectorizer Libraries
Tools for working with vector graphics.
Dagre and Graphlib Integration
Integration with popular graph layout and data structure libraries.
Performance Optimizations
Improved performance for large-scale diagrams.
Enhanced Touch Support
Optimized for touch-enabled devices.
Modern UI Components
Updated user interface elements.
XML Import/Export (BPMN)
Ability to import and export Business Process Modelling Notation diagrams to XML.
Container and Grouping
Organize shapes into hierarchical structures that can be collapsed/expanded.

Pricing

Free trial
Free version
Request a quote
Promo Offer

Countries & Languages

Global
Countries served
11
Interface languages
6
Billing currencies

Interface languages

EnglishSpanishFrenchGermanItalianDutchPortugueseRussianChineseJapaneseKorean

Billing currencies

🇺🇸USD🇪🇺EUR🇬🇧GBP🇯🇵JPY🇨🇦CAD🇦🇺AUD

No reviews yet

Be the first to drop a review

Alternatives to JointJS

WebSequenceDiagrams logo

WebSequenceDiagrams

WebSequenceDiagrams is a diagramming software from Hanov Solutions that focuses on creating sequence diagrams. It…

UMLBoard logo

UMLBoard

[API Error: HTTPSConnectionPool(host='api.openai.com', port=44]

Tom Sawyer Model-Based Engineering logo

Tom Sawyer Model-Based Engineering

[API Error: HTTPSConnectionPool(host='api.openai.com', port=44]

Terrastruct logo

Terrastruct

Terrastruct is a diagramming tool from Terrastruct designed for software architecture. It combines a capable,…

StarUML logo

StarUML

[API Error: HTTPSConnectionPool(host='api.openai.com', port=44]

O

On-site navigation process

[API Error: HTTPSConnectionPool(host='api.openai.com', port=44]

Often compared with JointJS

Compare any two tools →
WebSequenceDiagrams logo
WebSequenceDiagrams
Diagram
0.0
UMLBoard logo
UMLBoard
Diagram
0.0
Tom Sawyer Model-Based Engineering logo
Tom Sawyer Model-Based Engineering
Diagram
0.0
Terrastruct logo
Terrastruct
Diagram
0.0