Steganography for the Web โ hide and reveal messages in PNG images
https://elizavetara.github.io/PNGstagram/
PNGstagram is a minimalist web app that lets you hide secret messages inside PNG images using the least significant bits (LSBs) of pixel colors โ right in your browser.
No installation, no server, no trace.
- ๐ง Client-side steganography (no data leaves your browser)
- ๐ Encode text messages into images
- ๐ Decode hidden messages from PNGs
- ๐จ Clean, tab-based UI
- ๐ (Optional) Easily extendable to AES encryption or file embedding
- Open
index.htmlin your browser. - Encode tab:
- Upload a PNG image
- Enter your secret message
- Click โEncode & Downloadโ
- Decode tab:
- Upload a PNG with a hidden message
- Click โRead Hidden Messageโ
- The secret is revealed!
- Each pixel has Red, Green, Blue, Alpha channels (4 bytes)
- We modify the least significant bit (LSB) of R, G, and B to store message bits
- Message length is stored in the first 4 bytes (32 bits)
- Total: 3 bits per pixel, invisible to the human eye
| Image Size | Total Pixels | Usable Bits | Usable Bytes | Approx. Text Capacity |
|---|---|---|---|---|
| 100 ร 100 | 10,000 | 30,000 | ~3.75 KB | ~3,750 characters |
| 500 ร 500 | 250,000 | 750,000 | ~93.75 KB | ~90,000 characters |
| 1000 ร 1000 | 1,000,000 | 3,000,000 | ~375 KB | ~375,000 characters |
| 1920 ร 1080 | 2,073,600 | 6,220,800 | ~777 KB | ~750,000 characters |
(Text estimates assume ~1 byte per character in UTF-8 for typical English text)
- Easter eggs in flyers or posters
- Hidden invitations, challenge clues
- Teaching digital privacy and steganography
MIT โ free to use, share, and modify.