ASCII paint
A tiny paint program for text art. Draw on a monospace grid with a pen, straight lines, rectangles and typed text, then drop the result into your Markdown. The picture is the text, so what you save is plain ASCII inside a fenced block that any editor can read.
How the tools work
Pick a tool in the Tools panel; its options appear in the Properties panel. Everything you draw lands on a fixed grid of character cells, and the saved block is exactly the characters on that grid. There is no special syntax to learn: the drawing you make is the text you get.
The tools
| Tool | What it does |
|---|---|
| Pen | Paints the chosen character under the pointer. Drag to paint a continuous stroke. Set the Radius and Shape for a wider brush. |
| Line | Drag from one cell to another to lay a straight line of the pen character. A live preview follows the pointer until you let go. |
| Rectangle | Drag out a box. The four edges are drawn with box-drawing characters (┌ ┐ └ ┘ ─ │) or the pen character, whichever you choose in Properties. |
| Eraser | Clears cells back to blank, in the chosen Radius and Shape. Drag to erase a stroke. |
| Text | Click a cell to drop a blinking cursor, then type. Backspace deletes, the arrow keys move the cursor, and Enter jumps to the start of the next row. |
| Pan | Drag to move the canvas around. The middle mouse button pans with any tool, and the wheel always zooms. |
Brush radius and shape
The Pen and Eraser take a Radius and a Shape. A radius of zero touches a single cell. A larger radius paints every cell within that distance of the target: Square uses the Chebyshev distance, so the brush is a filled square; Circle uses the straight-line distance, so it is a filled disc.
The grid size
The Columns and Rows fields in Properties resize the grid. Growing the grid adds blank cells; shrinking it crops from the right and bottom, keeping the top-left content.
Pan and zoom
The canvas zooms and pans just like the other diagram editors. The mouse wheel zooms toward the pointer at any time. To move the canvas, choose the Pan tool and drag, or hold the middle mouse button and drag with any tool. Because every tool maps the pointer through the current zoom and pan, drawing stays aligned to the grid at any scale.
What gets saved
The saved block is plain ASCII: one line per grid row, trailing spaces trimmed and trailing blank rows dropped. That means the fenced block below is both the picture and the source — you can hand-edit it as text and reopen it here to keep painting.
+-------+
| hello |
+-------+
|
v
.-----.
( ok )
'-----'
Boxes and arrows
Rectangles drawn with the box-drawing option join cleanly at the corners, and a pen set to |, -, > or v makes quick connectors between them.
┌──────┐ ┌──────┐
│ read │──▶│ parse│
└──────┘ └──────┘
│
▼
┌──────┐
│ draw │
└──────┘
Free-form art
Because every character is a pixel, you can paint anything a monospace font can show.
/\_/\
( o.o )
> ^ <
~~~~~~~