Veil
steganography studio

Privacy-first steganography

Seal a secret in plain sight. Only your key can unveil it.

Veil encrypts your message or file in the browser, then braids it into a PNG. Share the image freely. The payload stays silent unless the password is right.

AES-256-GCM PBKDF2 key stretching Zero uploads
Signal weave
What you can hide
  • Text notes, credentials, and recovery phrases.
  • Single files up to the image capacity.
  • Both message and file in one sealed image.
Why it is quieter
  • Nothing leaves your browser. No servers, no storage.
  • Configurable bit depth to balance quality and capacity.
  • Optional gzip compression when supported.

Veil Studio

Seal a payload into an image, or reveal what is already there.

Local only
Step 1

Cover image

Ready
Drop an image or browse

PNG recommended. JPEG, WebP, and GIF (first frame) are supported.

No image selected.
Capacity --

Select a cover image to see capacity.

Step 2

Payload

Locked
Attach a file (optional)
No file attached.

Step 3

Password + options

Locked
Enter at least 12 characters.
Bit depth

Higher bits increase capacity with more visible distortion.

Step 1

Stego image

Ready
Drop an image or browse

We will attempt to detect hidden payloads automatically.

No image selected.
Use the original sealed PNG. Re-encoding or resizing can destroy hidden data.
Step 2

Password

Locked

How Veil works

Everything happens locally. The sequence below is exactly what your browser does.

1. Encrypt

Your message and file are wrapped into a binary container, optionally compressed, and encrypted using AES-256-GCM. The password never leaves your device.

2. Weave

The encrypted bytes are embedded into the least-significant bits of the image pixels. You choose the bit depth to balance capacity and visual quality.

3. Share

The sealed PNG looks like a normal image. Anyone can view it, but only the password can reveal the hidden payload.

Security posture

Veil is designed for privacy-first sharing, not covert espionage.

Client-side only

All processing stays in your browser. There are no servers, uploads, or analytics.

Strong cryptography

AES-GCM with per-image salt and IV, plus PBKDF2 key stretching. Increase iterations for stronger resistance.

Steganography limits

A determined analyst can still detect altered pixels. Encryption protects the contents, but stealth is not perfect.