Version 3.02 — © 1997-2001 Christian Cohnen
The PixelDust effect scans a GIF image and blows its pixels onto the screen as a stream of particles.
Each particle flies in from the left at an individual speed until it reaches its final position, gradually assembling the complete image.
The pixel order is randomized before each cycle via a configurable distortion pass, creating a different reveal pattern every time.
After the image is fully assembled, the effect waits and then restarts the animation (or stops after a single pass if wait is set to -1).
Pixel-blitting effects like this were popular in the Atari ST, Amiga and PC demoscene, where indexed-color image data and tight inner loops made it possible to animate thousands of particles in real time on 68000 and early x86 hardware.
Originally a Java applet (1997-2001). The original Java applet code was transpiled to JavaScript/Canvas in 2026 so the effect can run in modern browsers without a Java plugin. The JavaScript version uses true color (24-bit RGB) and detects the background color automatically from the top-left pixel of the image.
direction)wait=-1)requestAnimationFrame| Name | Type | Description | Default |
|---|---|---|---|
logo | string | ID of hidden <img> element | "img1" |
particles | int | Number of particles animated simultaneously | 400 |
rangemin | int | Minimum randomization range for pixel order | 10 |
rangemax | int | Maximum randomization range (higher = more shuffled) | rangemin+1 |
distort | int | Number of swap operations to randomize pixel order | 1000 |
wait | int | Frames to wait after complete before restart (-1 = single shot) | 100 |
bgcolor | CSS color | Canvas background color | "white" |
direction | string | Particle direction: "left", "right" or "both" | "left" |
speed | int | Speed multiplier for particles (2 = double speed) | 1 |
<canvas id="game" width="160" height="300"></canvas>
<img id="img1" src="image/novaflux_can.png" style="display:none">
<script src="pixeldust.min.js"></script>
Originally a Java applet (1997-2001). The original Java applet code was transpiled
to JavaScript/Canvas in 2026 so the effect can run in modern browsers without a Java plugin.
The original used Java’s IndexColorModel with a 256-color palette
where color index 0 served as the background.
The JavaScript version uses true color and detects the background from the top-left pixel.