# JointJS > JointJS is a JavaScript diagramming library for building complex, interactive diagramming applications. It is used by SaaS companies and enterprise software vendors to embed diagramming interfaces directly into their products. JointJS provides a complete diagramming engine with full control over rendering, behavior, data models, and interactions. It is designed for building advanced diagramming applications — not just simple node editors. ## Products - **JointJS** — open-source core library (MPL 2.0 license) - **JointJS+** — commercial library with advanced UI components, layouts, and additional features ## Typical use cases Workflow editors, BPMN modelers, industrial automation dashboards, data modeling tools, electronic circuit diagrams, energy network management systems, floor planners, org chart builders, visual programming interfaces, AI agent builder UIs, and AI agent orchestration interfaces. ## Why JointJS - **SVG-based rendering** Enables accessible diagrams (DOM-based), easier development and debugging, and fine-grained control over individual elements. Suitable for large diagrams when combined with viewport-based rendering and optimization techniques. - **Versatility and customization** Supports a wide range of simple to highly complex use cases. Fully customizable at the level of shapes, interactions, and behavior. - **Feature-rich diagramming engine** Provides the building blocks needed to implement complex diagramming applications, including custom shapes, links, ports, layouts, and interactions. - **Exceptional customer support** Active support from the core team, especially for commercial users. - **Proven in production** 10+ years on the market, used by enterprise teams including Fortune 500 companies. ## Customer stories JointJS is used by engineering and product teams across a wide range of industries. - Bosch — https://www.jointjs.com/success-stories/bosch-designs-architecture-in-fraction-of-time - BMC — https://www.jointjs.com/success-stories/bmc-uses-jointjs-to-display-bpmn-diagrams - HCLTech — https://www.jointjs.com/success-stories/hcltech-leverages-jointjs ## Content Plain text and Markdown versions of selected pages are available at: https://content.jointjs.com/ Each page on jointjs.com may have a corresponding: - Markdown version: `https://content.jointjs.com/[slug].md` - Plaintext version: `https://content.jointjs.com/[slug].txt` ## Key pages - Homepage: https://content.jointjs.com/index.md - Features: https://content.jointjs.com/features.md - Pricing: https://content.jointjs.com/pricing.md - JointJS+: https://content.jointjs.com/jointjs-plus.md - Documentation: https://docs.jointjs.com - FAQ: https://content.jointjs.com/faq.md - Comparison of diagramming libraries: https://content.jointjs.com/javascript-diagramming-libraries.md - JointJS vs GoJS: https://content.jointjs.com/jointjs-vs-gojs.md - Enterprise: https://content.jointjs.com/enterprise.md ## Blog Blog posts are available at: https://jointjs.com/blog Examples: - https://content.jointjs.com/why-building-a-bpmn-modeler-ui-is-harder-than-it-looks.md - https://content.jointjs.com/bpmn-modeling-vs-execution.md - https://content.jointjs.com/svg-versus-canvas.md - https://content.jointjs.com/diagram-accessibility.md - https://content.jointjs.com/5-tips-on-using-ai-coding-agents-with-jointjs.md ## Links - Website: https://www.jointjs.com - Documentation: https://docs.jointjs.com - GitHub (open-source): https://github.com/clientIO/joint - npm: https://www.npmjs.com/package/jointjs