A developer who goes by YusufB5 released ASCILINE, an engine that plays real video at 30 frames per second with no <video> element. Every frame is colored text characters painted onto an HTML canvas, the surface browsers use for games and charts. A Python server reads the video, maps each pixel to a character, and streams it as compact binary over a WebSocket, a live two-way link between server and browser. The plain setting renders green-on-black ASCII art; the top “pixel” mode swaps characters for small colored blocks and reaches roughly 360p, which Tom’s Hardware called “indistinguishable from the source MP4” in its demo clip.
Running ASCILINE is cheap. The server sends only characters, and only the ones that change between frames, so a stream can fall to a few kilobytes per frame with no GPU on the receiving end. That puts smooth video on devices that normally choke on it: microcontrollers, retro terminals, and phones on bad networks. Because the picture is really text, you can also restyle it live with CSS, adding glows a video file can’t carry.
The author pitches ASCILINE as “unblockable,” since to the browser it is just a script updating a canvas, and added a license clause banning ads.
Sources:
- ASCILINE on GitHub
- Tom’s Hardware: Dev releases ‘unblockable’ ASCII video stream software
- ASCILINE LICENSE with the anti-advertisement clause
- Hacker News discussion of ASCILINE
- The developer’s announcement on Reddit
Disclaimer: For information only. Accuracy or completeness not guaranteed. Illegal use prohibited. Not professional advice or solicitation. Read more: /terms-of-service
Reuse
Citation
@misc{kabui2026,
author = {{Kabui, Charles}},
title = {ASCILINE: {A} 360p {Video} {Stream} {That} {Is} {Secretly}
{Just} {Colored} {Text}},
date = {2026-06-30},
url = {https://toknow.ai/posts/asciline-ascii-video-stream-pure-text/},
langid = {en-GB}
}
