🕵️ Security & Privacy · 100% Offline

Image Steganography — Hide & Extract Secret Text in Images

Hide a secret message or file inside an ordinary-looking image, protect it with real AES-256 encryption, and extract it back later. Includes an Analyze tab so you can actually see how the detection and hiding techniques work.

🔒 Everything runs in your browser. Your image, message, and password are never uploaded. Works offline.
⚠️ Output is always PNG. Do not convert, compress, screenshot, or re-save the result as JPG — the hidden message will be destroyed. WhatsApp, Instagram, and Facebook re-compress images you send and WILL destroy the message — send the PNG as a file/document attachment, or via email or a cloud drive link instead.
Read before using: Steganography hides the existence of a message; it is not a substitute for encryption — always use the password option. This is not undetectable: statistical analysis can flag likely steganography, especially at higher bit depths. Treat this as a hobby, learning, and casual-privacy tool (watermarking your own images, sending a private note to a friend) — not as protection against a determined forensic examiner. Any editing, resizing, cropping, filtering, or re-compression of the output image will destroy the hidden data.

Cover image

Drag & drop, browse, or paste from clipboard (Ctrl+V). JPG/PNG/WebP accepted as input — output is always PNG.

Drag & drop an image here

or click to browse, or paste from clipboard.

Stego image

Upload the PNG that (might) contain a hidden message.

Drag & drop an image here

or click to browse, or paste from clipboard.

Upload an image to inspect. Optionally upload a second "original" image to see an amplified pixel-difference map against a stego version.

Free Online Image Steganography — Hide Secret Messages in Photos

Image steganography lets you conceal a secret text message or file inside an ordinary photo so nobody knows data is hidden. ToolAdda's free tool uses LSB (Least Significant Bit) embedding — the standard technique taught in cybersecurity courses — combined with real AES-256-GCM password encryption, password-scattered pixel ordering, and a built-in steganalysis tab to understand how detection works.

How LSB steganography works

Every pixel in a digital image has red, green, and blue values (0–255). The least significant bits of each value contribute almost nothing to what you see. This tool replaces those low bits with your secret data. At 1 bit per channel the change is invisible; at 4 bits capacity is much higher but faint artifacts may appear. Output is always PNG because lossless compression preserves the exact bit pattern.

Key features

🔏 Hide text or filesEmbed messages or any file type inside JPG/PNG/WebP cover images.
🔒 AES-256 encryptionPassword-protect hidden data so extraction yields unreadable ciphertext.
🎲 Scattered embeddingPassword-seeded random pixel order makes statistical detection harder.
🖼️ Texture-aware modePrefer embedding in noisy/busy image regions for better concealment.
📊 Steganalysis tabLSB visualizer, bit-plane viewer, histogram, and chi-square estimate.
🌐 100% offlineRuns entirely in your browser — no upload, no server, works offline.

How to hide a secret message in an image

  1. Open the Hide tab and upload a cover photo (drag-drop, browse, or Ctrl+V paste).
  2. Enter your secret text or attach a file. Set a strong password — keep encryption on.
  3. Optionally tune bits per channel and pixel ordering in Advanced settings.
  4. Click Hide Message, review the before/after slider and PSNR quality score.
  5. Download stego-image.png and share as a file attachment (not a re-compressed chat photo).
  6. To recover: open Reveal, upload the PNG, enter password, click Reveal Message.

Related security tools

Frequently asked questions

What is image steganography?

Steganography hides secret data inside a cover image so casual viewers don't know a message exists. This tool uses LSB embedding — modifying the tiniest colour bits where changes are visually imperceptible.

Is it safe to hide messages this way?

All processing runs 100% in your browser — nothing is uploaded. But steganography only hides existence; always enable AES-256 password encryption so extracted data stays unreadable without your password.

Why must the output be PNG?

LSB data lives in the least-significant bits of pixels. PNG is lossless and preserves those bits exactly. JPEG compression destroys them. You can upload JPG as cover, but output is always PNG.

Why doesn't it work after sending on WhatsApp?

WhatsApp, Instagram, and Facebook re-compress photos as JPEG, destroying hidden bits. Send the PNG as a document/file attachment, or use email or cloud storage.

Can someone detect the hidden message?

Yes, potentially. Statistical tools (like our chi-square analysis) can flag likely steganography, especially at higher bit depths. This is a learning tool, not forensic-grade undetectability.

Do I need a password?

Strongly recommended and on by default. Without one, anyone who suspects hidden data can extract it. With AES-256, they only get encrypted noise.

What is LSB steganography?

LSB replaces the lowest bits of RGB colour channels with secret data bits. These bits contribute minimally to perceived colour, so the image looks unchanged.

Can I hide a file, not just text?

Yes. Switch to File mode in the Hide tab. Any file type can be embedded with filename and MIME preserved, and downloaded again from the Reveal tab.