File Encryptor

Encrypt any file with a passphrase using AES-256-GCM, and decrypt it again, entirely in your browser.

Drag & drop a file here, or click to browse

No uploads โ€” the file and the passphrase never leave this device.

No file chosen yet.

What do you want to do?

Type a passphrase to see its strength.

No uploads. Your files stay on your device.

Free forever, no sign-up, no cookies. Buy me a coffee

How it works

Pick any file, type a passphrase and press Encrypt file. The passphrase is stretched into a 256-bit key with PBKDF2-HMAC-SHA256 at 310,000 iterations over a fresh 16-byte random salt, and the file is then sealed with AES-256-GCM using a fresh 12-byte random IV. AES-GCM is authenticated encryption, so it protects both the secrecy and the integrity of the file: if a single byte of the encrypted file is changed, decryption fails loudly instead of returning garbage. All of it uses the browser's native Web Crypto API (crypto.subtle) โ€” no home-made cipher, no library, no network request.

The download is a small .ttz container: a 37-byte plaintext header (the magic bytes TTZ1, a version byte, the iteration count, the salt and the IV) followed by the ciphertext and its 16-byte authentication tag. The original filename is stored inside the encrypted part, so it is hidden from anyone who only sees the container, and it is restored automatically when you decrypt. The header is fed to AES-GCM as additional authenticated data, so nobody can quietly lower the iteration count or swap the salt.

To go back, drop the .ttz file on the page โ€” it is recognised by its magic bytes and the tool switches to decrypt mode for you โ€” then enter the same passphrase. A wrong passphrase and a tampered file are indistinguishable to AES-GCM, so both produce the same friendly error. There is no recovery, no backdoor and no reset link: if you lose the passphrase, the file is gone. Use a long, unique passphrase (the Suggest button generates a 24-character random one) and store it in a password manager.

Frequently asked questions

How do I password protect a file?

Drop the file on this page, type a passphrase twice and press "Encrypt file". You get back a small .ttz container to download: the passphrase is stretched into a 256-bit key with PBKDF2-HMAC-SHA256 at 310,000 iterations over a fresh 16-byte random salt, and the file is sealed with AES-256-GCM using a fresh 12-byte random IV. The original filename is stored inside the encrypted part, so the container reveals nothing about what it holds. To get the file back, drop the .ttz on the page and enter the same passphrase. It is recognised by its "TTZ1" magic bytes, so the tool switches to decrypt mode.

Is it safe to encrypt files online?

With this tool, yes: nothing is transmitted. The file is read from disk with the browser's File API and encrypted inside the page using the native Web Crypto API (crypto.subtle), so there is no network request, no server and no copy of your file or your passphrase anywhere. No home-made cipher is involved. AES-256-GCM and PBKDF2 are the browser's own implementations. Many other online encryption sites do POST your file to a backend, which means trusting an operator you cannot inspect, so always check before using them for anything confidential.

What happens if I forget the passphrase?

The file is unrecoverable. There is no backdoor, no reset link and no key escrow, which is exactly what makes the encryption meaningful. AES-GCM also authenticates the data, so a wrong passphrase and a file that has been modified since encryption both produce the same failure rather than silently returning garbage. Use a long, unique passphrase (the Suggest button generates a 24-character random one, worth well over 100 bits of entropy) and store it in a password manager before you encrypt anything you care about.

Report a bug