---
title: "diagram-js"
description: "Renderer and modelling toolkit underneath bpmn.io, providing canvas, palette, connection routing and undo for custom editors."
canonical: "https://vibing.inc/library/diagram-js-vg-0455"
category: "Data Visualization & Charts"
subcategory: "Diagrams as code"
license: "MIT"
author: "bpmn.io / Camunda (@bpmn-io)"
source: "https://github.com/bpmn-io/diagram-js"
---

# diagram-js
Renderer and modelling toolkit underneath bpmn.io, providing canvas, palette, connection routing and undo for custom editors.
## Facts
- Source: https://github.com/bpmn-io/diagram-js
- Category: Data Visualization & Charts / Diagrams as code
- Author: bpmn.io / Camunda (@bpmn-io)
- Licence: MIT
- Tags: canvas, modeling, editor, toolkit
## Why it's a gem
The engine behind BPMN editors, reusable for any node-and-edge editor
---
Listed in The Vibeary: https://vibing.inc/library/diagram-js-vg-0455 · JSON: https://vibing.inc/api/public/library/gems/diagram-js-vg-0455