Palette Steganography Hider
Hide text or files inside GIF, indexed PNG, or 8-bit BMP colour palettes using Palette LSB, EZ Stego, Westfeld Parity, or PRNG Index Swap. AES-256, visual palette comparison. 100% client-side.
Before uploading: share the output only as a file attachment (email, Telegram, Discord file). Social image upload or GIF platforms (Giphy/Tenor) re-encode GIFs and destroy hidden data.
Try demo — hide a message instantly
Loads a 256-colour sample GIF — no upload needed
Drop a GIF, indexed PNG, or 8-bit BMP here
RGB PNG and JPEG not supported (no palette)
100% Client-Side Processing
Your image is processed entirely in this browser tab. Nothing is uploaded.
How to Hide Data in a GIF or Indexed Image Palette (5 steps)
- Upload a GIF, indexed PNG, or 8-bit BMP — RGB PNG and JPEG have no palette and aren't supported
- Type your secret message or upload a file to hide
- Choose a method — Westfeld Parity is lowest distortion, EZ Stego is the classic CTF technique
- Add a passphrase for AES-256-GCM encryption (recommended)
- Click Embed — download your stego image
Palette Steganography Methods — What This Tool Handles
| Method | Mechanism | Capacity | Best For |
|---|---|---|---|
| Palette LSB | Modify LSBs of R/G/B in each palette entry | palette_size × 3 × bit_depth / 8 bytes | Tiny payloads / watermarks — capacity bounded by palette, not image |
| EZ Stego (Machado 1993) | Sort palette by luminance, embed 1 bit/pixel via even/odd sorted position | ~1 bit per pixel | Classic CTF technique — sorted palette is the tell |
| Westfeld Parity | Swap pixel to nearest palette colour with matching parity | ~1 bit per pixel | Recommended default — 4× less distortion than EZ Stego |
| PRNG Index Swap | Passphrase-seeded PRNG selects pixels, then parity swap | ~1 bit per PRNG-selected pixel | Hardest to detect — non-sequential modification pattern |
Frequently Asked Questions
What images support palette steganography?
GIF is the primary format — it always uses a palette of up to 256 colours. Indexed PNG (with a PLTE chunk, max 256 colours) and 8-bit BMP with a colour table also work. Standard RGB/RGBA PNG and JPEG have no palette and are not supported.
How is this different from LSB steganography?
LSB steganography operates on individual pixel RGB values. Palette steganography operates on the colour table (palette) pixels point to. Modifying a palette entry changes every pixel using that colour at once. Index-based methods (EZ Stego, Westfeld, PRNG) only swap which palette colour a pixel references, without touching the palette itself.
What is the 'sort palette by luminance' CTF hint?
EZ Stego's first step sorts the palette by luminance. The sorted palette is a strong visual signal — colours run dark to light instead of the original mixed order. If you see a CTF GIF with a luminance-sorted palette, try EZ Stego decoding.
Why does Westfeld's method produce less distortion than EZ Stego?
EZ Stego swaps to the adjacent entry in a luminance-sorted palette, which can be a very different colour. Westfeld's parity method searches all palette entries for the nearest colour with correct parity — colour swaps are always to the most perceptually similar available colour.
Is my image uploaded anywhere?
Never. All encoding runs entirely in your browser using a WebWorker and the Web Crypto API. Nothing leaves your device.
Can animated GIFs be used?
Yes, but only the first frame is used for embedding in this version — other frames are preserved unchanged in the output file. Multi-frame embedding is on the roadmap.
Related Tools
Palette Steganography Extractor
Extract hidden text or files from GIF, indexed PNG, or 8-bit BMP palettes. PALSTEG auto-detect, luminance-sort detection, chi-square analysis, ranked brute-force, CTF flag detector. 100% client-side.
Image Steganography Hider
Hide secret messages or files inside PNG, BMP, or JPG images. AES-256 encrypted, 100% client-side.
Steganography Capacity Calculator
Calculate exact hidden-payload capacity for PNG, BMP, WebP, WAV, FLAC, AIFF and more — plus PSNR and detection risk, all client-side. Links to the right specialist hider/extractor for your file type.