Encrypt / Decrypt Files

Lock any file behind a password with authenticated ChaCha20-Poly1305 or AES-256-GCM encryption, then decrypt it back. Keys and files never leave your browser — nothing is uploaded.

Files never leave your device

Drop a file to encrypt

What This Tool Does

This tool encrypts a file with a password so that only someone who has that password can open it again — and decrypts a file back to its original form given the correct one. Drop a file, type a password, and download a self-contained .enc file; drop that .enc file back in with the same password later, and you get the exact original bytes and filename back.

Everything happens on your device. There's no upload step, no account, and no key stored on a server anywhere — the password you choose is the only thing that can unlock the file, and it's never sent over the network.

Choosing an Algorithm

AlgorithmStrengthsBest for
ChaCha20-Poly1305 (default)Fast in pure software, no special hardware neededGeneral use, especially on phones or devices without AES hardware acceleration
AES-256-GCMThe most widely recognized standard nameSituations where a policy or compliance requirement specifically names AES

Both are modern AEAD (authenticated encryption) ciphers with no known practical weaknesses — this is a choice between two equally strong options, not a security trade-off.

How Your File Is Protected

Your password never becomes the encryption key directly. It's first passed through Argon2id, a memory-hard key derivation function, using a random salt generated fresh for every file — this makes brute-forcing the password computationally expensive even if someone gets hold of the encrypted file. The derived key then encrypts your file's contents with an AEAD cipher, which produces both ciphertext and an authentication tag in one step.

Tip: That authentication tag is what makes a wrong password immediately obvious: decrypting with an incorrect password produces a tag mismatch, and the tool refuses to output anything rather than handing you corrupted, partial data. You'll always get a clear error instead of garbage output.

Your Filename Is Encrypted Too

The original filename and extension travel inside the encrypted payload itself, alongside the file's bytes — not as visible metadata in the container. Someone who intercepts your .enc file learns nothing about its name or contents without the password; decrypting with the right one restores both the exact original filename and its contents.

What Happens If You Forget the Password

There is no recovery path. The Argon2id-derived key is the only way to unlock the file, and this tool doesn't store passwords, keys, or any escrow mechanism anywhere. This is a deliberate security property, not a missing feature — a recoverable system would mean someone other than you could also unlock the file. Keep your password somewhere safe before you close the tab.

Decrypting on Another Device

The .enc file is fully self-describing — it carries the algorithm choice and the parameters needed to reverse the process, so you don't need to remember any settings, only the password. Copy the file to a phone, another laptop, or send it to someone else entirely; as long as they open this same tool and enter the correct password, decryption produces an identical result.

File Size Limits

This tool processes the whole file in your browser's memory, so there's no hard cap enforced by the tool itself — the real limit is how much memory your device and browser tab can spare. Small to moderately large files (photos, documents, archives up to a few hundred megabytes) work quickly; multi-gigabyte files will work but may take longer and use more memory, especially on phones or older hardware.

If you also want to check a file's integrity with a checksum, see the Hash & checksum tool. If you need to evaluate or hash a password on its own, see the Password strength & hash generator — both run on-device the same way this tool does.

Frequently asked questions

Is this really private, or does the file get uploaded somewhere first?
It's fully private — nothing is uploaded. Encryption and decryption both run locally using WebAssembly inside your browser tab, so your file and password never touch the network. You can even disconnect from the internet after the page loads and it will keep working.
Which algorithm should I pick — ChaCha20-Poly1305 or AES-256-GCM?
Either one is secure; the difference is mostly performance and context. ChaCha20-Poly1305 (the default) is fast in pure software on any device, including phones and older laptops without hardware AES acceleration. AES-256-GCM is the more universally recognized name and a safe pick if a specific policy or standard at your organization requires AES by name — otherwise ChaCha20-Poly1305 is a fine default.
What happens if I forget the password?
The file is unrecoverable. The password is run through Argon2id to derive the encryption key, and there's no backdoor, master key, or reset option built in — that's the entire point of the design. Write the password down somewhere safe before you close the tab, because losing it means losing access to the file permanently.
Can I decrypt the file on a different device?
Yes. The encrypted `.enc` file is a self-contained container — move it to any other computer or phone, open this same tool there, enter the password, and it decrypts identically. There's no account, no device pairing, and no server-side key involved.
Is the original filename hidden inside the encrypted file?
Yes. The original filename is stored inside the encrypted payload itself, not in plain text in the container's header — so renaming or inspecting the `.enc` file reveals nothing about what's inside or what it was originally called. Only entering the correct password recovers the name along with the file's contents.
Is there a file size limit?
The tool reads the whole file into your browser's memory to encrypt or decrypt it, so the practical limit is however much RAM your device and browser tab have available rather than a fixed number set by this tool. Very large files (multiple gigabytes) may be slow or use significant memory on lower-end devices.
Is this really free to use?
Yes. There's no sign-up, no watermark, and no limit on how many files you can encrypt or decrypt. The tool runs entirely in your browser, so there's no server cost to recoup from you.