UNDERLAYER Hide Data in Plain Sight.
Your files are processed locally in your browser whenever possible. Carrier images and payloads are not uploaded to the server for encoding or decoding.

Encode

Hide text, files, or audio inside a carrier image using LSB steganography. Processing stays in your browser.

Carrier Image

PNG / BMP preferred

Drag image here

or click to browse — PNG, BMP (TIFF when supported by the browser)

JPEG carriers are not supported. LSB data does not survive JPEG compression.

Image Information

Filename
—
MIME type
—
Dimensions
—
Color depth
—
File size
—
Est. capacity
—

Capacity uses 1 LSB per RGB channel (3 bits/pixel), minus reserved header space. Alpha is left unchanged.

Hidden Payloads

No payloads yet. Add one or more text, file, or audio items. Order is preserved in the stego image — use ↑ ↓ to reorder.

Up to 32 payloads per carrier. Duplicate filenames are auto-renamed. Image file payloads show a thumbnail preview. Max 25 MB per file.

Capacity

Available
—
Payload size
0 B
Remaining
—

Optional Encryption

AES-GCM

The password is never stored. Per-payload salt and IV, plus the PBKDF2 iteration count, travel inside the container metadata. Key derivation may take a few seconds.

Embed

Load a PNG carrier, add payloads, then embed.