ascdraw: Editor for ASCII/UTF-8 diagrams (in 144FPS)
I value ascdraw at $9.99 or €9.99 for a personal license . It is GPLv3 software, so payment is entirely optional. If it is useful to you, please fund its development .
Native, keyboard-first diagramming for people who think in text.
ascdraw is an effectively infinite Unicode canvas for connected lines, symbols, shapes, text, rectangular editing, layers, and TXT/JSON/PNG export. It is usable today, but its interfaces and document format are still evolving. The canvas renders at 120+ FPS, which matters more than you might think in a keyboard-first editor.
Download a current nightly from GitHub Releases , or build it yourself with the Rust toolchain managed by mise :
cargo build --release --locked ./target/release/ascdraw Install from a checkout instead:
cargo install --path . --locked Use it ascdraw opens in Stamp mode. Numbered menus show their own keys; this table covers the less obvious shortcuts. Directions are arrow keys or h , j , k , l .
In Line mode, Space starts a routed preview; move to route, Space commits an anchor, and Space again finishes. Backspace removes the last anchor and Escape cancels the live segment.
Modifier order matters. The first chooses the action; the second changes its distance:
Scroll or two-finger drag to pan. Pinch or Ctrl/Cmd + scroll to zoom. Most tools also support clicking and dragging.
Edit a native document in place, with normal autosaving:
ascdraw drawing.json Filter mode reads plain text from stdin, opens it for interactive editing, then prints the result to stdout once the window closes. It does not touch the scratchpad:
ascdraw - < input.txt > output.txt # or printf ' box\n ' | ascdraw - > output.txt This also makes ascdraw usable as an external editor filter:
Bundled defaults are in ascdraw.toml and theme.toml . Put overrides in $XDG_CONFIG_HOME/ascdraw/config.toml , or ~/.config/ascdraw/config.toml . Changes reload while the app is running. Run ascdraw --show-config to see the merged configuration and searched paths.
Only include values you want to override:
font-family = " SF Mono " font-size = 14.0 transparent-menubar = true [ jump ] inactivity-ms = 500 [ keys ] font-scale-up = " Cmd-= " font-scale-down = " Cmd-- " window-new = " Cmd-N " [ theme . default ] fg = " #000000 " bg = " #ffffff " [ theme . cursor-drawing ] fg = " #00008b " Colors use #RRGGBB or #RRGGBBAA . Theme faces and all available settings are listed in the two bundled default files linked above.
cargo fmt --all -- --check cargo test --locked --quiet cargo clippy --all-targets --all-features --locked -- -D warnings OpenAI GPT-5.5 and GPT-5.6 Sol aided development. Mostly.
Copyright (C) 2026 Przemysław Alexander Kamiński vel xlii vel exlee.
ascdraw is released under the GNU General Public License, version 3 or later . Commercial licenses are available where GPL terms are unsuitable; contact alexander@kaminski.se . See NOTICE for details.
Hacker News
news.ycombinator.com