|
Developer Utilities 100% Client-Side · 0 Bytes Sent to Server Instant In-Memory Execution

AES Encrypt

Encrypt sensitive messages, API keys, and notes using authenticated AES-256-GCM encryption with PBKDF2 key derivation and random cryptographic salts directly in your browser.

Encrypted Base64 Output (Salt + IV + Cipher)
Military-grade AES-GCM encryption running 100% client-side via Web Crypto API.

Step-by-Step Instructions

1

Enter Plaintext Message or File

Type or paste confidential text into the input field or upload a file.

2

Enter Secret Passphrase / Key

Input a strong encryption password or 256-bit hexadecimal key.

3

Select AES Mode & Key Length

Choose AES-256-GCM (authenticated encryption, recommended) or AES-256-CBC with PBKDF2 key derivation.

4

Generate Ciphertext

Instantly copy the encrypted Base64 or Hex ciphertext containing salt, initialization vector (IV), and ciphertext.

Key Features & Capabilities

  • Military-grade Advanced Encryption Standard (AES) with 128-bit, 192-bit, and 256-bit key lengths
  • AES-GCM (Galois/Counter Mode) authenticated encryption with authentication tag to prevent tampering
  • Cryptographically secure PBKDF2 key derivation with 100,000+ SHA-256 iterations and random 16-byte salt
  • Hardware-accelerated client-side encryption via Web Cryptography API (`crypto.subtle`)

Frequently Asked Questions

What is AES-256 encryption and why is it considered unbreakable?

AES-256 (Advanced Encryption Standard with a 256-bit key) is the symmetric encryption standard adopted by the US Government for top-secret data. With $2^{256} \approx 1.15 \times 10^{77}$ possible key combinations, breaking AES-256 via brute force would take all the world's supercomputers combined billions of years.

Why is AES-GCM preferred over AES-CBC mode?

**AES-GCM (Galois/Counter Mode)** is an Authenticated Encryption with Associated Data (AEAD) mode. It provides both **confidentiality** (encryption) and **integrity** (an authentication tag). If an attacker tampers with even a single bit of the ciphertext, decryption fails completely. AES-CBC lacks built-in integrity and is susceptible to padding oracle attacks unless paired with HMAC.

What is an Initialization Vector (IV) and why must it be unique?

An Initialization Vector (IV) is a random 12-byte or 16-byte nonce generated for every encryption operation. It ensures that encrypting the exact same plaintext message twice with the same password produces completely different, randomized ciphertexts, preventing pattern frequency analysis.

Is my secret password or plaintext sent to your server?

No. All key derivation (PBKDF2) and AES encryption execute 100% locally in your browser using the native Web Cryptography API. Zero bytes of plaintext or passwords ever leave your machine.

Discover complementary online tools in the same workflow.