StegoToolkit

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.

Auto-detect
Chi-square + luminance sort
Flag detector
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 — see hidden message extracted 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 Extract Palette Steganography (5 steps)

  1. Upload the GIF, indexed PNG, or 8-bit BMP to check
  2. Click Extract — a PALSTEG header decodes instantly if present
  3. For CTF images with no header: view the palette analysis or run brute-force
  4. Enter a passphrase if the payload was AES-256 encrypted
  5. Copy the text or download the hidden file

Palette Steganography Decoding — What This Tool Handles

MethodTechniqueWhen to UseBest For
PALSTEG auto-detectReads the 20-byte header from palette entry LSBsCompanion-encoded filesInstant, zero-config extraction
Luminance sort detectionCompares palette order to a luminance-sorted copyNo header presentFlags the classic EZ Stego CTF signal
Chi-square on parityTests palette-parity distribution for biasNo header presentFlags Westfeld / PRNG embedding
Ranked brute-forceTries 8 common palette stego configurationsNo header presentCTF challenges, unknown encoders

Frequently Asked Questions

How do I know if a GIF uses EZ Stego?

View the palette in sorted order. EZ Stego always produces a luminance-sorted palette — colours run darkest to lightest in sequence. The palette analyser in Forensic mode shows both the original order and the luminance-sorted order side by side.

What is chi-square palette analysis?

In natural images, palette-entry parity ((R+G+B) % 2) is roughly 50% even / 50% odd. Westfeld's parity embedding distorts this distribution to match the payload. A p-value below 0.05 suggests possible embedding.

What is a visual colour attack?

It looks for near-duplicate colour pairs in the palette — two entries that are almost identical. These appear in stego images because parity-swap methods replace colours with their nearest opposite-parity partner. Natural images have few near-duplicates; stego images often have many.

My brute-force found garbage — why?

The payload was likely AES-256-GCM encrypted. Enter the passphrase and try again. If using PRNG mode, the passphrase also seeds the pixel selection order — without it, extraction fails regardless of decryption.

Is my image uploaded anywhere?

Never. All decoding runs entirely in your browser using a WebWorker and the Web Crypto API.

Related Tools