Encrypt text with a passphrase

The browser has had a real crypto engine for years. This uses it: no library, no server, no key escrow.

How AES Encrypt / Decrypt works

Hashes and keys are produced with the Web Crypto API inside this page. A hash computed on a server would mean sending the thing you are trying to protect. Verification here is a comparison you can repeat yourself, not a claim you have to accept.

That is the whole architecture: static files, one script, no upload endpoint to leak or log. Close the tab and the work is gone.

Good to know

  • Works offline once loaded, including on flights and in locked-down networks.
  • No file size limit beyond your device's own memory.
  • Free to use, with no account and no usage counter.
  • Results are produced locally, so they are not logged or shared with anyone.

Questions

Which algorithm exactly?

AES-256 in GCM mode, with the key derived from your passphrase by PBKDF2-HMAC-SHA256 at 200,000 iterations and a random 16-byte salt. A fresh 12-byte IV is generated for every encryption.

What happens if I lose the passphrase?

Nothing can recover it. There is no key escrow, no account and no reset — that is the point of local encryption.

How do I know the blob was not tampered with?

GCM authenticates the ciphertext. A changed byte or a wrong passphrase fails the check and the tool says so instead of returning garbage.

Is it safe for large files?

This page is for text. For files, encrypt a container with a tool built for streaming — pasting megabytes into a textarea is where browsers fall over.

Keep going

More security tools