Protected document builder

Pick a file and a password; this page produces a single self-contained HTML file that decrypts and downloads it. Everything runs in your browser - nothing you enter is ever uploaded.

Coloured logo previewBanner preview

File (or secret message)

The document(s) to encrypt: pick one or more files, or protect a written message. You can also drop files onto this card.

Tip: drag and drop files here to select them. Selecting several files produces one bundled output with a file list on its unlock page.

Used only in your browser to derive the encryption key. Never stored, never transmitted. There is no way to recover it, so keep a copy somewhere safe. This password is recipient 1; add more recipients below.

Must match the password above exactly. A typo here is the most common way a protected file becomes impossible to open.

Every visible element can be toggled on or off for this build, and colors/text default to the project theme.

When generated, every file shows a "Share this file" button and a QR code of the page URL (when served over http(s)). Turn this off to omit the button, QR, and the embedded QR encoder entirely from the built file.

Sign the ciphertext with an ECDSA P-256 key so a recipient can verify the file came from you and was not altered. The signature proves the file was not tampered with since signing; it does NOT prove who sent it, because the public key ships inside the same file. A recipient only sees a green "verified" badge after they confirm this file's key fingerprint with you out-of-band. Share that fingerprint separately (e.g. chat, card, phone call) - never through the file itself.

Shown to recipients as the stated sender. This label is not authenticated by itself - recipients verify your key fingerprint out-of-band, then the label is just a convenience.

Keep the private key. Recipients only learn its public half (embedded in each signed file) and the 8-byte fingerprint of it, which is what they confirm out-of-band. Reuse the same key across builds so recipients can recognize you by a stable fingerprint.

Working... 0s elapsed. Large file? Compression and Argon2id take a moment.