← Gallery № 65 · canvas-2d

Vintage Static

Retro TV color bars melting with VHS glitches and CRT scan lines.

What is Vintage Static?

Vintage Static is a free Canvas 2D web effect in the TappyPrism library. Retro TV color bars melting with VHS glitches and CRT scan lines. It is drawn with the Canvas 2D API, which trades some GPU efficiency for the widest possible browser and device support. It ships as a single self-contained HTML file (vintage-static.html) with zero dependencies — no npm package, no framework, no build step. It exposes 2 live parameters — Glitch Intensity, Melt Speed — adjustable in the browser or at runtime.

Parameters

ParameterKeyRangeDefault
Glitch IntensityGLITCH_INTENSITY0.1 – 10.5
Melt SpeedMELT_SPEED0.1 – 1.50.5

How to add Vintage Static to your page

  1. Download the standalone file vintage-static.html and copy its source into your project.
  2. Or embed it as a background iframe:
    <iframe src="https://prism.tappypotato.com/fx/vintage-static.html" style="position:fixed;inset:0;width:100%;height:100%;border:0;z-index:-1" title="Vintage Static"></iframe>
  3. Tune it at runtime with postMessage:
    iframe.contentWindow.postMessage({ type: 'param', name: 'GLITCH_INTENSITY', value: 0.5 }, '*');

Frequently asked questions

What is Vintage Static?

Vintage Static is a free Canvas 2D web effect in the TappyPrism library. Retro TV color bars melting with VHS glitches and CRT scan lines. It is drawn with the Canvas 2D API, which trades some GPU efficiency for the widest possible browser and device support. It ships as a single self-contained HTML file (vintage-static.html) with zero dependencies — no npm package, no framework, no build step. It exposes 2 live parameters — Glitch Intensity, Melt Speed — adjustable in the browser or at runtime.

How do I add Vintage Static to my website?

Download the standalone file at https://prism.tappypotato.com/fx/vintage-static.html and copy its source into your page, or embed it as a background iframe: <iframe src="https://prism.tappypotato.com/fx/vintage-static.html" style="position:fixed;inset:0;width:100%;height:100%;border:0;z-index:-1" title="Vintage Static"></iframe>. Tune it live with postMessage, e.g. iframe.contentWindow.postMessage({ type: 'param', name: 'GLITCH_INTENSITY', value: 0.5 }, '*').