A compiler toolchain that turns C and C++ code into WebAssembly so it can run in browsers, Node.js and other Wasm runtimes.
bpmn-io/bpmn-js
A JavaScript toolkit for rendering and editing BPMN 2.0 process diagrams in the browser.
- Stars
- 9,702
- Forks
- 1,489
- Open issues
- 119
- Last commit
- 16 hours ago
What is it?
bpmn-js lets web applications view and edit BPMN 2.0 diagrams without a server-side component. You create a viewer or modeler instance in a container element, then import BPMN 2.0 XML to render the process diagram in the page.
The library is built on bpmn-moddle, which handles reading and writing BPMN 2.0 XML, and diagram-js, which provides the rendering and editing canvas. It is designed as an extensible toolkit, so developers can add custom behavior on top of the default modeler.
The project can be used as a pre-packaged bundle or installed via npm and included in a bundled web application. A demo modeler and a collection of example integrations are provided for reference.
Key features
- 01Renders BPMN 2.0 XML diagrams in the browser.
- 02Provides an interactive modeler for creating and editing diagrams.
- 03Imports and exports BPMN 2.0 XML via bpmn-moddle.
- 04Offers an extensible architecture for custom modeling behavior.
- 05Can be installed via npm or used as a pre-packaged bundle.
Use cases
- Embedding a read-only BPMN process viewer in a web application.
- Building a browser-based process modeling tool for end users.
- Adding BPMN diagram editing to an internal workflow or admin dashboard.
Topics
FAQ
- What is bpmn-js?
- A JavaScript toolkit for rendering and editing BPMN 2.0 process diagrams in the browser. bpmn-js lets web applications view and edit BPMN 2.0 diagrams without a server-side component. You create a viewer or modeler instance in a container element, then import BPMN 2.0 XML to render the process diagram in the page.
- Is bpmn-js free to use? What license does it have?
- bpmn-js is open source under the Other license. Check the license terms before using it in commercial products.
- Is bpmn-js still maintained?
- Actively maintained. The last commit to bpmn-js was on Oct 21, 2026.
- What can I use bpmn-js for?
- Embedding a read-only BPMN process viewer in a web application. Building a browser-based process modeling tool for end users. Adding BPMN diagram editing to an internal workflow or admin dashboard.
- Where can I get bpmn-js?
- The source code and installation instructions are on GitHub: https://github.com/bpmn-io/bpmn-js
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A modern Python package and dependency manager that manages venvs, lockfiles and builds based on PEP 621 and PEP 517 metadata.
An MIT-licensed infinite-canvas whiteboard SDK for React, React Native, and plain JavaScript apps, positioned as a free alternative to tldraw.
Open-source JSON editor that turns JSON, YAML, CSV and XML into interactive graphs, with format conversion and code generation.
An agent skill that turns natural language and real system sources like Terraform, Kubernetes, SQL and OpenAPI into editable draw.io architecture diagrams.
Unified HTTP API that renders text-based diagram sources such as PlantUML, Mermaid, D2 and GraphViz into SVG, PNG and other images.