Beautify PlantUML swimlane diagrams
Step-by-step guide to render PlantUML `|lane|` swimlane diagrams as horizontal columns with theme-matched palette and crisp L-shape cross-lane edges — ready for PRDs, runbooks, and process reviews.
Follow the workflow, open the example in the editor, then export or save the cleaner result.
Use this guide when a PlantUML swimlane source already describes the right process but the default render looks vertical, plain, or cluttered.
View PlantUML sourcePlain-text diagram syntax — copy or edit directly.
1@startuml2|#FFB6C1|Monitoring|3start4:Alert fires;5|#FFE4B5|On-call|6:Acknowledge alert;7:Initial diagnosis;8if (Known issue?) then (yes)9 :Run runbook fix;10else (no)11 |#B0E0E6|SRE Lead|12 :Escalate & assist;13 :Root cause analysis;14 |On-call|15 :Apply fix;16endif17|#90EE90|Customer Support|18:Update status page;19|On-call|20:Write postmortem;21stop22@endumlWhy default PlantUML swimlanes need cleanup
PlantUML's swimlane (activity beta) syntax is the most expressive lane DSL in the text-diagram space — but the reference renderer leaves the output looking dated: lanes stack vertically, palettes default to 2005-era named colours, and cross-lane arrows become bezier curves. Beauty Diagram keeps the source unchanged and renders it with horizontal lane columns, theme-aware palette, and orthogonal handoff edges.
- Lanes become side-by-side columns instead of stacked subgraphs
- Adjacent lanes touch with shared inner borders — no awkward gaps
- Cross-lane edges route as L-shapes (south-exit → traverse → north-enter)
- Each theme picks a tailored palette (light pastel, dark muted, brutalist pop, monochrome blueprint, parchment atelier, Memphis colour story)
Step 1 — Paste the PlantUML source
Open the editor, switch the source format to PlantUML, and paste a `@startuml` / `@enduml` block. Use `|Name|` for plain lanes or `|#Color|Name|` to colour individual lanes. Standard activity syntax (`start`, `:Action;`, `if/else/endif`, `switch/case/endswitch`, `repeat/while`, `stop`) all work inside lanes.
Step 2 — Confirm the lane layout
After paste, the preview should show one column per lane in source declaration order, equal-width, with the first lane on the left. Activities should sit inside the lane they were declared under, even when the flow branches. If the diagram still looks vertical, double-check the source — Beauty Diagram only switches to swimlane layout when there are at least two `|lane|` declarations and at least one cross-lane edge.
Step 3 — Pick a theme that fits the audience
Theme drives lane palette automatically — there's no separate "swimlane theme" to pick. Classic, Atlas, and Modern give you the pastel default. Obsidian and Slate keep the diagram legible on dark backgrounds. Brutalist and Memphis read well on slide decks. Blueprint is monochrome with `01` `02` section numbers — useful for formal specs. Atelier translates the colour story into warm earth tones for editorial contexts.
- Light themes — Classic, Atlas, Modern (pastel default)
- Dark themes — Obsidian, Slate (dark muted with bright accents)
- Pop themes — Brutalist (high-contrast), Memphis (yellow-led signature colours)
- Specialty — Blueprint (monochrome + section numbers), Atelier (warm earth tones)
Step 4 — Export for the destination
Export SVG for docs, RFCs, and Confluence pages — it stays sharp at any zoom. Export PNG for slide decks or destinations that don't accept SVG. The Diagram Hub keeps the source so future edits regenerate from the same PlantUML, with no manual repositioning.