What is AES-256-GCM and why use it for text encryption?
AES (Advanced Encryption Standard) with a 256-bit key is the symmetric algorithm most production systems rely on for bulk data protection. In GCM mode, each message uses a fresh random IV (nonce) and produces an authentication tag so ciphertext cannot be tampered with silently. That combination—confidentiality plus integrity—is what people mean by "authenticated encryption" in modern TLS and application crypto. This page targets searches like AES encrypt online, AES-256 decrypt text, and browser Web Crypto AES example while keeping keys derived from a passphrase you type, not from a pre-shared binary key file.
Passphrases are rarely 32 bytes of entropy on their own, so this tool applies PBKDF2 with SHA-256, a random 128-bit salt, and a configurable iteration count. The salt and iteration count travel inside the v1 bundle, so decryption only needs the passphrase and the pasted line—no separate metadata file. For password storage (logins), prefer dedicated password hashes such as bcrypt; use AES when you need to recover the original secret later, which is why teams still look for an AES encrypt decrypt workflow for documents, tokens at rest in dev environments, or teaching materials.
How to use this AES encrypt and decrypt tool (step by step)
- Open the Encrypt tab, enter a strong passphrase, and set PBKDF2 iterations (default 150,000). Higher iterations slow down brute-force guessing but take longer on low-end devices.
- Paste UTF-8 plaintext or click Upload file (upload icon) to load a .txt or UTF-8 file. Click Encrypt; the ciphertext appears as one line beginning with
v1:. - Use Copy output (copy icon) to store the bundle in a note, ticket, or config slot. Do not trim or edit the string—whitespace inside Base64 matters once you normalize line breaks.
- To decrypt, switch to Decrypt, paste the full v1: line, type the same passphrase, and click Decrypt. The iteration count is read from the bundle, so you do not re-enter it. Copy recovered plaintext with the same copy control.
- When something fails, verify the passphrase, ensure the bundle is complete, and cross-check related workflows: Base64 encode/decode if another system wrapped the payload differently, or the JWT encoder if you are mixing token formats.
Security notes for developers and students
Treat this page as a learning and testing utility, not a replacement for audited key management, HSMs, or regulated controls. Side-channel resistance, secure memory, and update policies differ between browsers and native code. If you ship production features, use well-maintained libraries in your stack, store secrets in vaults or KMS, and rotate keys on a schedule. For transport security you still rely on TLS; this tool addresses symmetric encryption of content at rest or in copy-paste workflows, not HTTPS itself. When you evaluate how strong a passphrase is before trusting it here, run it through the password strength meter and read the guidance on length and character sets.
Related security and developer tools
More from the security and encryption tools section:
- Password Strength Meter — Score password entropy, estimate crack time, and get practical hardening tips.
- bcrypt Hash Generator — Generate bcrypt hashes with configurable cost for secure password storage testing.
- RSA Key Pair Generator — Create 1024–4096 bit RSA public/private key pairs locally for demos and dev workflows.
- CSP Builder — Toggle Content-Security-Policy directives and copy a header value ready for your server.
- Security Headers Checker — Analyze security-related HTTP headers on any URL with graded guidance to harden responses.
- JWT Encoder — Build HS256-signed JWTs from custom header and payload for API and auth testing.
- HMAC Generator — Create HMAC-SHA256 or HMAC-SHA512 signatures with a secret for webhook and API verification.
- SSL Certificate Decoder — Paste PEM certificates to read subject, issuer, SANs, and validity windows.
- .htaccess Generator — Assemble common Apache .htaccess rules for redirects, HTTPS, caching, and access control.