AES Text Encryption (AES-GCM + PBKDF2)
Encrypt and decrypt text with AES-256-GCM using a passphrase-derived key (PBKDF2 SHA-256, random salt), entirely in your browser with no uploads.
AES Text Encryption (AES-GCM + PBKDF2) — Encrypt any text with AES-256-GCM and decrypt it back using a passphrase you choose. The key is derived from your passphrase with PBKDF2 (SHA-256, a random salt and 150,000 iterations), and the salt and IV are packed with the ciphertext into one Base64 string. Everything runs in your browser via the Web Crypto API, so neither your text nor your passphrase ever leaves your device.
What is AES Text Encryption (AES-GCM + PBKDF2)?
A free, browser-based AES text encryptor and decryptor. It uses AES-256 in GCM mode (authenticated encryption) with a key derived from your passphrase via PBKDF2-SHA-256, using a fresh random salt and 150,000 iterations every time you encrypt. The encrypted output is a single Base64 string that bundles the salt, the initialization vector (IV) and the ciphertext, so you can paste it anywhere and decrypt it later with the same passphrase. People use it to protect notes, API keys, recovery phrases and short messages before storing or sharing them, without trusting a server. Switch between Encrypt and Decrypt with the toggle, type your text and passphrase, and copy the result.
How to use AES Text Encryption (AES-GCM + PBKDF2)
- Pick Encrypt or Decrypt with the toggle at the top.
- In Encrypt mode, type or paste the plain text you want to protect; in Decrypt mode, paste the Base64 string you got earlier.
- Enter the passphrase. For decryption it must match the exact passphrase used to encrypt.
- The result appears automatically below as you type — a Base64 ciphertext when encrypting, or the recovered plain text when decrypting.
- Click the copy button to copy the output, then store or share it.
- To read an encrypted string later, switch to Decrypt, paste it, and enter the same passphrase.
Examples
Encrypt a secret note
Input
meet me at 8pm
Output
k3Jp…Qz== (Base64 of salt + IV + AES-GCM ciphertext)
Decrypt it back
Switch to Decrypt, paste the Base64 string, and enter the exact passphrase you used. The original text "meet me at 8pm" is recovered. A wrong passphrase fails authentication and shows a decryption error instead of garbage.
Why each output differs
Encrypting the same text twice produces two different Base64 strings, because a fresh random salt and IV are generated each time. Both still decrypt to the same plain text with the correct passphrase.
Frequently asked questions
- What encryption does this use?
- AES-256 in GCM mode (authenticated encryption). The key is derived from your passphrase with PBKDF2-SHA-256 using a random 16-byte salt and 150,000 iterations. A random 12-byte IV is used per encryption, and the salt and IV are stored with the ciphertext.
- Why do I get a decryption error?
- Decryption fails when the passphrase is wrong or the Base64 input is incomplete or corrupted. AES-GCM verifies integrity, so it refuses to return tampered or mismatched data rather than producing garbage. Re-check the passphrase and that you pasted the full string.
- Is my passphrase or text sent anywhere?
- No. All encryption and decryption run locally in your browser using the built-in Web Crypto API. Your text and passphrase never leave your device and are never uploaded to any server.
- Is the passphrase saved if I use it in the workspace?
- No. The passphrase field is a password input and is deliberately excluded from workspace state capture, so it is never stored, shared in links or written to exported files. You must re-enter it each session.
- Can I lose access to my data?
- Yes — if you forget the passphrase there is no recovery and no backdoor. The passphrase is the only key. Choose a strong one you can remember, and keep the full Base64 output intact.
Related tools
HMAC Generator
Compute an HMAC signature from any message and a secret key using SHA-1, SHA-256, SHA-384 or SHA-512, with hexadecimal or Base64 output, live in your browser.
JWT Tools — Decode, Verify & Sign
Decode JWTs, verify HS, RS and ES signatures with a secret or PEM public key, and sign new HS tokens — all entirely in your browser.
Password Generator
Create strong, random passwords with adjustable length, lowercase, uppercase, digit and symbol sets, and ambiguous-character filtering, all in your browser.
TOTP Generator
Turn a base32 secret into a live TOTP two-factor authentication code with a chosen 6 or 8 digit length and time period, entirely in your browser.