Hide Data in Images & Audio

Image & Audio AES-256 100% Client-Side
Cover Image

Upload an image

PNG, JPEG, BMP, or WebP - Click or drag and drop

or paste image URL
or generate one
Gradient Mesh
Geometric
Noise Pattern
Abstract Waves
Payload & Options

Higher bits = more capacity but more visible artifacts. "Bits 0..N" uses multiple bit planes for up to 8x capacity.

Stego Image

Upload stego image

Upload the image containing the hidden message

or paste image URL
Advanced

Match the depth settings used during encoding

Tries 18+ extraction methods used by OpenStego, Python tutorials, and other tools

Image to Analyze

Upload image to analyze

View individual bit planes per channel

Bit Plane Controls

Result

What is Steganography?

Steganography is the art of hiding information within ordinary, non-secret data so that no one suspects the hidden content exists. The word comes from the Greek steganos (covered) and graphein (to write). Unlike encryption, which makes data unreadable, steganography conceals the very existence of the secret message.

The practice dates back to ancient Greece, where messages were tattooed on shaved heads and hidden under regrown hair. In the digital age, steganography embeds data in images, audio, video, or text files. This tool uses digital image steganography, hiding text messages in the pixel data of images.

Steganography is not a replacement for encryption. For maximum security, combine both: encrypt your message first (using the password option), then hide the encrypted text in an image.

How LSB Encoding Works

Least Significant Bit (LSB) encoding is the most common method for image steganography. Every pixel in a digital image is made up of color channels (Red, Green, Blue), each stored as an 8-bit value from 0 to 255. The last bit of each byte is the "least significant" because changing it only shifts the color value by 1 out of 256 -- a difference invisible to the human eye.

This tool converts your message into binary, then replaces the last bit of each RGB channel with one bit of the message. A 4-byte length header is stored first, telling the decoder how many bytes to read. For an 800x600 pixel image, this provides approximately 180KB of storage capacity -- enough for tens of thousands of words.

Original pixel: R=145 (10010001), G=200 (11001000), B=78 (01001110)
With hidden bits: R=144 (10010000), G=201 (11001001), B=79 (01001111)
Color change: imperceptible to the human eye

Security and Privacy

This tool runs 100% client-side in your browser. No images, messages, or passwords are ever uploaded to any server. All processing happens locally using the HTML5 Canvas API and JavaScript. You can verify this by disconnecting from the internet and confirming the tool still works.

The optional password protection uses AES-256-GCM authenticated encryption via the Web Crypto API. Your password is derived into a 256-bit key using PBKDF2 with 100,000 iterations of SHA-256. This provides strong, industry-standard encryption for your hidden messages. Older images encoded with XOR encryption are still supported for backward compatibility.

Tips for Best Results

Use PNG Format

PNG uses lossless compression which preserves every pixel exactly. JPEG compression can destroy hidden data. Always save and share stego images as PNG.

Larger Images = More Capacity

Each pixel stores 3 bits. An 800x600 image holds ~180KB. For longer messages, use a higher resolution cover image.

Use a Password

Even if someone suspects steganography, a password-protected message will appear as random bytes without the correct key.

Enable Compression

Base64 compression adds a layer of encoding that makes raw extraction more difficult and improves cross-tool compatibility.

How to Use This Steganography Tool

1 Hide a Message in an Image

  1. Make sure Image is selected at the top and you are in Encode mode.
  2. Upload a cover image (PNG, JPEG, or BMP) or click one of the auto-generated patterns (Gradient, Mesh, Geometric, Noise).
  3. Type your secret message in the text area. The capacity meter shows how much space is available.
  4. Optional: Set a password for AES-256 encryption, enable Compress (Deflate) to shrink the payload, or enable Reed-Solomon error correction.
  5. Optional: Adjust Bit Depth — use At bit N (single bit) for stealth or Bits 0..N (multi-bit) for more capacity.
  6. Click Hide Message and download the resulting PNG. It looks identical to the original.

2 Extract a Hidden Message

  1. Switch to Decode mode and upload the stego image.
  2. If the message was encoded with a non-default bit depth, expand the Advanced section and set the Decode Bit Depth to match the encoding settings.
  3. Enter the password if one was used during encoding.
  4. Click Extract Message. RS-protected messages are auto-detected and errors are corrected automatically.
  5. If a file was embedded, you will see a download link with the original filename.

3 Embed a File (PDF, ZIP, TXT)

  1. In Encode mode, switch to the File sub-tab.
  2. Drag-and-drop any file or click to browse. The tool auto-upscales the cover image if needed.
  3. Click Hide File. The file and its original filename are embedded in the image.

4 Audio WAV Steganography

  1. Click Audio WAV at the top to switch from Image mode.
  2. Upload a PCM WAV file (8/16/24/32-bit, mono or stereo).
  3. Type your message or select a file to embed, set bit depth, then click Hide Message.
  4. Download the output WAV — it sounds identical to the original but carries your hidden data.

Feature Quick Reference

Bit Depth 0 (LSB) — Default, virtually undetectable. Best for covert use.
Bits 0..3 — 4x capacity with minimal visible artifacts. Good balance.
Deflate Compression — Reduces payload 2-5x. Enable for long text messages.
Reed-Solomon ECC — Protects data from corruption. Use when sharing via social media or messaging apps.
AES-256 Password — Military-grade encryption. Data is unrecoverable without the password.
Forensic Scanner — Auto-detects 18+ stego formats. Use in Analyze mode for CTF challenges.

Frequently Asked Questions

Steganography is the practice of hiding secret information within ordinary data such as images or audio so that no one apart from the sender and recipient knows of its existence. This tool uses Least Significant Bit (LSB) encoding which modifies the least important bits of each color channel in image pixels or audio samples. Since these tiny changes are invisible to the human eye and inaudible to the ear, the carrier file looks and sounds identical but carries a hidden message.
Variable bit depth lets you embed data in bit positions 0 through 7 of each color channel instead of just the LSB. In At bit N mode you use a single bit position for stealth, while in Bits 0..N mode you use multiple bits per channel for up to 8x the standard capacity. Bit depth 0-2 is virtually undetectable, while depth 3-7 gives maximum capacity for CTF challenges or large payloads. The decode panel must use the same depth settings as encoding.
Yes! Switch to the Audio WAV medium at the top, then upload any PCM WAV file as a cover. The tool embeds data in the least significant bits of audio samples, supporting 8-bit, 16-bit, 24-bit, and 32-bit sample formats in mono or stereo. Variable bit depth works with audio too. The output WAV sounds identical to the original but contains your hidden message or file.
Reed-Solomon (RS) is an error-correcting code that adds redundant parity bytes so your hidden data can survive corruption. Enable it when sharing stego images via social media, messaging apps, or any platform that may recompress images. Choose Low (16B), Medium (32B), or High (48B) parity. RS uses GF(2^8) Galois field arithmetic with Berlekamp-Massey decoding to automatically detect and correct errors during extraction — no user intervention needed.
Enabling Compress (Deflate) applies real deflate compression to your message before embedding, reducing payload size by 2-5x for typical text. This means you can fit longer messages into smaller images or audio files. The tool uses the browser-native CompressionStream API for fast compression. On decoding, compressed data is auto-detected and decompressed transparently.
Your data is completely safe. This tool processes everything 100% client-side in your browser using the HTML5 Canvas API, Web Crypto API, and JavaScript. No images, audio files, messages, or passwords are ever uploaded to any server. All encoding, decoding, encryption, compression, and analysis happens locally on your device. You can verify this by disconnecting from the internet and confirming the tool still works.
For images at the default LSB depth, the capacity is (width × height × 3) / 8 bytes. An 800×600 image stores about 180 KB. Using Bits 0..N mode with higher depth multiplies capacity by up to 8x. For WAV audio, capacity depends on the number of samples and bit depth — a 10-second 44100 Hz mono WAV at LSB stores about 55 KB. The real-time capacity meter updates as you change depth settings. Enabling Deflate compression further increases effective capacity by 2-5x.
The forensic scanner is a universal decoder that automatically tries 18+ extraction methods to find hidden messages regardless of which steganography tool was used to encode them. It supports formats from OpenStego, Python steganography libraries, JavaScript tools, and various LSB encoding configurations including different channel orders (RGB, BGR), bit orders (MSB, LSB), length header formats (BE32, LE32, LE16), and terminators. Results are ranked by confidence score — ideal for CTF challenges and digital forensics.

Explore More Cryptography Tools

AES

AES Encryption

Encrypt and decrypt data with AES-128/192/256

RSA

RSA Functions

RSA key generation, encryption, signing

#

Hash Functions

SHA-256, MD5, SHA-512 and more hash algorithms

File Encrypt

Encrypt and decrypt files with AES client-side

0xFF

Hex Editor

View and edit binary data in hexadecimal

QR Code Generator

Generate QR codes for URLs, text, and data

Support This Free Tool

Every coffee helps keep the servers running. Every book sale funds the next tool I'm dreaming up. You're not just supporting a site — you're helping me build what developers actually need.

500K+ users
200+ tools
100% private
Privacy Guarantee: Private keys you enter or generate are never stored on our servers. All tools are served over HTTPS.