I have open sourced a WebGL front-end for your terminal that emulates a CRT monitor
I'm thrilled to announce that I've open sourced cool-retro-term-webgl, a modern WebGL-based recreation of the beloved cool-retro-term terminal emulator!
For years, developers and retro computing enthusiasts have loved cool-retro-term by Filippo Scognamiglio (Swordfish90) — a Qt-based terminal that perfectly mimics the look and feel of old cathode ray tube (CRT) monitors, complete with scanlines, glow, and that nostalgic flicker.
Inspired by its cyberpunk aesthetic (think Fallout or Alien), I wanted to bring those authentic retro effects to the web and modern applications. The original is built in QML and C++, so I set out to port the shader magic to WebGL, making it usable in browsers, web apps, and even native desktop apps via Electron.
The result? A lightweight, high-performance CRT renderer that integrates seamlessly with XTerm.js.
Key Features
Authentic retro CRT effects powered by WebGL:
- Screen curvature and distortion
- Phosphor glow and bloom
- Scanlines and rasterization
- RGB chromatic aberration
- Flicker, static noise, and burn-in persistence
- Horizontal sync jitter
Two packages in a monorepo:
cool-retro-term-renderer: The core library for adding CRT effects to any XTerm.js instance.cool-retro-term-electron: A full-featured desktop terminal app built with Electron, supporting real shell processes via node-pty.
Here's a glimpse of the retro magic in action:

Live demo https://remojansen.github.io/
Try the Desktop App
The project is licensed under GPL-3.0, just like the original.
Check out the repo: https://github.com/remojansen/cool-retro-term-webgl
Thanks to Swordfish90 for the original inspiration.
CEO & Founder @WolkSoftware | EP @JSConfIE | Former Microsoft MVP | Author of @inversify
Loading discussion...
Hey! 👋
Got something to say?
or to leave a comment.