UtilityTools

File Encryption Tool

Lock any file with AES-256-GCM. We generate a random key, encrypt the file, and give you both — the encrypted file can only be opened by the matching key. Everything runs in your browser.

⚠ Read before you encrypt:
The encrypted file embeds the original filename and a unique 96-bit IV. When you decrypt later, the original name and extension are restored automatically.

How it works

  1. The browser's built-in crypto.subtle generates a fresh, cryptographically random 256-bit AES key.
  2. A unique 96-bit IV (initialization vector) is generated for this file alone — never reused.
  3. Your file is encrypted with AES-GCM, which also produces an authentication tag that detects any tampering.
  4. The output blob layout: [2-byte name length] [original filename] [12-byte IV] [ciphertext + GCM tag].
  5. The key is exported as raw bytes and shown to you in Base64 for easy copy-paste or saving as a small text file.
  6. To decrypt, the same key + the same .enc file → original file restored, with its original name.

FAQ

How strong is the encryption?

AES-256 in GCM mode — the same algorithm used by HTTPS, modern VPNs and full-disk encryption. With a properly random 256-bit key, brute-force attacks are computationally infeasible.

Is the file uploaded anywhere?

No. Encryption and decryption happen entirely in your browser using the W3C Web Crypto API. The file and key never leave your device.

What happens if I lose the key?

The file is permanently unrecoverable. AES-256 has no backdoor. Always save the .key file the moment it's generated — preferably in two places.

Can two encrypted files share a key?

If you re-encrypt the same source file you'll get a different key and a fresh IV every time. There is no key reuse — each encryption is independent.

What's the size limit?

Files are processed in memory, so the practical limit depends on your browser. Most handle a few hundred megabytes; for very large files, use a desktop tool.

Will the file extension be preserved?

Yes. The original filename (including extension) is stored inside the encrypted blob and restored automatically when you decrypt.

🔒 100% client-side encryption. The file, the key and everything in-between never leave your browser.