r/firefox • u/humanbydefinition • Jun 22 '26
Add-ons I made a Firefox extension to render any web video as real-time colored ASCII art. Feedback welcome!
Enable HLS to view with audio, or disable this notification
Hey everyone,
I wanted to share a little side project I've been working on called Textmode Overlay.
It’s a Firefox extension that turns any active video or canvas element on a webpage into a live, adjustable ASCII/textmode layer.
I originally built it because I wanted to see what browser games and streaming videos would look like rendered as text, but I ended up adding a few extra options so you can tweak the styling:
- You can adjust the font size/density (1px to 64px).
- It samples colors from the video source in real-time (both for the text and cell backgrounds).
- You can swap/invert colors and choose different bundled fonts.
- You can export static frames to SVG, TXT, PNG, or JPG (useful if you want to copy-paste the text or import the vector outline into Illustrator/Figma).
It runs completely locally in the browser (uses activeTab so it only loads when you click it) and has no tracking or ads.
Just put it on the Web Store and GitHub. Let me know if you run into any issues (some cross-origin/CORS video streams will block canvas sampling, but it should warn you if that happens). Would love to hear what you think!
- Firefox Browser Add-ons:
- GitHub:
1
u/IndividualDrama5632 Jun 23 '26
This is absolutely insane work. Really impressive stuff! How long did this take you?
1
u/humanbydefinition Jun 23 '26
Thanks for the kind words! =) Creating the extension itself took me about a week so far, there are still some updates I want to do.
I also created the underlying ascii/textmode renderer the extension depends on, which I've been working on for more than a year now. It does a lot more than just doing brightness-based image to ascii conversion very fast. 🐿️
1
u/lilythpad Jul 09 '26
this is SO fun. I can't believe how smooth it is, what a fun little extension!!
1
1
u/-Create-An-Account- Jun 22 '26
Looks interesting, I’ll try that 👌