ANSI Art Studio
Edit fixed-width printable ASCII cells with a character, foreground/background color, bold and underline. Import a narrow safe subset of SGR ANSI text, then export ANSI or plain TXT. Unlike a box-and-connector diagram editor, this tool edits the visual properties of each terminal cell.
Key features
- Edit a 1–40 column by 1–20 row fixed-width ASCII grid
- Brush with 16 foreground/background colors, bold and underline
- Import SGR-only ANSI and round-trip color cells
- Export SGR-only .ans or control-free .txt files
- Arrow-key and character editing with mobile horizontal scroll
How to use
- Load the sample or clear and size the grid.
- Choose a character, colors, bold and underline for the brush.
- Click cells or move and type with the keyboard.
- Optionally paste and import supported SGR ANSI text.
- Copy or save .ans and plain .txt outputs, then check colors in your target terminal.
Use cases
- Make a short colored terminal banner
- Edit color cells from an ANSI file limited to supported SGR
- Prepare a fixed-width TXT alternative without color controls
Frequently asked questions
Which ANSI codes are supported?
Only ESC [ ... m SGR for reset, bold and underline on/off, default-color restore, and 16 foreground/background colors. 256-color and truecolor extensions, cursor movement, screen clearing, OSC, DCS and C1 controls are rejected.
Why are cell characters ASCII-only?
One printable ASCII character per cell keeps terminal width predictable. Korean text, emoji, tabs and line breaks are not accepted inside a cell.
How do TXT and ANSI files differ?
TXT has only the same fixed-width characters and LF line breaks. ANSI .ans adds supported SGR color/style and a reset at each row end; it never emits cursor commands or OSC links.
Will preview colors match every terminal?
No. RGB values for 16 palette slots, default foreground/background and bold rendering vary with terminal themes. Preview colors are approximations.
Will pasted ANSI be executed?
No. A maximum 32 KiB string is parsed into cell data only if it contains supported SGR, printable ASCII and LF. Any other control aborts import.
Privacy
Editing and ANSI parsing happen in your browser. Nothing is uploaded or executed in a terminal. Control strings are rendered as static cells only.
Comments & questions