No signal

See yourself in 8bit retro style

It uses your webcam and the actual color palettes of the good ol' C64, ZX Spectrum and NES to pixelate the video stream.

Play with it

You can switch to a different palette using the dashboard in the top-left corner. Click it or just press ESC to open it. You can also tune the picture by adusting the weights of the individual colors. Lastly, making a snapshot is as easy as clicking the button underneath the picture.

How it works

Using the GetUserMedia API (part of WebRTC) a video stream is connected to a hidden video element. Several times a second, a frame in the video feed is then captured by copying it to a hidden canvas element and then retrieving its pixel data (an ImageData object). Next, the pixels are processed in 4x4 blocks at a time. The color of the top-left pixel of the block is matched against the current palette. The closest color determines the color of the whole block.


To be retrofied you need a modern browser that supports webcam access through javascript (GetUserMedia API). Chrome and Opera should work fine. Firefox users should enable the flag media.navigator.enabled in about:config.

See for yourself which browsers currently support this.
by Remco Veldkamp / @remcoder
blog the lab github