Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including bpmn-js with all npm packages installed. Try it out:

var bpmnJs = require("bpmn-js")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

bpmn-js v5.0.4

A bpmn 2.0 toolkit and web modeler

bpmn-js - BPMN 2.0 for the web

Build Status

View and edit BPMN 2.0 diagrams in the browser.

bpmn-js screencast


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


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

var xml; // my BPMN 2.0 xml
var viewer = new BpmnJS({
  container: 'body'

viewer.importXML(xml, function(err) {

  if (err) {
    console.log('error rendering', err);
  } else {

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:

var viewer = new BpmnJS();

// attach it to some element

// detach the panel


Building the Project

Perform the following steps to build the library, including running all tests:

cd bpmn-js
npm install
npm run all

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

Please checkout our contributing guidelines if you plan to file an issue or pull request.


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


Use under the terms of the license.


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free