A hidden copyright mark
A photographer hides their name and the shooting date in a delivered PNG without changing its appearance.
Guide
Image Steganography hides a piece of text inside a picture: every byte is split into bits and written in turn into the least significant bit (LSB) of the red, green and blue channels of each pixel, so a pixel carries 3 bits and the image is indistinguishable to the eye. A 9-byte header is written first (the magic OBS1, a flag byte and the payload length), and extraction verifies that header, which is why the tool can state clearly that an image contains no steganographic data from this tool. When a password is supplied the payload is AES-encrypted before being written (OpenSSL-compatible format) and extraction requires the same password. Processing happens locally in the browser.
Updated 2026-09-094 min read
Image Steganography hides a piece of text inside a picture: every byte is split into bits and written in turn into the least significant bit (LSB) of the red, green and blue channels of each pixel, so a pixel carries 3 bits and the image is indistinguishable to the eye. A 9-byte header is written first (the magic OBS1, a flag byte and the payload length), and extraction verifies that header, which is why the tool can state clearly that an image contains no steganographic data from this tool. When a password is supplied the payload is AES-encrypted before being written (OpenSSL-compatible format) and extraction requires the same password. Processing happens locally in the browser.
It is the opposite of “Mirage Tank”: a mirage tank hides a second picture that can be revealed by switching backgrounds, while steganography hides text that is entirely invisible.
<original name>_stego.png, with a note that it is AES-encrypted when applicable; always save and send it as the original file.| Input | Output | Notes |
|---|---|---|
| A 1920×1080 photo as the carrier | About 759 KB of capacity, roughly 250,000 CJK characters |
Capacity = width × height × 3 ÷ 8 − 9 bytes |
| Hiding “meet the usual place at three tomorrow” with a password | A PNG that looks unchanged; extraction without a password reports that the content is encrypted, and a wrong password reports a decryption failure |
Encryption adds about a third to the payload |
| Sending the stego image through a chat app and saving it again before extracting | “No steganographic data from this tool detected” |
Lossy compression destroys the low bits |
A photographer hides their name and the shooting date in a delivered PNG without changing its appearance.
Encrypt a paragraph, hide it in a landscape photo and send it to someone who knows the password.
Hide a different code in the same image for each channel it goes out on, so a leak can be traced to its source.
Explain LSB steganography by hiding text in a real photo and extracting it again.
Only the lowest bit of each channel changes, so a colour moves by at most 1/255 — indistinguishable to the eye and to ordinary image viewers.
Most often the image went through a lossy step (converted to JPG, screenshotted, compressed by a chat app); it may also not be an image produced by this tool. Use the original PNG that was downloaded when it was generated.
No. The password is not written into the image, and AES cannot be undone without the key.
The image and the text to hide are both handled locally in the browser and are never uploaded to any server; encryption and decryption happen locally too, so the password never leaves your browser.
Updated 2026-09-09
LSB steganography: hide text inside image pixels, optionally AES-encrypted, output as lossless PNG
Select a carrier image first and the capacity will be shown here