WebP Steganography Encoder
Hide text or files inside WebP images using LSB embedding across RGB(A) pixels, seeded scatter mode, and automatic lossy-to-lossless conversion. Real pixel-level verification, AES-256-GCM encryption, CTF challenge builder. 100% client-side.
Before uploading: share the output only as a file attachment, not a social/chat "share as image" link — Twitter, Instagram, WhatsApp, and Facebook all re-encode WebP images to JPEG on upload and destroy hidden data.
Try demo — embed a message instantly
Loads a short sample lossless WebP — no upload needed
Drop a WebP file here
Lossless (VP8L) works best — lossy (VP8) is auto-converted
100% Client-Side Processing
Your image is decoded and re-encoded entirely in this browser tab via WebAssembly. Nothing is uploaded.
How to Hide Data in a WebP Image (5 steps)
- Upload a WebP image — lossless (VP8L) works directly; lossy (VP8) is converted automatically
- Type your secret message or upload a file to hide
- Choose bit depth and channels (Standard/Forensic mode) — 1-bit RGB is the safe default
- Add a passphrase for AES-256-GCM encryption (recommended)
- Click Embed — download your stego WebP (output stays WebP, not PNG)
WebP Steganography Methods — What This Tool Handles
| Method | Mechanism | Capacity | Best For |
|---|---|---|---|
| LSB in RGB(A) pixels | Modifies the least significant 1-4 bits of raw pixel channel values | (pixels × channels × bit_depth) / 8 bytes | Recommended default — imperceptible at 1-bit depth |
| Scatter (seeded PRNG pixel order) | Passphrase-seeded Fisher-Yates shuffle picks non-sequential pixel positions | Same as LSB, non-sequential | Forensic mode only — breaks the sequential pattern LSB detectors expect, but needs the seed to decode |
| Lossy → lossless auto-convert | Decodes a lossy (VP8) source and re-encodes it as lossless (VP8L) before embedding | n/a — carrier preparation step | Automatic whenever a lossy WebP is uploaded — no additional quality loss |
Frequently Asked Questions
What's the difference between lossless and lossy WebP?
Lossless WebP (VP8L) preserves exact pixel values — perfect for steganography. Lossy WebP (VP8) modifies pixels during compression, which would destroy hidden bits. This tool automatically detects which type your file is and converts lossy input to lossless before embedding.
Why does the output stay as WebP instead of converting to PNG?
Most steganography tools convert WebP to PNG. This tool preserves the format — web developers using WebP need WebP back. Lossless WebP is often smaller than an equivalent PNG with identical pixel values, though the actual saving depends on the image.
Can I embed data in animated WebP?
Not yet — per-frame embedding for animated WebP is a planned feature. Uploading an animated WebP shows a clear message rather than a silent failure; use a still WebP for now.
My WebP file is 'lossy' — can I still use it?
Yes — it's converted to lossless first. This decodes the lossy WebP's current pixel values (which already have lossy artifacts) and re-encodes them losslessly. No additional quality loss occurs, but the file will be larger.
Are files uploaded to a server?
No — pixel decode/encode runs entirely in your browser via WebAssembly (the same libwebp-based library used by the WebP Decoder and StegSolve Online). Files never leave your device.
Related Tools
WebP Steganography Decoder
Extract hidden text or files from WebP images. STW1 auto-detect across 15 configs, scatter mode, heuristic CTF candidate scan, wbpdv trailing-bytes detection, confidence scoring. 100% client-side.
Image Steganography Hider
Hide secret messages or files inside PNG, BMP, or JPG images. AES-256 encrypted, 100% client-side.
Steganography Capacity Calculator
Calculate exact hidden-payload capacity for PNG, BMP, WebP, WAV, FLAC, AIFF and more — plus PSNR and detection risk, all client-side. Links to the right specialist hider/extractor for your file type.