Try the demo — no account needed

Signs you in as a read-only demo user. Your changes reset every night at 03:00 Madrid — draw freely.

Read the wiki · Language spec
Demo video coming soon
DrawLang spec v0.7 · open source

A small language for control-system drawings.

Every DCS drawing system has the same shape underneath: a compact list of pen instructions in a database, and a renderer that turns those instructions into paper. The database is the source of truth. The rendered page is disposable. DrawLang is that language, made explicit — small, frozen, and human-readable.

The language

7 core opcodes, frozen forever, plus 4 additive extensions. Two-letter mnemonics, comma-separated args, semicolon-terminated. A whole drawing is a flat text program. No hidden primitives, no vendor extensions.

The editor

Open-source web editor for A3 FUP frames with 28×14-cell grid coordinates. Drop pre-built symbols, save your own library, edit statement-by-statement, or type plain English (“move right 20”, “line down 30”).

The idea

Drawings you make are plain-text programs you can commit to git, diff, template, and round-trip through any compliant interpreter forever. No cloud lock-in. No vendor account. SQLite behind a public API.

# draw a labeled 14×1 line — this is a valid DrawLang program
mr,0,158;
dl,14,0;
mr,0,-1;
dl,-14,0;
tz,8;
tx,0.,A1;

The 11 opcodes

mrmove relative
mamove absolute
dldraw line
rtrectangle
cicircle
tztext size
txtext
ararc
bzBézier curve
spspline
imimage reference

Sign in

Access your DrawLang editor account.

Try the demo: username demo, password demo. Resets every night — draw freely.
No account? Request access