BPMN Kit vs. bpmn-js
bpmn-js is a mature, widely-used open-source toolkit from bpmn.io for rendering and interactively modeling BPMN 2.0 diagrams in the browser. BPMN Kit is a TypeScript SDK for generating, simulating, and deploying BPMN 2.0 diagrams from code. They target different jobs — here's how they compare.
| BPMN Kit | bpmn-js | |
|---|---|---|
| Primary purpose | Fluent TypeScript builder that generates and executes BPMN 2.0 XML from code | Toolkit for rendering and interactively modeling BPMN diagrams in the browser |
| Runtime | Node.js, browsers, Deno, Bun, edge — zero runtime dependencies in core | Browser only (SVG/DOM-based rendering) |
| Generate a diagram from code | Yes — `Bpmn.createProcess().startEvent()...build()` with auto-layout (Sugiyama algorithm) | No built-in fluent builder; diagrams are typically authored via the GUI or by hand-editing the underlying diagram-js model |
| Auto-layout | Built in — no coordinate math required | Not included; you position elements yourself or rely on a modeling UI |
| Simulation / execution | `@bpmnkit/engine` — zero-dep simulation engine, no Camunda required | Not included |
| Camunda 8 deployment | `@bpmnkit/api` — 180-method typed REST client | Not included |
| DMN support | `Dmn` builder in `@bpmnkit/core` | Separate library (dmn-js) |
| AI / LLM-friendly | Compact intermediate format fits a diagram in one prompt; designed for AI agents | Not a design goal |
| Maturity & ecosystem | Newer, smaller ecosystem | Mature, widely adopted, large plugin ecosystem (bpmn.io) |
Frequently asked
Is BPMN Kit a replacement for bpmn-js?
Not exactly — they solve different problems. bpmn-js is a browser toolkit for rendering and interactively modeling BPMN diagrams. BPMN Kit is a TypeScript SDK for generating, simulating, and deploying BPMN diagrams from code, with zero runtime dependencies and no browser requirement. Some teams use BPMN Kit's canvas/editor packages for in-browser diagram display and bpmn-js for rich manual modeling — they are not mutually exclusive.
Can I generate a BPMN diagram programmatically with bpmn-js?
bpmn-js exposes a lower-level diagram-js model you can script against, but it does not provide a fluent builder API or automatic layout for generating a complete, valid BPMN 2.0 process from code the way @bpmnkit/core does.