Encrypt & Decrypt Text OnlineAES-256-GCM in Your Browser

Type a message and a passphrase to encrypt it with AES-256-GCM, then send the result by chat or email. The recipient decrypts it with the same passphrase. Everything runs in your browser.

Your input is never sent anywhere.

Details

Text to encrypt

Passphrase

Empty

The passphrase is not stored, so a forgotten passphrase cannot be recovered. Send the encrypted text and the passphrase through different channels.

Protect a Password or Private Note Before You Send It

Sending a password, an API key, or a private note as plain text through chat or email is a risk you can avoid. This page encrypts your text with a passphrase before it leaves your device. Only someone who has the same passphrase can turn it back into readable text.

It uses AES-256-GCM encryption. Your passphrase is turned into a key with PBKDF2 (SHA-256, 200,000 iterations), which makes guessing attacks slower. There are no accounts and no key exchange. Both sides only need to know the passphrase.

Encryption and decryption run in your browser with the Web Crypto API. The tool does not send your text or passphrase anywhere. You can copy the encrypted text, or copy a share link that carries it.

When to Encrypt a Message Before Sending It

Sharing a new password or Wi-Fi login

Encrypt a freshly created password or network login before you paste it into chat or email. The plain text will not sit in the message history or in a forwarded email.

Passing an API key to a teammate

Send the encrypted text in the team channel and the passphrase another way. If the channel is searched or exported later, the key is not readable there.

Sending the encrypted text as a link

Copy a share link instead of the raw text. When the recipient opens it, the encrypted text is already filled in on the Decrypt tab, and they only need to enter the passphrase.

Leaving a note in a shared doc or ticket

If you have to put sensitive details somewhere many people can read, such as a ticket or a shared document, encrypt them first and share the passphrase with only the people who need it.

How to Encrypt Text With a Passphrase and Share It

  1. On the Encrypt tab, enter the text and a passphrase. You can use Random generate to create one.
  2. Click Encrypt. The tool shows the encrypted text (a Base64URL string) and a button to copy a share link.
  3. Send the encrypted text or the link to the recipient. Send the passphrase through a different channel, such as a phone call.
  4. The recipient opens the Decrypt tab, pastes the encrypted text or the full link, enters the passphrase, and clicks Decrypt.

Note: If you send the encrypted text and the passphrase in the same chat or email, anyone who sees that message can read your text. Use two separate channels.

Security Notes and Limits to Know Before You Rely on It

  • Encryption uses AES-256-GCM, with a key derived from your passphrase by PBKDF2 (SHA-256, 200,000 iterations).
  • The passphrase is not stored. If you forget it, nobody can decrypt the text, including the site operator.
  • A share link keeps the encrypted text after the # in the URL, which browsers do not send to the web server. The link still stays in your browser history and in the chat where you paste it.
  • The strength meter checks length and character types only. It does not detect common words or predictable phrases.
  • This is meant for occasional messages. It is not a replacement for a password manager or an end-to-end encrypted messenger, and it encrypts text only, not files.

Encryption Specs: AES-256-GCM, PBKDF2, Salt, and IV

The parameters this tool uses for every message.

ItemValue
CipherAES-256-GCM (authenticated encryption)
Key derivationPBKDF2 with SHA-256, 200,000 iterations
Salt16 random bytes, new for each encryption
IV (nonce)12 random bytes, new for each encryption
Output formatBase64URL text: version byte + salt + IV + ciphertext
Network useNone for your data. It runs on the Web Crypto API in your browser.

How Passphrase Encryption Works (Symmetric Encryption Explained)

A short explanation of the cipher, the key derivation step, and how to use them safely.

Why a shared passphrase is easy to use

With public-key encryption, each person first creates and exchanges a key pair. With passphrase (symmetric) encryption, both sides only need to know the same passphrase.
There is nothing to install and no account to create, which suits one-off messages where you need to encrypt a short note right now.

AES-256-GCM and PBKDF2 in plain terms

AES-256-GCM encrypts the data and also attaches an authentication check, so a changed or damaged message fails to decrypt instead of producing wrong text.
A passphrase is not a good key by itself, because it can be guessed. PBKDF2 repeats a hashing step 200,000 times to turn the passphrase into a key, which makes each guess cost much more computing time.

Why the encrypted text and passphrase need separate channels

If both travel in one message, a single leaked message gives an attacker everything.
Send the encrypted text in chat and the passphrase by phone, in person, or in a different app. Splitting the channels is the simplest way to make the encryption count.

Why the part after # in a share link stays off the server

The share link looks like https://toolkitslab.com/en/tools/text-encryption#encrypted-text. The text after the # (the URL fragment) is handled by the browser and is not included in the request to the web server, so it does not appear in the server's access logs.
When the recipient opens the link, the page reads the fragment, fills in the Decrypt tab, and asks for the passphrase.

Common Mistakes That Make Encrypted Messages Easy to Read

Sending the encrypted text and passphrase together

Writing both in the same chat message or email defeats the encryption, because anyone who can see that message can decrypt it.

💡 See the solution▼
Send them in separate messages through separate channels, for example chat for the encrypted text and a phone call for the passphrase.

Choosing a short or guessable passphrase

A passphrase like 1234 or password can be guessed quickly if someone gets hold of the encrypted text.

💡 See the solution▼
Aim for 14 or more characters and a meter reading of Strong or better, or use Random generate. Avoid common words and names even when the meter looks full.

Losing the passphrase

If you set a passphrase on the spot and do not write it down, you may not be able to decrypt your own text later.

💡 See the solution▼
Store the passphrase in a password manager before you close the page, especially for text you plan to keep.

Posting a share link in a public place

The fragment stays off the web server, but the link itself contains the encrypted text. Anyone who sees the link can copy it and try to guess the passphrase.

💡 See the solution▼
Send share links only in private chats or email to the person who needs them, and never post them on public pages or social media.

Leaving the original text in clipboard history or notes

The plain text you typed before encrypting may still be in a notes app, a clipboard manager, or your browser's form history.

💡 See the solution▼
After you encrypt, delete the original from notes and clipboard history, and use Clear on this page.

FAQ: Passphrases, Share Links, and Decryption Errors

Q.What encryption does this tool use?

Q.

A. It uses AES-256-GCM. Your passphrase is turned into a 256-bit key with PBKDF2 (SHA-256, 200,000 iterations). Each time you encrypt, the tool generates a new random 16-byte salt and a new random 12-byte IV (initialization vector).

Q.Can I decrypt my text if I forget the passphrase?

Q.

A. No. The tool does not store your passphrase and has no way to recover it. Without the passphrase, the encrypted text cannot be turned back into the original. Keep the passphrase in a password manager or another safe place.

Q.Is my text or passphrase sent to a server?

Q.

A. No. Encryption and decryption run in your browser with the Web Crypto API, and the tool code makes no network requests with your text, encrypted text, or passphrase. Closing the tab clears what you typed.

Q.How does the share link work, and is it safe to send?

Q.

A. The share link puts the encrypted text after the # in the URL. Browsers do not include that part when they request a page, so it does not reach the web server or its access logs. Anyone who sees the link still has the encrypted text, though. Send the link only to the person who needs it, and give them the passphrase through a different channel, such as a phone call.

Q.How strong should my passphrase be?

Q.

A. Use at least 14 characters with a mix of uppercase and lowercase letters, numbers, and symbols, or use the random generator. The strength meter checks length and character types only. It cannot tell whether you used a common word or a predictable phrase, so avoid those even if the meter looks full.

Q.Why does decryption fail?

Q.

A. Usually the passphrase is wrong, or part of the encrypted text is missing because of a copy error. AES-GCM checks the data when it decrypts, so a wrong passphrase or a changed character makes decryption fail instead of returning garbled text.

Q.Why is the encrypted text different each time I encrypt the same message?

Q.

A. Each encryption uses a new random salt and IV, so the output changes every time, even with the same text and passphrase. Any of those outputs decrypts correctly with the passphrase you used.

Q.Can I decrypt the output with OpenSSL or another tool?

Q.

A. Not directly. The output uses this tool's own format: a version byte, the salt, the IV, and the ciphertext, encoded as Base64URL. Other tools would need code that reads that layout, so plan to decrypt with this page.

Q.Is it free? Is there a limit on use?

Q.

A. It is free to use, with no sign-up. The tool sets no limit on text length. Very long text produces a very long share link, and some apps cut off long URLs, so send the encrypted text itself in that case.

User Feedback & Request

Your feedback
makes this tool better.

Tell us which features you'd like, what should be fixed, or which new tool you'd like to see. An engineer reads every submission and uses it to guide development.

Send feedback