Invisible Watermark (LSB Steganography)
Embed secret messages into images using least significant bit steganography. Extract hidden text from watermarked images. All processing runs in your browser.
About This Tool
The Invisible Watermark tool uses Least Significant Bit (LSB) steganography to hide secret text messages inside images. Unlike a visible Image Watermark that overlays text on the image surface, LSB steganography modifies the least significant bit of each color channel in the pixel data. The changes are so small — at most a difference of 1 out of 256 per channel — that the human eye cannot distinguish the watermarked image from the original.
The tool works in two modes. Embed mode takes your image and a secret message, encodes the text as UTF-8 bytes, prepends a 32-bit length header, and writes each bit into the LSB of the red, green, and blue channels sequentially. The alpha channel is left untouched to avoid transparency artifacts. The result is a pixel-perfect-looking PNG that carries your hidden payload.
Extract mode reverses the process: it reads the LSBs from the uploaded image, reconstructs the length header, then reassembles the hidden bytes back into readable text.
For added security, you can set an optional password. When provided, the message bytes are XOR-encrypted with the password before embedding. Without the correct password, the extracted data will be unintelligible. For stronger encryption needs, consider generating a key hash with the Hash Generator and using that as your password.
All processing is performed entirely on the client side using the HTML Canvas API. Your images and messages never leave your browser — no data is uploaded, stored, or transmitted to any server. You can verify this by monitoring your browser's network tab.
Capacity depends on image dimensions: a 1000 x 1000 pixel image can store approximately 375,000 characters. The tool displays the exact capacity after you upload an image. A pixel difference visualization (amplified 255x) lets you see exactly which pixels were modified, confirming the changes are imperceptible under normal viewing.
Important limitation: LSB steganography is fragile. Any lossy operation — JPEG compression, resizing, cropping, or taking a screenshot — will destroy the hidden data. Always save and share the watermarked image in PNG format. If you need a watermark that survives compression, consider using a visible Image Watermark instead.
How to Use
- Select the Embed tab to hide a message, or the Extract tab to reveal one.
- In Embed mode, click the upload area or drag and drop a PNG or other image file. The tool displays the image dimensions and character capacity.
- Type or paste your secret message into the Secret Message text area. The byte counter shows how much capacity you are using.
- Optionally enter a Password to XOR-encrypt the message before embedding. Anyone extracting the message will need the same password.
- Click Embed Message (or press Ctrl+Enter). The tool shows the original and watermarked images side by side, plus an amplified pixel difference map.
- Click Download Watermarked PNG to save the result. Always use PNG — JPEG will destroy the hidden data.
- To extract, switch to the Extract tab, upload the watermarked PNG, enter the password if one was used, and click Extract Message. Copy the result with Ctrl+Shift+C.
Popular Steganography Examples
FAQ
Is my data safe?
Yes. All image processing and message encoding happen entirely in your browser using the Canvas API. No images or messages are uploaded, stored, or sent to any server. You can verify this by checking the network tab in your browser's developer tools.
What is LSB steganography?
LSB (Least Significant Bit) steganography hides data by modifying the least significant bit of each color value in an image's pixels. Since each color channel has 256 levels (0–255), changing the last bit alters the value by at most 1, which is imperceptible to the human eye. This allows you to embed data without visibly changing the image.
Why must I save as PNG and not JPEG?
JPEG is a lossy compression format — it discards fine details to reduce file size. This destroys the LSB modifications that carry your hidden message. PNG is lossless and preserves every pixel exactly as written, so the embedded data remains intact. Always use PNG for steganographic images.
How much text can I hide in an image?
The capacity depends on the image dimensions. Each pixel provides 3 bits of storage (one per RGB channel), minus a 32-bit header. For example, a 1920x1080 image can store approximately 777,600 bytes (~760 KB) of text. The tool displays the exact capacity after you upload an image.
How secure is the XOR password encryption?
XOR encryption with a short password is not cryptographically strong — it is a simple obfuscation layer. For casual use it prevents accidental discovery, but a determined attacker could break it. For sensitive data, encrypt your message with a proper encryption tool before pasting it, and use this tool only for the steganographic embedding.
Can I embed data in formats other than text?
This tool is designed for text messages. However, since it encodes raw UTF-8 bytes, you could Base64-encode any binary data (such as a small file) and paste the resulting string as your message. The recipient would then need to Base64-decode the extracted text to recover the original file.
Will resizing or screenshotting the image preserve the hidden data?
No. Any operation that modifies pixel values — resizing, cropping, screenshotting, color adjustments, or format conversion — will corrupt or destroy the hidden data. The watermarked PNG must be transmitted and stored without modification.
Related Tools
AI Watermark Generator
Add AI training opt-out watermarks to images. Protect your artwork with visible text, symbols, and metadata flags.
Image Watermark
Add customizable text watermarks to images with font, color, opacity, rotation, and position controls. Supports tiling.
Image Metadata Viewer
View and extract EXIF, IPTC, and XMP metadata from photos. See camera settings, GPS location, and strip metadata for privacy.
Hash Generator
Generate MD5, SHA-1, SHA-256, and SHA-512 hashes for text and files.
Base64 Encode/Decode
Encode and decode Base64 strings and files with drag-and-drop support.
Encryption Playground
Experiment with AES-GCM, AES-CBC, and RSA-OAEP encryption. Step-by-step visualization of the encryption process.