1. Upload a carrier image

πŸ–Ό
Drop an image here or click to browse
PNG recommended (JPEG lossy compression destroys hidden data)

2. What to hide

3. Encoding settings

More channels = more capacity. Alpha is the most covert β€” barely anyone checks it.

1 (invisible) 4 (subtle)

1 bit = completely undetectable to the human eye. 4 bits = visible in visualizer but subtle in normal view.

Select an image to see capacity.

Upload an encoded image

πŸ–Ό
Drop the encoded image here or click to browse
Must be the exact PNG that was output from the encoder

Decoding settings

1 4

Hidden message


        
      

Try a demo image

These images have a hidden message already baked in β€” no encoding needed.

Upload an image to inspect

πŸ”¬
Drop any image here to inspect its channels
Try an encoded image to see where the data hides

Try a demo image

Load a pre-encoded image and switch to LSB mode to see exactly where the hidden data lives.

How it works

πŸ”’
LSB Steganography

Every pixel has R, G, B, and Alpha values (0–255). We replace the 1–4 least significant bits of each channel β€” changes invisible to the human eye but enough to hide kilobytes of data.

πŸ”
AES-256-GCM Encryption

Optional passphrase encrypts your message before it's hidden. Uses PBKDF2 (100k iterations) for key derivation β€” the hidden bytes are indistinguishable from noise even if someone knows to look.

🌊
Alpha channel hiding

Most tools only think about RGB. Hiding data in the Alpha channel is particularly covert β€” it affects transparency, which is rarely inspected. Perfect for PNG images.

⚠️
Use PNG, not JPEG

JPEG compression is lossy β€” it destroys the precise LSB values we embed. Always download and share as PNG to preserve the hidden data intact.