Encode any file into an animated image. Optionally encrypt it first.
AES-256-GCMReed-Solomon ECC100% client-sideno upload, no tracking
📄
Drop a file here, or click to browse
Recommended max ≈ 80 KB for fast GIF output
✓
Optional — leave empty for no encryption. AES-256-GCM via PBKDF2 (150 000 iterations)
Processing…0%
—
Frames
—
Encoded bytes
—
Cells/frame
🎞️
Drop your .gif here, or click to browse
✓
Decoding…0%
How decoding works: The GIF is parsed frame-by-frame in your browser,
pixels are decoded back to bytes via color + symbol detection,
Reed-Solomon error correction is applied per block. If the data was encrypted,
AES-256-GCM decryption restores the original file. Nothing leaves your device.
CimBar (Color Icon Matrix Barcode) encodes binary data into a grid
of colored geometric symbols. This tool uses a simplified variant:
each cell encodes 7 bits —
3 bits for color (8 colors) and 4 bits for symbol shape (16 icons).
Before encoding, your file is encrypted with
AES-256-GCM,
and each frame's data is protected by
Reed-Solomon error correction
(32 ECC bytes per 255-byte block, correcting up to 16 byte errors per block).
01
Encrypt
AES-256-GCM via WebCrypto. PBKDF2 key derivation, 150k iterations, random salt + IV per file.
02
ECC
Reed-Solomon RS(255, 223) applied to each 255-byte block. Corrects up to 16 byte errors per block.
03
Map
ECC'd bytes mapped to cells: 3 bits → color (8), 4 bits → symbol (16) = 7 bits per cell.
04
Animate
Frames rendered to Canvas and compiled into GIF89a using a built-in pure-JS LZW encoder.
05
Transmit
Share the GIF publicly. Without the passphrase the data is fully opaque.
06
Private
100% client-side. All crypto and encoding runs in your browser. No server, no storage, no analytics.
Capacity example (256×256 frame):
32×32 cells = 1 024 cells. Minus 18 finder cells = 1 006 usable.
1 006 × 7 bits = 7 042 bits = 880 raw bytes.
After RS(255,223): ~770 data bytes per frame.
A 50 KB file needs ≈ 67 frames.
GIF palette limitation: GIF supports only 256 colors per frame.
The palette is tuned for CimBar's 8 base colors and their variants,
so color fidelity is good but not pixel-perfect.
Reed-Solomon corrects the resulting quantization errors during decode.