Hide a message inside a photo

The message you type is hidden inside the colors of a photo. The photo looks exactly the same; only someone who knows the password can open it. Everything happens on this page, in your browser.

This frame may hold a hidden message — you can't tell by looking.
Choose a photo or drop it here
PNG or JPG

How does it work?

A photo is made of millions of dots; each dot's color is stored as numbers. Changing the smallest digit of a number shifts the color too little for the eye to notice.

The letters of your message are written into these smallest digits, one by one. First it is locked with your password, then embedded. The same password is needed to take it back out.

blue: 182 → 1 0 1 1 0 1 1 0 last digit: one bit of the message is written here → blue: 183
The blue value goes from 182 to 183. The eye can't see the difference, but that last digit now carries the message.

Is there a hidden message in a photo, and how can I tell?

Short answer: you can't tell by looking. A well-hidden message doesn't change the photo's colors by even a thousandth; put two photos side by side and you won't spot the difference. That's the whole point.

Signs that might still raise suspicion

  • The photo is a PNG and its file size is oddly large for its kind.
  • Someone keeps insisting on sending the photo “as a file, without compression.”
  • The photo's name or place doesn't fit the subject — a plain landscape named something like “gizli.png.”

How to be sure

Drop the photo into the “Reveal” section above and try the password. If there is a message and the password is right, it opens; otherwise it says there is no hidden message. Without the password you can't read the content, because the message is encrypted.

What do experts do?

A method called steganalysis looks at statistical traces in the pixels. In a normal photo the smallest digits are spread randomly; when a message is hidden, that spread is disturbed. This brings you closer to “is something hidden here,” but without the password it still won't reveal the message.

The photo and the message both stay with you

This page connects to no server. The photo you pick, the message you write and your password never leave your computer — switch off your internet if you like, it still works. Nothing is stored, no trace is kept.

The message is encrypted with AES-256 using a key derived from your password. The code is open; you can read it line by line if you wish.

Read the code on GitHub

Frequently asked

Why won't it open after I send the photo over WhatsApp?

Apps like WhatsApp and Instagram compress the photo, and that step wipes out the hidden digits. Send the photo as a “file/document,” not as a “photo.”

How secure is my message?

The message is encrypted with AES-256 using a key derived from your password. Someone without the password can't read the content, even if they sense a message is there.

Does my photo or message go anywhere?

No. Everything happens in your browser; no photo, message or password is ever sent or stored.

How long a message can I hide?

The bigger the photo, the more. When you pick a photo, the tool tells you how many characters will fit.

Why is the output always a PNG?

PNG is a lossless format, so the hidden digits aren't damaged. JPEG would erase the message, so the output is always a PNG.