Image Steganography
Hide a text message inside a PNG image using least-significant-bit encoding, invisible to the eye but recoverable — entirely in your browser.
Tool guide
What this tool does
Image Steganography hides a text message inside a PNG image’s pixel data using least-significant-bit (LSB) encoding across the red, green and blue channels, a change invisible to the human eye but recoverable by reading those bits back, computed entirely via canvas in your browser.
Steganography hides the existence of a message rather than just its content, embedding text imperceptibly within an ordinary-looking image, as distinct from encryption, which scrambles a message’s content but makes clear that something is being hidden.
This tool uses least-significant-bit (LSB) encoding: the lowest bit of each red, green and blue colour channel in every pixel is replaced with one bit of your message, a change far too small for the human eye to notice but fully recoverable by reading those same bits back out in order.
How to use Image Steganography
- Choose Hide a message or Reveal a message mode.
- Select a cover image (PNG recommended).
- For hiding, enter the Message to hide.
- Press the action button and download the result (for hiding) or read the revealed text.
Tips for better results
- Only lossless formats preserve a hidden message; saving the output as PNG keeps every bit intact, while JPEG’s lossy compression, resizing, or any re-encoding will corrupt or destroy the hidden data.
- A larger image can hold a longer message, roughly 3 bits of capacity per pixel (one per RGB channel, skipping alpha); the tool reports a clear error if your message exceeds the chosen image’s capacity.
- This hides a message from casual visual inspection, not from anyone who specifically suspects steganography and analyses the image’s pixel data, it provides obscurity, not real cryptographic security.
- For genuine confidentiality alongside concealment, encrypt the message first (see AES Text Encryption) and hide the encrypted output instead of the plain text.
Common use cases
- Learning how LSB steganography works by hiding and revealing a test message.
- Embedding a watermark-like hidden note in an image for a personal or educational project.
- Demonstrating the difference between steganography (hiding existence) and encryption (hiding content).
- Testing how image re-compression or resizing destroys hidden LSB data.
Common mistakes to avoid
- Saving or sharing the output as JPEG, or through a platform that automatically re-compresses images (many social media sites do); this destroys the hidden message, since LSB data cannot survive lossy re-encoding.
- Treating this as real security; LSB steganography only hides a message from casual viewing, it offers no protection against anyone who specifically looks for steganographic content, since the technique itself is well known and detectable with the right analysis.
- Choosing too small an image for a long message; capacity is limited by pixel count, and exceeding it is flagged with a clear error rather than silently truncating your message.
Frequently asked questions
Is this encryption?
No, steganography hides that a message exists at all, while encryption scrambles a message’s content but makes it obvious something is hidden; for real confidentiality, encrypt your message first and hide the encrypted result.
Does this work with JPEG images?
No, only lossless formats like PNG reliably preserve hidden LSB data; JPEG’s lossy compression will corrupt or destroy the hidden message, so always export and share the result as PNG.
Is my image uploaded anywhere?
No, both hiding and revealing a message happen entirely in your browser using canvas pixel data; images are never uploaded anywhere.
How much text can I hide in an image?
Roughly 3 bits per pixel (one bit in each of the red, green and blue channels); a larger image can hold a longer message, and the tool shows a clear error if your text exceeds the chosen image’s capacity.
Feedback & suggestions
Help us improve Image Steganography. We read every message.