A simple, secure, client-side web application that allows users to encrypt and decrypt text messages using a shared secret key.
The goal of this project is to demonstrate how modern browser-based cryptography works while keeping the user experience minimal, fast, and privacy-focused.
- Encrypt plain text into a secure alphanumeric string
- Decrypt encrypted messages back to their original form
- Uses a secret key (password-based encryption)
- Entirely client-side (no backend, no database)
- No data is stored or transmitted anywhere
- Clean and minimal UI
- Works on all modern browsers
This project uses the Web Crypto API provided by modern browsers.
- User enters a message and a secret key
- The secret key is converted into a cryptographic key using PBKDF2
- The message is encrypted using AES-GCM (256-bit)
- The output is converted into a copyable alphanumeric string
- User pastes the encrypted message
- Enters the same secret key used during encryption
- The encrypted data is decrypted back to the original message
If the secret key is incorrect, decryption will fail.
- Encryption and decryption happen entirely in the browser
- No server is involved at any stage
- No messages or keys are logged, stored, or tracked
- AES-GCM is a modern and secure encryption standard
- This project is meant for educational and demonstration purposes
- HTML5
- CSS3
- Vanilla JavaScript
- Web Crypto API
No external libraries or frameworks are used.
- Password strength indicator
- Option to download encrypted message as a file
- Light/Dark mode toggle
- Optional QR code sharing for encrypted text
This project is intended for learning and personal use.
Do not use it for encrypting highly sensitive or critical information without proper security audits.
If you find this helpful, consider giving the repo a ⭐.