What it does
This is a local encryption generator for short text. Type a message and a passphrase, and the tool returns a single encrypted envelope that you can copy into an email, a note, or a file. The decryption side reads the same envelope and the same passphrase and gives you back the original text.
The cipher is AES-256-GCM. It provides confidentiality and integrity: a wrong passphrase, a changed character, or a truncated envelope should fail cleanly instead of returning a plausible-looking wrong message. The key is derived from your passphrase with PBKDF2-SHA-256, so the passphrase itself is never used directly as a key.
Everything runs through the browser’s Web Crypto API. There is no upload step, no account, and no stored copy. That is also the limitation: if you lose the passphrase, this page cannot help you recover the text.
The encrypted envelope
The output is a compact text format with five dot-separated parts:
TTENC1.600000.salt.iv.ciphertextThe first part is a version marker. The second is the PBKDF2 work factor. Next come the random salt and initialization vector, followed by the ciphertext and its authentication tag. Everything after the work factor is base64url, a URL-safe encoding chosen so the envelope can survive copy and paste without padding characters or line wrapping.
The envelope is self-contained. It carries no filename, timestamp, or identity, and it does not reveal the passphrase. Anyone who has the envelope and the passphrase can decrypt it. Base64 is not encryption; it is just a transport encoding for the bytes.
Passphrase and key derivation
PBKDF2 deliberately makes each guess expensive. The default 600,000 SHA-256 iterations turn a passphrase into a 256-bit AES key over a random salt. The salt means two messages encrypted with the same passphrase do not produce the same key or the same ciphertext. The random IV does the same job for the AES-GCM nonce.
Eight characters is the minimum this page accepts, not a recommendation. A short or common passphrase is the weakest part of the system, no matter how strong the cipher is. Use a long random passphrase from a password manager, or a multi-word phrase with enough unpredictability. There is no rate limit in the tool itself, so an attacker who has the envelope can guess offline for as long as they like.
The passphrase is not stored in the envelope, the URL, or local storage. It exists in the component state while the tab is open. Clearing the field or closing the tab removes that copy. Browser extensions, clipboard history, and screen capture are outside the page’s control.
Examples
Plaintext
Meet me at seven.Encrypted envelope
TTENC1.600000.YX3TbGsVR3KPT0CrwWURwQ.pleRA9uOShwt_2Y2.gnG7M3IF_jvdlQ2pE3HBPhbXq_lmgidWennZo2rwQM9XThis envelope was generated with the same code the tool runs. It is a demonstration, so the passphrase is published here; do not reuse it. Notice that the envelope is much longer than the message. The salt, IV, version, work factor, and authentication tag all take space before the ciphertext begins.
Encrypted envelope
TTENC1.600000.YX3TbGsVR3KPT0CrwWURwQ.pleRA9uOShwt_2Y2.gnG7M3IF_jvdlQ2pE3HBPhbXq_lmgidWennZo2rwQM9XPlaintext
Meet me at seven.Decryption reads the work factor and salt from the envelope, derives the same key, and checks the GCM tag. If the passphrase is wrong or the envelope was altered, the operation fails with an authentication error. It does not return partial text or a best guess.
Limits worth knowing
- There is no recovery. The passphrase is the only key. Store it separately from the ciphertext and make sure it is in a place you can still reach later.
- This is a browser tool, not an audited product. The implementation uses standard Web Crypto primitives, but the page around it can be affected by a compromised site, a malicious extension, a clipboard watcher, or a shared screen. For high-stakes material, use a dedicated reviewed tool.
- It encrypts text, not files or folders. Paste the content you need to protect. A filename, a directory listing, or metadata outside the envelope is not covered.
- The cap is deliberate. The page accepts up to 250,000 characters of plaintext. Very large inputs make the tab slow and are better handled by a file-encryption tool.
- The envelope does not prove who sent it. AES-GCM authenticates the ciphertext, not the sender. Anyone can encrypt a message with a passphrase and claim it came from someone else.
- No forward secrecy. If the passphrase is later exposed, every envelope encrypted with it can be decrypted. Changing the passphrase for each message limits the damage but does not make the old messages safe.
Page updated