Security

Text Encryption

AES encryption plus classic ciphers (Caesar, Vigenère).

Encrypt or decrypt text Four algorithms: two classical (Caesar/Vigenère, demo only) and two modern (AES-256-CBC and AES-256-GCM, PBKDF2-derived key).

Server-side encryption — fine for low/medium-stakes secrets. For high-security data prefer client-side tools (e.g. age, gpg) on your own machine.

About this tool

Text Encryption ciphers any text you paste using either modern AES (the de-facto symmetric standard) or classical algorithms (Caesar, Vigenère, Atbash, Rail-Fence) for educational or puzzle purposes. AES runs as AES-256-GCM by default — 256-bit key derived from your passphrase via PBKDF2 with 100,000 iterations, an integrated authentication tag that detects any tampering, and a fresh random IV per message. The ciphertext output is Base64 so it pastes cleanly into chat, email, or notes.

All cryptographic operations run in your browser through the Web Crypto API — the same primitives that browsers use for TLS. Nothing crosses the network: not the plaintext, not the passphrase, not the ciphertext. Decryption requires the exact same passphrase that encrypted the message — there is no recovery, no escrow, no backdoor. Lose the passphrase and the ciphertext is unrecoverable, which is the entire point.

When to use this tool

  • Sending a short secret over an untrusted channel. Encrypt the API key with AES, paste the ciphertext into chat, share the passphrase out-of-band by phone.
  • Storing notes in plaintext-only services. Keep an encrypted blob in Notion, Drive, or a sticky note without trusting the host.
  • Teaching cryptography. The Caesar / Vigenère modes are useful for puzzle creation and showing why classical ciphers fall to frequency analysis.
  • Quick file-free secret sharing. No download, no install — open the page, encrypt, send.

About the classical ciphers

Caesar and Vigenère are not secure and we mark them as such in the UI. A Caesar shift falls to brute force in 25 attempts; Vigenère falls to Kasiski analysis or index-of-coincidence in seconds. They are included for educational use only — never use them for real secrets. If the warning is dismissed you accept the risk; if you need security, use AES-GCM. Atbash and Rail-Fence are equally classical and equally unfit for protecting real information.

Frequently asked questions

Is AES-256-GCM safe?

Yes — it is the symmetric cipher used by TLS 1.3, IPsec, SSH, and most file-encryption tools (BitLocker, FileVault, VeraCrypt). The 256-bit key is computationally infeasible to brute-force; GCM mode adds authentication so any tampered byte is detected. The actual weak link is always the passphrase — a 4-character word is broken in seconds regardless of the cipher. Use a long, random passphrase generated by the Password Generator tool.

What happens if I lose the passphrase?

The ciphertext is permanently unrecoverable. There is no backdoor, no support reset, no recovery key — that is the security property you wanted when you encrypted it. Always store the passphrase separately from the ciphertext (different channel, different device, ideally in a password manager). For high-value secrets, consider Shamir secret-sharing across trusted parties instead of a single passphrase.

Does the encryption happen in my browser?

Yes, entirely. We use the Web Crypto API (window.crypto.subtle) — the same JavaScript interface to native cryptographic primitives that powers in-browser signing, TLS handshakes, and key derivation across the modern web. No request is made to our servers; the page works offline once loaded. You can disconnect from the network before encrypting if you want to verify this.

Can I decrypt a message encrypted somewhere else?

Only if it used the exact same format: AES-256-GCM with PBKDF2 key derivation (100k iterations, SHA-256), Base64-encoded payload with the salt and IV prepended. We document the layout so it can be reproduced in any language — but third-party "AES" outputs from other tools usually have a different binary format and will not decrypt here. For interoperability, use a standard library and a documented mode like NaCl secretbox or age.