Free encryption and decryption tool

Encrypt or decrypt any text with AES-256 in your browser. Your message and your passphrase stay on the device, so neither is transmitted anywhere or written to a log. Nothing is stored: close the tab and both are gone.

Use a long random passphrase. Six random words from the secure password generator gives about 62 bits of entropy. If you lose it, the message cannot be recovered.

Every encryption uses a fresh random salt and initialization vector, so the same message encrypted twice looks different both times. The salt and IV are stored in front of the ciphertext, which is why the output is longer than the message you typed.

How the encryption and decryption tool works

Runs entirely in your browser

1

Enter your text and a passphrase

Paste the message you want to protect and choose a long random passphrase. Both stay in the browser tab.

2

Encrypt

Your browser stretches the passphrase into a 256-bit key with PBKDF2-HMAC-SHA256, then encrypts the text with AES-256-GCM on your device.

3

Share the encrypted text

Copy the Base64 output and send it. Share the passphrase through a different channel than the ciphertext, otherwise both travel together and the encryption buys you nothing.

Private by design: nothing leaves your browser

An online encryption tool that posts your plaintext and passphrase to a server has, at that moment, handed someone else both halves of the secret. This one never makes a network request:

01

100% client-side

Encryption and decryption happen on your device with the browser's Web Crypto API. No request is made when you click Encrypt.

02

Nothing stored or logged

No account, no analytics on what you encrypt, no history. Reload the page and the message and passphrase are gone from memory.

03

Open and verifiable

Encryption uses the browser's Web Crypto API with AES-GCM, a standard audited primitive. No custom-rolled cryptography.

What the tool does to your text

  1. Generates a random 16-byte salt and a random 12-byte initialization vector for every message.
  2. Derives a 256-bit key from your passphrase and that salt with PBKDF2-HMAC-SHA256 at 600,000 iterations, the figure OWASP recommends.
  3. Encrypts with AES-256-GCM, an authenticated mode, so tampering with the ciphertext makes decryption fail rather than return corrupted text.
  4. Encodes the salt, the IV, and the ciphertext together as Base64, which is what you copy.

Built for developers and security-conscious teams

People who have to move a secret through a channel they do not trust. BlockSurvey applies the same idea to research data with zero-knowledge surveys, where responses are encrypted before they ever reach a server.

Developers

Encrypt a config value or a credential before pasting it into a ticket, a chat thread, or a shared document.

Security & IT teams

Hand off a recovery code or a break-glass password without trusting the transport, using a passphrase agreed in advance.

Privacy-conscious users

Keep notes, seed phrases, or personal documents readable only to you, with a passphrase from the secure password generator.

Building something that handles sensitive data?

BlockSurvey runs on zero-knowledge surveys, so the responses you collect are never sold or mined. Responses are encrypted on the respondent's device before they travel anywhere.

Frequently asked questions

Is this encryption and decryption tool free?

Yes. There is no sign-up, no limit on how long your message can be, and decryption is not locked behind a payment. You can encrypt and decrypt as much text as you like.

Does my message or passphrase get sent to a server?

No. Both the message and the passphrase stay in your browser's memory and are never transmitted, logged, or stored. The page makes no network request when you click Encrypt or Decrypt. Open your browser's network tab while encrypting, or disconnect from the internet first, and you can confirm it yourself.

Which encryption algorithm does this use?

AES-256 in GCM mode, through the browser's Web Crypto API. Your passphrase is stretched into a 256-bit key with PBKDF2-HMAC-SHA256 at 600,000 iterations, using a random 16-byte salt. GCM is an authenticated mode, so decryption fails outright if the ciphertext was altered rather than returning corrupted text.

Why is the encrypted output different every time?

Because a fresh random salt and initialization vector are generated for every encryption. Encrypting the same message twice with the same passphrase gives two different outputs, which is what you want: identical ciphertext would tell an attacker that two messages are identical. The salt and IV are stored alongside the ciphertext, so decryption still works.

What happens if I lose the passphrase?

The message is unrecoverable. There is no reset, no backup copy, and no key escrow, because we never see the passphrase in the first place. Store it in a password manager before you send the ciphertext anywhere.

How should I choose a passphrase?

Use a long random passphrase from a generator, not a memorable phrase you invented. PBKDF2 slows an attacker down, but it cannot rescue a weak passphrase from a determined offline guessing attack. Six random words from the secure password generator gives roughly 62 bits of entropy, which is a reasonable floor.

Can I use this offline?

Yes. Load the page once, disconnect from the internet, and encryption and decryption keep working because everything runs in your browser. This is the simplest way to prove nothing is being transmitted.

Is this suitable for sending secrets to another person?

It works if you can share the passphrase over a separate channel, such as in person or through a different messaging app than the one carrying the ciphertext. Sending the passphrase next to the ciphertext defeats the purpose. For ongoing correspondence, public-key encryption such as PGP fits better, because it removes the need to share a secret at all.
Scripts are blocked. This site won’t work properly. If you’re using Brave, click the Shields icon and turn off Block scripts. Otherwise disable your ad blocker for this site.