Skip to main content
file-first diagram editor

ASCII DIAGRAM

Your diagrams. Your files. Your grid.

A local-first diagram editor for boxes, text, and arrows on an infinite character grid. Save structured .asciid files, keep them in Git, and copy rendered ASCII whenever you need it.

This is your diagram source file:
{
"$schema": "asciidiagram/v1",
"version": 1,
"objects": [
{"type": "box", "title": "Client"},
{"type": "arrow"},
{"type": "box", "title": "API"}
]
}
Web App
PWA Install
Local Files
ASCII Export

How it works

1

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.

2

Connect and refine

Snap arrows to objects, add waypoints, choose routing modes, adjust text alignment, and group related objects together.

3

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.