
The tested setup
- Date
- November 13, 2026
- Repo
- kailashsr38/ascii-magic-art, package 1.1.0, commit b324cb0
- License
- MIT (two photo scenes: Unsplash License)
- Size
- 734 pieces in 24 categories. Zero dependencies, no install scripts
- Tested on
- Windows, headless Chrome, Node
- Stars when tested
- 428. Created October 19, 2026
What it is
Each piece is a small animation drawn with text characters, with a color layer. The categories run from scenes and UI to charts, 3D shapes, loaders, games and lettering. There are three ways in:
npx ascii-magic-artbrowses the pieces in the terminal.<ascii-art piece="campfire">drops a piece into a web page as a web component.- Import a piece as an ES module. Its
create()gives you adraw(t)that returns a text frame with a color layer, so you can paint it anywhere.
lib/kit.js is a small drawing kit: a grid, shading ramps, noise, palettes and 3D helpers. Ten looks (dots, binary, dither, blocks and more) redraw any piece in a different style.

Results
| Check | Result |
|---|---|
| Built-in validator | 733 of 734 pieces pass. sphere-cube-morph failed only the speed limit: 20.8 ms a frame against a limit of 12. |
| Self-hosted test page | Six pieces at once plus the looks. 0 requests to outside sites. No errors. |
| Off screen | Pieces play only while on screen. Verified frozen when scrolled away. |
| Reduced motion | Shows a still frame when the visitor prefers reduced motion. Verified. |
| Narrow screen | No sideways scroll at 482 px, the narrowest width headless Chrome allows. A real phone is untested. |
| Speed in Node | spinning-torus renders in under 1 ms a frame. |
| Our own game on the kit | A playable lantern room in about 80 lines. A scripted walk found the key, opened the door and won. |
We built a room on it
To see whether the kit holds up as a game base, we made a small room. You move with the arrow keys. A lantern flickers, and its light comes from the kit's own noise function. There is a key, a locked door and treasure behind it. A scripted walk picked up the key, opened the door and reached the treasure.



The self-host catch
The catch: the command-line tool has a copy-a-prompt feature. The prompt it copies tells your AI to load the script from ascii-magic.com. That means your game depends on someone else's server.
Instead, install the package and pin the version. Then serve runtime/, lib/ and only the pieces you use from your own site. That is how we ran the test page, and it made 0 requests to outside sites.
The other limits
- Art library, not an engine
- Input, collision and game state are yours. The room above is about 80 lines of our own code on top of the kit.
- Famous-game lookalikes
- A few pieces imitate famous games closely. Leave those out of anything you publish.
- Two photo scenes are not MIT
- ocean-sunset and starry-ridge use the Unsplash License. Keep the MIT notice for the rest, and check that license before you ship those two.
- Screen readers
- Pieces draw on a canvas, so a screen reader gets the piece name as a label, not the art. If the art carries meaning, say it in text beside it.
- Not tested
- Godot, a real phone, and any piece beyond the validator and the six we ran.
ASCII Magic Art on GitHub Browse the pieces The ASCII department