Encrypt & Decrypt Message With a Password or Public Key
Turn a message into encrypted text you can paste into any chat, email or forum. Lock it with a password, or with the recipient's public key so no password has to be shared.
- Encrypted in your browser
- Password or public key
- Runs locally, no usage quota
History from the previous version was found on this device. It holds messages and their passwords unencrypted. Secure Notes Encryption can encrypt and keep them safely, or you can delete them here.
Give the password to the recipient another way, such as a phone call.
Ask the recipient to open My key pair on this page and send you their public key.
How to test it
- Press Test decrypt, or copy the encrypted message and paste it into the Decrypt tab.
- For a password message, type the same password. For a public-key message, use the key pair it was made for. The original message should appear.
- Try a wrong password. You should see Wrong password, wrong key or damaged text.
- Change one character of the encrypted text. It should fail the same way, so changes can't go unnoticed.
- Encrypt the same message twice. The two results should look completely different, because each one uses fresh random values.
A key pair lets people send you encrypted messages without agreeing a password. Share the public key freely. The private key stays in this browser, locked with a key password.
Fingerprint:
Read the fingerprint aloud on a call so the sender can check they have your real key.
The backup is encrypted with your key password. Without it, messages sent to this key are lost if you clear your browser data.
How this message encryption tool works
Two ways to lock a message
With a password, both of you need the same password. With a public key, you lock the message with the recipient's public key and only their private key can open it.
Nothing leaves your browser
Your browser's Web Crypto API does all the work. There's no server, so there's no account, no rate limit and nothing for anyone to intercept on our side.
Your private key stays locked
If you create a key pair, the private half is encrypted with your key password before it's stored in this browser. The page never saves messages or passwords.
Check it yourself. Open your browser's developer tools (F12), choose the Network tab, then encrypt and decrypt a message. No requests are made, and the tool keeps working if you switch off your internet after the page loads.
Messaging problems this tool fixes
Find the problem you ran into. Each fix takes you to the part of the tool that solves it.
| Your problem | How this tool fixes it | Fix |
|---|---|---|
| Sending something private | ||
| I need to send sensitive information over WhatsApp or email | Encrypt it with a password, paste the encrypted text into the chat, and tell them the password on a call. The chat only ever holds scrambled text. | |
| We can't call or meet to agree a password | The recipient creates a key pair in My key pair and sends you their public key. You encrypt with it, and only their device can decrypt. | |
| The other person has never used an encryption tool | Copy with instructions adds a short line telling them where to decrypt the message, so they only need a browser. | |
| It won't decrypt | ||
| "Wrong password, wrong key or damaged text" | Passwords are case-sensitive. If it's right, part of the text was lost when copying. Spaces and line breaks added by email apps are ignored. | |
| "This message was locked with a public key" | It can only be opened with the key pair it was made for, on the device where that key pair lives. Restore your backup file in My key pair if you've changed devices. | |
| My encrypted text came from the previous version of this tool | Paste it into Decrypt. The older format is recognised automatically and decrypted in your browser. | |
How your message is locked
With a password, your browser turns the password into a key and encrypts the message with it.
key = PBKDF2-SHA256(password, random salt, 600,000 rounds)
text = aitmsg1 . p . salt . IV . AES-256-GCM(key, IV, message)
With a public key, your browser makes a one-time key pair for this message, combines it with the recipient's public key, and derives a fresh encryption key. Only the recipient's private key can recreate it.
secret = ECDH-P256(one-time private key, recipient public key)
key = HKDF-SHA256(secret)
text = aitmsg1 . k . one-time public key . IV . AES-256-GCM(key, IV, message)
AES-GCM adds an authentication tag, so a wrong password, the wrong key or one changed character makes decryption fail instead of showing scrambled text.
Sources: NIST SP 800-38D (AES-GCM), RFC 5869 (HKDF), OWASP (PBKDF2 rounds), W3C Web Cryptography API.
Mistakes that expose an encrypted message
Encryption can protect the message, but these mistakes can expose it.
Anyone who reads that chat can decrypt the message. Use a call, a different app or a public key instead.
A swapped key means you're writing to someone else. Compare the fingerprint with the recipient on a call before sending anything sensitive.
Clearing browser data deletes your private key. Messages sent to it can't be opened afterwards. Download the backup file.
A guessable password can be cracked offline. Anyone holding the encrypted text can try passwords without limit.
Habits for sending encrypted messages
Do
- Send the encrypted text and the password through different channels.
- Check public-key fingerprints on a call the first time.
- Test-decrypt before sending something important.
- Change any password or code you shared once it has been used.
- Keep a backup of your key pair somewhere safe.
Avoid
- Reusing one password for every encrypted message.
- Sending OTP codes or UPI PINs to anyone, encrypted or not.
- Decrypting messages on shared or public computers.
- Accepting a new public key from someone without checking it.
- Forwarding decrypted text back into the same chat.
Frequently asked questions
Short answers about privacy, passwords versus keys, and messages that won't open.
Is my message sent to your server?
No. Encryption and decryption happen in your browser with the Web Crypto API, and the page makes no network requests while you use the tool. It keeps working if you go offline after it loads.
Should I use a password or a public key?
Use a password when you can give it to the other person another way, such as a phone call. Use a public key when you can't: the recipient creates a key pair here, sends you their public key, and only the recipient's private key can open what you encrypt.
Is it safe to share my public key?
Yes. A public key can only lock messages, not open them. Before you rely on someone's public key, compare its fingerprint with them over a call or in person, so you know nobody swapped it on the way.
Where is my key pair stored?
In this browser only, and the private half is encrypted with a key password you choose. Download a backup: if you clear your browser data or change devices without one, messages sent to that key can't be opened.
How strong is the encryption?
Messages are encrypted with AES-256-GCM. With a password, the key comes from PBKDF2-SHA256 with 600,000 rounds. With a public key, a fresh key is agreed for every message using ECDH on the P-256 curve and HKDF-SHA256.
Can I decrypt messages made with the previous version of this tool?
Yes. Paste the old encrypted text into the Decrypt tab. The older format is recognised automatically and decrypted in your browser.
How is this different from Private Note Sender and Secure Notes?
This tool gives you encrypted text to paste into any chat, email or forum. Private Note Sender puts the note inside a link instead, and Secure Notes Encryption keeps encrypted notes saved on your own device.