PlantUML Diagram Editor
Validate PlantUML syntax, detect diagram type (sequence, class, use case, activity, component, state, object, deployment), generate a shareable plantuml.com render URL (deflate+base64 encoded), browse a syntax reference per type, and export as PNG, SVG, or ASCII art via the official server. Template gallery, line-anchored error decoder, history (localStorage), shareable URL. 100% client-side.
About PlantUML Diagram Editor
Validate PlantUML syntax, detect diagram type (sequence, class, use case, activity, component, state, object, deployment), generate a shareable plantuml.com render URL (deflate+base64 encoded), browse a syntax reference per type, and export as PNG, SVG, or ASCII art via the official server. Template gallery, line-anchored error decoder, history (localStorage), shareable URL. 100% client-side. Everything runs locally in your browser — your data never leaves your device.
How to use
- Enter your input in the tool above.
- Adjust any options to your preference.
- Use the Copy or Download buttons to save the result.
- Everything happens locally — your data never leaves your browser.
FAQ
How does the PlantUML diagram editor work?
Type or paste PlantUML syntax in the editor — we detect the diagram type (sequence, class, use case, activity, component, state, object, or deployment), validate the syntax line-by-line, show a friendly error decoder with the offending line highlighted, and generate a shareable plantuml.com render URL using the official deflate+base64 encoding. Open the URL to view the diagram as PNG, SVG, or ASCII art.
Which PlantUML diagram types are supported?
Eight types are auto-detected from the @startuml ... @enduml block keywords: sequence (`participant`/`->`/`-->`), class (`class`/`interface`/`<|--`), use case (`usecase`/`actor`/`(use)`), activity (`:action;`/`if-then-else`/`start`/`stop`), component (`component`/`[...]`/`()--`), state (`state`/`[*]`/`-->`), object (`object`/`:`), and deployment (`node`/`database`/`cloud`). The reference panel shows a minimal starter template for each.
How does the syntax validator work without running PlantUML?
The validator runs pure-JS structural checks per diagram type — e.g. sequence checks `participant`/`actor` declarations and arrow types (`->`, `-->`, `->>`), class verifies class blocks and relationship arrows (`<|--`, `*--`, `o--`), activity checks `start`/`stop` matching and `if/else/endif` nesting, state checks `[*]` transitions, and component checks `[id]` block references. `@startuml`/`@enduml` matching is always verified. Line numbers are reported so you can jump to the problem.
How do I share or export my diagram?
Click "Open in plantuml.com" — we deflate-compress your source and base64-encode it (the official PlantUML URL encoding), then append it to the server path (e.g. `/svg/<encoded>` for SVG, `/png/<encoded>` for PNG, `/uml/<encoded>` for ASCII). You can copy the encoded URL, copy the raw PlantUML code, download the .puml file, or copy a Markdown snippet that embeds the rendered image link.
What extra features does this tool have versus the official editor?
(1) Pure-JS syntax validator with line-anchored errors. (2) Auto diagram-type detector for 8 types. (3) Starter template gallery per type. (4) plantuml.com shareable URL generator (deflate+base64). (5) PNG/SVG/ASCII export links. (6) Markdown embed snippet with image URL. (7) Per-type syntax reference card. (8) Live char/line count and stats. (9) Theme picker (plain, plantuml, minty, etc.). (10) Encoded URL decoder (paste a plantuml.com URL to extract source). (11) History (localStorage, last 20). (12) Shareable URL with the source encoded. 100% client-side — no rendering happens on our servers, no account, no upload.
Related tools
.bashrc / .zshrc Alias & Config Manager
Build shell aliases, functions, exports, and PATH edits in a visual editor, then export a clean, commented .aliases file sourced from both .bashrc and .zshrc — with shadowing detection against shell builtins and common CLI tools, function suggestions when args are needed, starter packs (git, docker, kubectl, navigation, safety, ls, dev, devops, data science), import of existing rc files, dedupe, history (localStorage), and shareable URL. 100% client-side.
Add / Subtract Date Calculator
Add or subtract years, months, weeks, days, hours, minutes and seconds from a starting date/time. Calendar-day or business-day mode with custom weekend + holiday list. Month-end policy toggle (clamp to last day vs overflow). Repeat/series mode (e.g. every 2 weeks x 10) with CSV export. Shareable URL. 100% client-side.
Age Calculator
Calculate exact age from a birth date in calendar years/months/days (no negative-day bugs) plus totals in months/weeks/days/hours/minutes/seconds. Next-birthday countdown with weekday. Feb-29 birthday policy toggle. Milestones (1,000 days, 10,000 days, 1 billion seconds). Zodiac sign + Chinese zodiac. Age gap comparison. Shareable URL. 100% client-side.