How it works
Draw on the grid
Place boxes, text, and arrows on an infinite character canvas. Pan, resize, and keep the layout aligned to real grid cells.
Connect and refine
Snap arrows to objects, add waypoints, choose routing modes, adjust text alignment, and group related objects together.
Save or copy output
Keep a structured .asciid file as the source of truth, or copy the rendered ASCII straight to your clipboard for docs and PRs.
Why ASCII Diagram
File-first by design
The .asciid file is the diagram. The app is just a fast editor and renderer for something you already own.
Structured, not screenshot-only
Boxes, text, arrows, groups, and relations are stored as real data. Git diffs stay meaningful instead of opaque.
Infinite character canvas
No fixed page size. Objects live at arbitrary grid coordinates, so diagrams can start tiny and grow without migration.
Snapping and routed arrows
Attach arrow endpoints to boxes or text blocks, keep them connected while moving objects, and choose direct or orthogonal flows.
Keyboard-friendly workflow
Quick tool switching, undo/redo, grouping, copy/paste, and delete make the editor usable without constant mode hunting.
Local-first web app
Open and save files directly in the browser where supported, keep recent state locally, and install the app as a PWA.
file > app
The source of a diagram should outlast the tool that drew it. That is why ASCII Diagram keeps a real file as the canonical document and treats the app as a layer on top, not a locked container around your work.
Build visually. Review in Git. Copy plain ASCII into docs, issues, and READMEs. Leave whenever you want.