The Latest AIs, every day
AIs with the most favorites on Toolify
AIs with the highest website traffic (monthly visits)
AI Tools by Apps
Discover the Discord of AI
AI Tools by browser extensions
GPTs from GPT Store
Discover The Best Model For AI
Top AI lists by month and monthly visits.
Top AI lists by category and monthly visits.
Top AI lists by region and monthly visits.
Top AI lists by source and monthly visits.
Top AI lists by revenue and real traffic.
A 28M-parameter network that turns any image into ASCII art that people can recognize, at any width from a 16-column thumbnail to a full terminal. One forward pass: 13 ms per image at 32 columns and 24 ms at 80 on an RTX 5080, 0.3 GB of VRAM. Trained from scratch (random initialization) in PyTorch.
Code, CLI and training scripts: github.com/SamuelReeder/text-to-ascii-ai
Left to right: original ·
ascii-image-converter
· the hand-built pipeline (AsciiNet's
teacher) ·
AsciiNet at 80 columns
·
AsciiNet at 32 columns
. Held-out images.
$ python ascii.py -p "a steaming cup of coffee" -w 64
_
_|
_/)\,
`) |^_
||/ ^,^,
\|\ ^\|\
\|\ \/
`,\ /
|`
_.><^^^`````` ````^^>><._
/``<_.><^^^^`````^^^^>><._`,\;
|><|<<.,____@@@@@____,,.><><^|_.<>><_
|||||``^^^^>>>>>><^^^^``|||||@@_><<_|\
|||||||||:::::::::::::::::|||@,` ^@|/
|||||||:::::::::::::::::::::@@` @|\
^||||||::::::::::::::::::::\@/ _'@/
\|||||::::::::::::::::::::@|__,>^`_/
,|||||::::::::::::::::::|@@@@_.<^
_.>^^` \||||||::::::::::::::|@_><^` _
/` \_||||::::::::::::||_/ `^<
_ |@|||||:::::||||@@/` |
`<>._ ``^<_@>@@,|_|,,@@_>^ ,</`
`^<`^>><.,,__`^^^>>>><<^^ __,,.>>_^><`
`^><.,___```````````___,.><^`
````^^^^````
Prompt mode: SANA-Sprint 0.6B draws the picture, AsciiNet converts it.
git clone https://github.com/SamuelReeder/text-to-ascii-ai && cd text-to-ascii-ai
./setup.sh && conda activate ascii
python ascii.py photo.jpg -w 80 # downloads these weights on first use
python ascii.py photo.jpg -w 32 --color
python ascii.py -p "a lighthouse on a cliff"
from asciiart.neural import NeuralConverter
from asciiart.pipeline import Options
net = NeuralConverter() # fetches SamuelReeder/asciinet, then cached
print(net.text("photo.jpg", Options(cols=40)))
Files:
model.safetensors
(EMA weights, fp32) and
config.json
(the 26-character set, in the
order of the output logits). The architecture is
asciiart/model.py
; preprocessing is in
asciiart/neural.py
.
context image (~384 px) ─► ConvNeXt stages ─► 6 transformer blocks ─► FPN ─► subject map (aux)
└─► context features ─┐
grid image (8×16 px per cell) ─► conv stages ─► per-cell features ─────────────────────────────┤
exact cell pixels ─────────────────────────────────────────────────► per-cell features ────────┤
options (dark/light background, invert, focus) ───────────────────► embedding ────────────────┤
▼
6 ConvNeXt blocks on the character grid ─► 26 glyph logits per cell
AsciiNet is distilled from a hand-built pipeline (BiRefNet subject matte → tone mapping → glyph matching with stroke characters), which is slow (~110 ms, 1.6 GB) but legible. Losses: cross-entropy on the teacher's glyph per cell, BCE (+ soft Dice in phase 2) on BiRefNet's subject matte, L1 on the teacher's ink per cell.
Qwen3-VL-8B reads the rendered ASCII and answers 5-way multiple choice (which class, scene, dish, breed or caption does it show?) over 8 held-out sources, 480 questions per row. Chance = 0.20; the original photos score 0.99. Means are good to about ±0.02.
| method | 24 cols | 32 cols | 80 cols |
|---|---|---|---|
ascii-image-converter
|
0.19 | 0.19 | 0.19 |
| hand-built pipeline (teacher) | 0.24 | 0.26 | 0.35 |
| AsciiNet | 0.23 | 0.24 | 0.33 |
On pictures with one clear subject (90 SANA-Sprint prompts, which of 5 prompts does the ASCII show?), AsciiNet scores 0.81 at 80 columns, 0.76 at 40 and 0.61 at 32.
The weights are released under GPL-3.0, like the code. The training images come from public datasets under their own licenses, and some of those (for example ImageNet, CelebA and FFHQ) permit research or non-commercial use only. Check them before commercial use. No training images are redistributed here.
asciinet huggingface.co is an AI model on huggingface.co that provides asciinet's model effect (), which can be used instantly with this SamuelReeder asciinet model. huggingface.co supports a free trial of the asciinet model, and also provides paid use of the asciinet. Support call asciinet model through api, including Node.js, Python, http.
asciinet huggingface.co is an online trial and call api platform, which integrates asciinet's modeling effects, including api services, and provides a free online trial of asciinet, you can try asciinet online for free by clicking the link below.
asciinet is an open source model from GitHub that offers a free installation service, and any user can find asciinet on GitHub to install. At the same time, huggingface.co provides the effect of asciinet install, users can directly use asciinet installed effect in huggingface.co for debugging and trial. It also supports api for free installation.

