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.
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.

Top comments (0)