No Login Data Private Local Save

Image Steganography Encoder - Online Hide Text in Picture Pixels

2
0
0
0

Image Steganography Encoder

Hide secret text inside image pixels using LSB steganography — all processed locally in your browser.

100% Client-Side No Upload Free & Unlimited
Drop your image here

or click to browse — PNG recommended for best results

PNG · JPEG · WebP · BMP · TIFF
0 characters · 0 bytes (UTF-8)
Adds XOR encryption layer. Leave empty for no encryption.
Storage Capacity Upload an image first
Used: 0 B Available: --
Original Image No image loaded
Upload an image to preview
Encoded Image (with hidden data)
Encode to see result
Pixel Difference Map Amplified 20×
Difference view after encoding
Output is always PNG format to preserve hidden data

Frequently Asked Questions

What is image steganography and how does LSB encoding work?
Image steganography is the practice of concealing secret data within an image file so that the image appears unchanged to the naked eye. LSB (Least Significant Bit) encoding works by replacing the least important bits of each pixel's color channels with bits of your secret message. Since these bits contribute minimally to the overall color (changing a value from 128 to 129 is imperceptible), the modification is invisible. For example, using 1-bit LSB on an 800×600 image can hide approximately 175 KB of text across the R, G, and B channels.
How much text can I hide in an image?
The capacity depends on three factors: image dimensions, LSB depth, and number of color channels used. Formula: Capacity (bytes) = (Width × Height × 3 channels × LSB depth − 32 header bits) ÷ 8. A 1920×1080 image with 1-bit LSB can store ~777 KB. With 2-bit LSB, capacity doubles to ~1.5 MB. The tool displays real-time capacity information so you always know how much space is available. For reference, 1 KB holds approximately 1,000 characters of plain English text.
Is LSB steganography detectable? Will it affect image quality?
With 1-bit LSB, the changes are mathematically minimal — each modified pixel channel changes by at most 1 out of 255 possible values (0.4%). This is invisible to the human eye and difficult to detect without specialized forensic tools. However, statistical analysis (like chi-square tests or RS steganalysis) can potentially reveal LSB manipulation, especially at higher bit depths. For maximum stealth, use 1-bit LSB, choose images with natural noise (photographs rather than flat-color graphics), and avoid embedding near the full capacity. The output PNG is visually identical to the original.
Why does the output need to be PNG? What about JPEG?
PNG uses lossless compression, meaning every pixel is preserved exactly as encoded — your hidden data remains intact. JPEG uses lossy compression, which discards pixel data to reduce file size and would destroy the hidden LSB data. If you upload a JPEG, the tool converts it to PNG output. You can also use the encoded PNG as input for a corresponding decoder since the pixel data stays pristine. Never re-save an encoded image as JPEG or upload it to platforms that compress images (like some social media sites), as this will corrupt the hidden message.
How does the optional password protection work?
When you provide a password, the tool applies XOR encryption to your text before embedding it into the image pixels. The password is expanded to match the message length and each byte is XORed. This means that even if someone extracts the raw hidden bits from the image, they'll get garbled data — not your readable message. To decode, the recipient needs both the encoded image and the correct password. This adds an extra layer of security on top of the steganographic concealment. Note: This is not military-grade encryption but provides meaningful protection for casual and semi-sensitive use cases.
Is my data safe? Does anything get uploaded to a server?
Absolutely nothing leaves your device. All processing — image loading, pixel manipulation, LSB encoding, and PNG generation — happens entirely within your browser using JavaScript and the HTML5 Canvas API. No data is ever sent to any server. Your images, secret messages, and passwords remain 100% private and local. This is a key advantage over server-based steganography tools. You can even disconnect from the internet after the page loads and the tool will continue to work perfectly.
What's the difference between steganography and encryption?
Encryption scrambles your message so it's unreadable without a key, but the encrypted data is visible — anyone can see that a secret communication exists. Steganography hides the very existence of the message; the image looks normal and doesn't raise suspicion. They're complementary: you can encrypt a message first, then hide it steganographically for defense-in-depth. This tool supports both — use the password field to encrypt, and the LSB encoding to conceal.
Can I use this on mobile devices?
Yes! The tool is fully responsive and works on iOS and Android devices. You can upload photos directly from your phone's camera roll or gallery, embed secret text, and download the encoded PNG — all within your mobile browser. Performance is optimized for mobile processors, though very large images (>12 MP) may take a few extra seconds to process. For best mobile experience, use images under 8 megapixels.
What happens to EXIF metadata in the encoded image?
When an image is processed through the HTML5 Canvas API (which this tool uses), EXIF metadata is not preserved in the output. This includes camera model, GPS coordinates, timestamps, and other metadata from the original file. For steganography purposes, this is actually beneficial — it removes potential identifiers and reduces the file's traceability. The output PNG contains only pure pixel data with your embedded message. If you need to preserve metadata, consider using specialized desktop software.
What image formats are supported for input?
The tool accepts PNG, JPEG, WebP, BMP, TIFF, and most common image formats via the browser's native image decoder. However, for optimal steganography results, we strongly recommend using PNG as input — it's already lossless, so no quality conversion occurs before encoding. If you upload a JPEG, the tool will decode it and output a PNG, which means the visible quality is preserved but the JPEG compression artifacts remain in the pixel data (they won't affect your hidden message, but the cover image quality stays at the original JPEG level).