StegoToolkit

Text-in-Image Extractor

Extract hidden text from images. Auto-detects 11 LSB configurations. Bit plane visualizer, chi-square pre-scan, CTF flag detection. Browser alternative to zsteg and Stegsolve.

Drop image or click to browse

PNG, BMP, WebP recommended — max 50 MB (10 MB mobile)

100% client-side — pixel processing happens entirely in your browser via Canvas API. Nothing is uploaded. Output is always lossless PNG.

How to Find Hidden Text in an Image (4 steps)

  1. Upload the suspicious image — instant chi-square pre-scan shows which channels look anomalous
  2. Click Auto-Detect to try 11 channel/bit-depth/method combinations automatically
  3. Enter the AES-256 password if the payload is encrypted, or try without one first
  4. Copy the decoded text, download the forensic report, or explore the bit plane visualizer

Text-in-Image Decoding Methods — What This Tool Handles

MethodTechniqueSpeedBest For
Auto-Detect (11 configs)Tries all common encoding combinations — sequential, adaptive, R/G/B channels, 1–3 bit depth~500ms on 2MP imageDefault mode — works for 90% of encoded images
Chi-Square Pre-ScanStatistical test on pixel value pairs to identify anomalous channelsInstant — runs on uploadIdentifies the most likely channel before attempting decode
Bit Plane VisualizerRenders all 24 bit planes (8 bits × 3 channels) as black/white images~300ms in WebWorkerManual forensic analysis — structured LSB noise is visible in stego images
Manual DecodeUser specifies channel, bit depth, method, and seed exactly~30ms on 1MP imageWhen auto-detect fails or you know the exact configuration
RS RecoveryReconstructs payload from partially corrupted stego image using Reed-Solomon+100ms overheadWhen image was re-saved or slightly modified after encoding

Frequently Asked Questions

How do I find hidden text in an image?

Upload the image — an instant chi-square pre-scan will identify which channels look anomalous. Then click Auto-Detect to try 11 configurations automatically. If a match is found, the decoded text appears immediately.

What is this browser alternative to zsteg and Stegsolve?

zsteg is a Ruby gem (CLI only). Stegsolve is a Java desktop app. This tool performs the same multi-config scan, bit plane analysis, and AES decryption — entirely in your browser with no install, no upload.

How does the chi-square pre-scan work?

After sequential LSB embedding, value pairs (0,1), (2,3), (4,5)… become approximately equal in frequency. The chi-square test detects this pattern. A high p-value (above 0.5) in a specific channel means that channel likely contains sequential LSB payload.

What is the bit plane visualizer?

Each colour channel has 8 bit planes (MSB to LSB). In a clean image, the LSB plane looks like random noise. In a sequentially-encoded stego image, the LSB plane shows structured patterns — the hidden data is literally visible as texture.

Auto-detect failed — what should I try next?

Switch to Manual mode and try: (1) all three channels individually, (2) higher bit depths (2-bit, 3-bit), (3) if a seed hint is available, enter it in scatter mode. The bit plane visualizer can also show which channel looks unusual.

The output looks encrypted — how do I decrypt it?

Enter the AES-256 password in the password field and click decode again. If the entropy shows ~7.9/8.0, the payload is encrypted. Without the correct password you will see garbled output (plausible deniability is intentional).

Is the image uploaded to a server?

Never. All decoding, chi-square analysis, bit plane rendering, and AES decryption runs in your browser via the Canvas API and WebWorker. Nothing is uploaded.

Can I use this to solve CTF challenges?

Yes. Auto-detect scans the 11 most common CTF image stego configurations. CTF flag patterns (FLAG{…}, HTB{…}, picoCTF{…}, etc.) are automatically detected and highlighted. The bit plane visualizer and manual seed mode cover more advanced challenges.