Text Encryption
Lock a message with a passphrase using AES-256-GCM, entirely inside the browser.
Real Cryptography, With Real Limits
This uses AES-256 in GCM mode with a key stretched from your passphrase by PBKDF2 over 310,000 rounds of SHA-256 — the browser's own WebCrypto implementation, not a reimplementation of one. A fresh random salt and nonce go into every message, so encrypting the same text twice produces two different ciphertexts, and the authentication tag means any tampering makes decryption fail outright rather than quietly returning something wrong.
The limits are worth stating as plainly as the algorithm. The security of the result is the security of your passphrase, because the algorithm is not the part anyone will attack. Nothing is uploaded, which also means nothing can be recovered: lose the passphrase and the message is gone permanently, with no reset link and nobody to ask.
Key features
- AES-256-GCM — authenticated encryption, so tampering is detected rather than decrypted.
- PBKDF2 with 310,000 rounds — the current OWASP figure for SHA-256, which makes guessing passphrases expensive.
- Random salt and nonce per message — the same text encrypted twice looks entirely different.
- WebCrypto, not a hand-rolled cipher — the browser's vetted implementation does the work.
- A passphrase strength estimate — rough, and honest about being rough.
This tool runs entirely inside your browser using native Web APIs. Your files and text are never uploaded to a server, never logged and never shared with third parties.
How to use: Text Encryption
- Type or paste your message
It never leaves the page. - Choose a strong passphrase
Four or five unrelated words beat a short password with symbols in it. - Encrypt
The pause is the key stretching, and it is the point of it. - Send the block and the passphrase separately
A message and a phone call, not two messages in the same thread.
Technical specifications
| Processing location | Entirely in your browser — no server round trip |
|---|---|
| Data uploaded | None. Files and text never leave your device |
| Price | Free — no account, no trial, no usage cap |
| Category | Security |
| Works offline | Yes, once the page has loaded |
| Browser support | Chrome 90+, Edge 90+, Firefox 90+, Safari 15+ |
| Interface languages | English, 中文, हिन्दी, Español, العربية |
Frequently asked questions
How safe is this really?
The cryptography is sound — AES-256-GCM with PBKDF2 is a standard, well-reviewed construction, and the browser's implementation is the same one used by sites handling real secrets. The weak point is always the passphrase. A four-word passphrase from a dictionary is genuinely strong; a birthday is not, however good the cipher behind it.
What happens if I forget the passphrase?
The message is unrecoverable. There is no key escrow, no backup and nobody to appeal to, because nothing about the message exists anywhere but in the block you were given. That is the same property that makes it private, and it is not optional.
Why is there a delay when I encrypt?
PBKDF2 is deliberately slow. Running 310,000 rounds of SHA-256 costs you a fraction of a second once; it costs an attacker trying millions of passphrases the same fraction of a second each time. That asymmetry is the whole purpose of key stretching.
Can I use this for files?
Not in this tool, which handles text. For a file, an encrypted archive — 7-Zip with AES-256, or your operating system's own disk encryption — is the better instrument, and is designed for the size.
Should I use this instead of a messaging app?
For most conversations, no. Signal and similar apps handle key exchange, forward secrecy and verification for you, and none of those are things a passphrase shared over the phone gives you. This is useful for a one-off — a note in an email, a credential handed over once, something stored where you do not control the storage.