Excalidraw Diagram Generator
Generate hand-drawn style diagrams, flowcharts, and architecture diagrams as PNG images from Excalidraw JSON
Generate hand-drawn style diagrams, flowcharts, and architecture diagrams as PNG images from Excalidraw JSON
Real data. Real impact.
Emerging
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
Generate beautiful hand-drawn style diagrams rendered as PNG images.
/tmp/<name>.excalidrawnode <skill_dir>/scripts/render.js /tmp/<name>.excalidraw /tmp/<name>.pngfilePathnode <skill_dir>/scripts/render.js input.excalidraw output.png
| Type | Shape | Key Props |
|---|---|---|
| Box | x, y, width, height |
| Oval | x, y, width, height |
| Decision | x, y, width, height |
| Arrow | connects shapes (see Arrow Binding below) |
| Line | x, y, points: [[0,0],[dx,dy]] |
| Label | x, y, text, fontSize, fontFamily (1=hand, 2=sans, 3=code) |
{ "strokeColor": "#1e1e1e", "backgroundColor": "#a5d8ff", "fillStyle": "hachure", "strokeWidth": 2, "roughness": 1, "strokeStyle": "solid" }
fillStyle:
hachure (diagonal lines), cross-hatch, solid
roughness: 0=clean, 1=hand-drawn (default), 2=very sketchy
Always use
/from
bindings for arrows. The renderer auto-calculates edge intersection points — no manual coordinate math needed.to
{"type":"arrow","id":"a1","from":"box1","to":"box2","strokeColor":"#1e1e1e","strokeWidth":2,"roughness":1}
That's it. No x, y, or points needed. The renderer computes start/end at shape edges.
For arrows that need to go around obstacles, use
absolutePoints with intermediate waypoints:
{ "type":"arrow","id":"a2","from":"box3","to":"box1", "absolutePoints": true, "points": [[375,500],[30,500],[30,127],[60,127]], "strokeColor":"#1e1e1e","strokeWidth":2,"roughness":1 }
Place a separate text element near the arrow midpoint:
{"type":"text","id":"label","x":215,"y":98,"width":85,"height":16,"text":"sends data","fontSize":10,"fontFamily":1,"strokeColor":"#868e96"}
"strokeStyle":"dashed" — dashed line"startArrowhead": true — bidirectional arrow{ "type": "excalidraw", "version": 2, "elements": [ {"type":"rectangle","id":"start","x":150,"y":50,"width":180,"height":60,"strokeColor":"#1e1e1e","backgroundColor":"#b2f2bb","fillStyle":"hachure","strokeWidth":2,"roughness":1}, {"type":"text","id":"t1","x":200,"y":65,"width":80,"height":30,"text":"Start","fontSize":20,"fontFamily":1,"strokeColor":"#1e1e1e"},{"type":"arrow","id":"a1","from":"start","to":"decision","strokeColor":"#1e1e1e","strokeWidth":2,"roughness":1}, {"type":"diamond","id":"decision","x":140,"y":170,"width":200,"height":120,"strokeColor":"#1e1e1e","backgroundColor":"#ffec99","fillStyle":"hachure","strokeWidth":2,"roughness":1}, {"type":"text","id":"t2","x":185,"y":215,"width":110,"height":30,"text":"Condition?","fontSize":18,"fontFamily":1,"strokeColor":"#1e1e1e","textAlign":"center"}, {"type":"arrow","id":"a2","from":"decision","to":"process","strokeColor":"#1e1e1e","strokeWidth":2,"roughness":1}, {"type":"rectangle","id":"process","x":150,"y":350,"width":180,"height":60,"strokeColor":"#1e1e1e","backgroundColor":"#a5d8ff","fillStyle":"hachure","strokeWidth":2,"roughness":1}, {"type":"text","id":"t3","x":190,"y":365,"width":100,"height":30,"text":"Process","fontSize":20,"fontFamily":1,"strokeColor":"#1e1e1e"}] }
Fills:
#a5d8ff (blue), #b2f2bb (green), #ffec99 (yellow), #ffc9c9 (red), #d0bfff (purple), #f3d9fa (pink), #fff4e6 (cream)
Strokes: #1e1e1e (dark), #1971c2 (blue), #2f9e44 (green), #e8590c (orange), #862e9c (purple)
Labels: #868e96 (gray, for annotations)
id (required for binding!)from/to on arrows — don't calculate coordinates manuallyroughness:0 for clean diagrams, 1 for sketchy feelfontFamily:1 for hand-drawn, 3 for codeNo automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.