QR Code Steganography

Hide secret messages in plain sight using QR code error correction capacity

🔐 Encode

Create a QR code with a hidden message

Checking capacity...

🔍 Decode

Extract the hidden message from a QR code

Upload QR Code

Click to upload or drag and drop

PNG, JPG or any image format

Results

Primary Message

No QR code decoded yet

Secondary Message (Hidden)

No hidden message found

How It Works

QR codes include error correction data that allows them to be read even when partially damaged. This tool exploits that error correction capacity to hide a secondary message within a normal QR code.

  • ✅ Primary message readable by all standard QR scanners
  • 🔒 Secondary message only extractable with this decoder
  • 📊 Capacity: ~7 bytes for typical URLs
  • 🎯 Uses high error correction level (Level H, 30%)

Use Cases

🎮 Scavenger Hunts

Hide bonus clues and point values that only players with the decoder can access.

💼 Product Authentication

Embed warranty codes and batch numbers invisible to counterfeiters.

🎫 Event Invitations

Public event URL with hidden VIP access codes for special guests.

🔐 Two-Factor Auth

Public session ID with hidden cryptographic challenge token.

Technical Details

This implementation uses the Nayuki QR Code generator library and exploits Reed-Solomon error correction capacity. The hidden message is encoded by intentionally flipping specific data modules within the error correction threshold, distributed using prime number stepping to avoid visual clustering.

Error Correction: Level H (30%)
Safety Margin: 7% (empirically tested)
Encoding: UTF-8 with 16-bit checksum