Steganography — Hide Text in Image
Hide a secret message inside an image and reveal it whenever you want. LSB technique, 100% in your browser. Download as PNG.
Upload an image (PNG recommended)
100% in your browser
Built by
Miguel Ángel Colorado Marin (MACM)
Built by
Miguel Ángel Colorado Marin (MACM)
Full-Stack Developer · Guadalajara, España
I develop web apps, digital tools and full projects — from design to deployment.
How to hide a message in an image?
- 1
Write the message
In the Hide tab, type the secret text you want to hide inside the image.
- 2
Upload an image
Load an image (PNG recommended). The text is encoded in the least significant bits of the pixels, without being noticeable.
- 3
Download the PNG
Click Hide message and download the resulting PNG. It looks identical, but carries the message inside.
- 4
Reveal anytime
In the Reveal tab, upload the image with the hidden message and recover it instantly.
Frequently asked questions
What is steganography?
It's the technique of hiding information inside another file so it goes unnoticed. Unlike encryption, which makes the message unreadable, steganography hides its very existence.
How does the LSB technique work?
LSB (Least Significant Bit) replaces the last bit of each color component of the pixels with bits of the message. The color change is so tiny the eye can't perceive it.
Why should I use PNG and not JPG?
Because JPG recompresses with loss and would destroy the hidden bits. PNG is lossless and keeps the message intact. Also don't upload it to networks that recompress the image.
Is my image or message uploaded to a server?
No. Everything happens 100% in your browser. Neither the image nor the message leave your device, and nothing is stored.
Related tools
Embed Steganography (Hide Text) on your site
Add Steganography (Hide Text) to any web page with a simple iframe. Free, with attribution to miguelacm.es.
<iframe
src="https://miguelacm.es/embed/steganography"
width="100%"
height="700"
frameborder="0"
title="Steganography (Hide Text) — miguelacm.es"
></iframe>View embed in new tab →