Write clear, declarative DSL scripts. Get precise, high-res diagrams instantly. Reposition components freely with drag-and-drop mechanics and save coordinate overrides directly.
Clean design syntax, responsive UI components, and state-of-the-art layout engines packed into a browser-based workflow.
Define components, structures, and relationships using a clean, readable DSL. Watch it compile instantly entirely client-side.
Arrange components freely by dragging them on the grid. Position coordinates automatically round and write back to your DSL code in real time.
Paste and translate standard PlantUML sequence, activity, or class diagrams into DrakoFlow DSL instantly with case-insensitive component matching.
Export your diagram as a standalone, single-file HTML player equipped with interactive zooming, a navigation minimap, tag-based filtering, and a DSL code viewer.
Hovering over components on the canvas instantly highlights their corresponding declaration lines in the editor gutter for seamless navigation.
Share diagrams instantly without databases or user accounts. The entire diagram state is compressed and embedded directly within the share link.
Group system microservices and structural boundaries visually using standard UML Package directories or VerticalContainers.
Keep track of complex diagrams and coordinate spaces at a glance using a toggleable navigation minimap panel.
Enforce clean layout alignment and pixel-perfect rendering by locking element positions to grid cells with customizable sizing.
Embed Bar, Line, Pie, and 3D Donut charts directly in diagrams with dynamic tooltips, animated slice detachment, percentage toggles, and theme synchronization.
Brainstorm, organize thoughts, and structure roadmaps using @layout: mindmap. Automatically calculates balanced hierarchical tree layouts linked by smooth cubic Bézier curves.
Pluggable rendering architecture featuring specialized Git Flow branch lanes, smooth quadratic Bézier merge curves, slanted commit hash badges, and custom flow orientations.
Edit .drako DSL files seamlessly in your favorite editor with live split-view diagram previews.
Live split-view preview, syntax highlighting, and auto-sync inside Visual Studio Code.
.drako
filescode --install-extension drakoflow-vscode-1.0.0.vsix
Native split-view diagram engine for JetBrains IDEs (IntelliJ, WebStorm, PyCharm, CLion, PhpStorm).
Settings -> Plugins -> ⚙️ -> Install Plugin from Disk...
Silent browser extension that transforms ```drako markdown blocks into live interactive HTML
diagram players across web pages.
chrome://extensions -> Developer Mode -> Load unpacked
Master the syntax in minutes. Learn the core component declarations and structure relationships.
The standard rectangular box, supporting corner rounding overrides and local inline theme customizations.
label: display title of the noderx / ry: corner rounding valuesthemeOverride: fill, border, text colorsDatabase: Rectangle {
label: "User Store"
rx: 8
ry: 8
themeOverride: {
backgroundColor: "#1e1e2e"
borderColor: "#cdd6f4"
textColor: "#f5e0dc"
}
}
Renders a UML folder-style boundary tab containing other components. Extremely useful for microservices domain scoping and module boundaries.
MyPackage: Package {
label: "billing.domain"
gap: 12
padding: 16
BillingService: UMLComponent {
label: "BillingService"
}
LedgerDB: Cylinder {
label: "Ledger DB"
}
}
Embed rich data visualizations seamlessly into architecture and system workflows. Supports 3D extrusion, donut holes, animated hover slice detachment, interactive legends, and dynamic light/dark theme adaptation.
Pie { items: [...] is3D: true }Chart { Bar { ... } Line { ... } }showLegend, showPercentage, donut, depthRevenueShare: Pie {
title: "Revenue by Channel"
width: 550
height: 320
is3D: true
showLegend: true
showPercentage: true
items: [
{ label: "SaaS Subscriptions", value: 58, color: "#3b82f6" }
{ label: "Enterprise Licenses", value: 27, color: "#10b981" }
{ label: "Cloud Services", value: 15, color: "#f59e0b" }
]
}
Declare clean hierarchical trees and concept maps with @layout: mindmap. The layout engine computes node levels, child subtrees, and renders organic cubic Bézier connector branches automatically.
@layout: mindmap@mindmap: { direction: "radial" } or left/rightProcess, Rectangle, etc.)@layout: mindmap
Core: Process {
label: "App Architecture"
themeOverride: {
backgroundColor: "#3b82f6"
textColor: "#ffffff"
}
}
Frontend: Process { label: "Client Web App" }
API: Process { label: "REST / GraphQL Gateway" }
Worker: Process { label: "Async Task Pipeline" }
Core -> Frontend
Core -> API
Core -> Worker
Categorize components with metadata tags to group them and dynamically filter the preview diagram view.
@tags: ["tag1", "tag2"]@tags: ["frontend", "client"]
WebClient: Process {
label: "Frontend Web Client"
}
@tags: ["backend", "api"]
AuthService: Cube {
label: "Auth Service"
}
Define routes linking elements or connecting canvas edges. The engine automatically routes arrows cleanly, avoiding overlaps.
SourceID -> TargetID: "Label"LEFT, RIGHT,
TOP, BOTTOMClient: Process {
label: "Client App"
lifeline: true
}
LEFT -> Client: "External Request"
Client -> Gateway: "Token verification"
Gateway -> RIGHT: "Log response"
Generate Git branching and merging flows with horizontal branch tracks, curved forks/merges, slanted commit hash badges, and release tags — combined seamlessly with Text, Cards, Containers, and architecture shapes.
@layout: git-flowBranch, Commit, plus any
Text, VerticalContainer, or Shapesnormal, merge,
highlight, reverse@layout: git-flow
Title: Text { label: "Release Pipeline"; x: 40; y: 15 }
Main: Branch {
label: "main"
c0: Commit { hash: "0-init" }
c2: Commit { type: "merge"; tag: "v1.0" }
}
Develop: Branch {
label: "develop"
c1: Commit { hash: "1-feat" }
}
c0 -> c1
c1 -> c2
c0 -> c2
Notes: VerticalContainer {
label: "Policies"
x: 40; y: 280
Rule: Text { label: "PR required for main" }
}