2025-05-22 14:29:47 +00:00
2025-01-31 11:59:48 +01:00
2023-08-21 16:07:03 +02:00
2025-05-22 16:27:01 +02:00
2024-10-16 17:17:28 +02:00
2025-05-22 16:27:01 +02:00
2023-04-19 12:18:42 +02:00
2020-05-20 16:09:03 +00:00
2025-05-22 16:28:47 +02:00
2025-05-22 16:28:47 +02:00
2024-09-12 14:37:48 +02:00
2022-09-29 18:23:30 +02:00

bpmn-js - BPMN 2.0 for the web

Build Status

View and edit BPMN 2.0 diagrams in the browser.

bpmn-js screencast

Installation

Use the library pre-packaged or include it via npm into your node-style web-application.

Usage

To get started, create a bpmn-js instance and render BPMN 2.0 diagrams in the browser:

const xml = '...'; // my BPMN 2.0 xml
const viewer = new BpmnJS({
  container: 'body'
});

try {
  const { warnings } = await viewer.importXML(xml);

  console.log('rendered');
} catch (err) {
  console.log('error rendering', err);
}

Checkout our examples for many more supported usage scenarios.

Dynamic Attach/Detach

You may attach or detach the viewer dynamically to any element on the page, too:

const viewer = new BpmnJS();

// attach it to some element
viewer.attachTo('#container');

// detach the panel
viewer.detach();

Resources

Build and Run

Prepare the project by installing all dependencies:

npm install

Then, depending on your use-case you may run any of the following commands:

# build the library and run all tests
npm run all

# spin up a single local modeler instance
npm start

# run the full development setup
npm run dev

You may need to perform additional project setup when building the latest development snapshot.

bpmn-js builds on top of a few powerful tools:

  • bpmn-moddle: Read / write support for BPMN 2.0 XML in the browsers
  • diagram-js: Diagram rendering and editing toolkit

It is an extensible toolkit, complemented by many additional utilities.

License

Use under the terms of the bpmn.io license.

Description
A BPMN 2.0 rendering toolkit and web modeler.
Readme 29 MiB
Languages
JavaScript 98.9%
TypeScript 0.7%
Shell 0.2%
CSS 0.2%