Skip to main content

Draw UML diagrams in the browser.

An open-source UML modeling editor. 13 diagram types, SVG/PNG/PDF/JSON export, real-time collaboration. Use it in the browser, in VS Code, or as an npm library.

npm install @tumaet/apollon

Try it live

The @tumaet/apollon package running in your browser. The snippet beside it is the code that mounts it — switch frameworks in the tabs.

Diagram.tsx
import { Apollon } from "@tumaet/apollon/react"
import type { UMLModel } from "@tumaet/apollon"
import "@tumaet/apollon/style.css"

export function Diagram({ initialModel }: { initialModel?: UMLModel }) {
return (
<Apollon
style={{ height: 600 }}
defaultModel={initialModel}
onMount={(editor) => {
const id = editor.subscribeToModelChange((model) => {
localStorage.setItem("diagram", JSON.stringify(model))
})
return () => editor.unsubscribe(id)
}}
/>
)
}
LIVE@tumaet/apollon
Loading Apollon…

Edits stay local — refresh to reset.

What you get

Modeling

13 diagram types

Class, Object, Activity, Use Case, Communication, Component, Deployment, Petri Net, Reachability Graph, Syntax Tree, Flowchart, BPMN, and SFC.

Output

Export anywhere

SVG, PNG, PDF, and JSON — from a mounted editor or a headless model. Round-trips through JSON without loss.

Collaboration

Real-time, opt-in

Multi-user editing via Yjs over any transport you already run — WebSocket, WebRTC, or BroadcastChannel.