What is Tilde Paint?
Tilde Paint is an ASCII art painting tool with powerful editing capabilities, that runs entirely locally in your browser! It operates on a character grid rather than pixels, making it perfect for creating text-based artwork, and features tools designed specifically for ASCII art, such as circle drawing that can translate real circles to the non-square character grid. It is adapted from JS Paint, a Javascript powered replica of MS Paint from Windows 98, and maintains this themeing.
Features
- Unlimited, nonlinear undo/redo history that can be viewed as a tree structure.
- Accurate geometry thanks to live character measurement, so circles and squares stay true on any font.
- Brush tools, fill tools, freehand tools, lines, curves, shapes and more.
- Foreground/background character palette with quick swapping and keyboard shortcuts.
- Freehand, rectangular, and polygonal selections that preserve transparency when pasted.
- Reference bitmap import so you can trace images while drawing entirely in ASCII.
- Automatic session backup plus manual save/load of canvas, selections, and palettes as text.
- Classic Windows 98 look powered by OS-GUI, now tuned for a pure ASCII workflow.
Why is it called Tilde Paint?
When I first started working on this project, I called it 'ASCII Paint 98', since it has a
UI styled like Windows 98 Paint. But that felt a bit clunky and long. Amongst my excessive
research of character encodings, and what the hell Extended ASCII even means (spoiler:
nobody knows, it can be any one of about 17 different proprietary extensions to ASCII),
I discovered that thanks to the mutiplicative nature of SEO AI garbage lying to you about
things it does not understand, and the fact that names of character sets have commonly been
used to describe multiple different character pages with partially overlapping definitions,
you can basically claim that any code in the 128-255 range is any symbol you like. I noticed
that while U+0098 is a non printable control character for start of string, some websites
claim it should be printed as a 'ÿ' (actually U+00FF), a small tilde '˜' (actually U+02DC),
or even a standard tilde '~' (actually U+007E, within standard ASCII which typically
has no confusion!). Given that 0x0098 (hex) is nowhere near 98 (decimal), I decided that I
was extremely happy with how I had related Windows 98 styling to the tilde character, in
a way that made absolutely no sense whatsoever. So I decided to call it Tilde Paint.
Okay, it slightly makes sense, because the tilde character is in the standard ASCII range,
so it can be used in any ASCII art, and it commonly is. But otherwise, I insist it makes
no sense at all. :))
File Format
Tilde Paint saves artwork as plain text files (`.txt`), making your ASCII art easy to share, edit in any text editor, and view on any system. They default to UTF-8 encoding, but UTF-8 is backward compatible with ASCII as long as you only use ASCII characters.