Encrypt / Decrypt Text

Encrypt text and decrypt ciphertext locally

Choose an algorithm, enter a secret key, and copy results instantly — all in your browser

Last updated: January 22, 2026
Frank Zhao - Creator
CreatorFrank Zhao

Encrypt

Decrypt

Introduction / overview

The Encrypt / Decrypt Text tool helps you turn readable text (plaintext) into an unreadable string (ciphertext), and back again — using a secret key that only you know. Everything runs locally in your browser, so your input is not sent to a server.

What problems does it solve?

  • Quickly protect small pieces of text before sharing them (e.g., temporary notes, internal IDs, short messages).
  • Validate that you can decrypt a ciphertext with the same algorithm and secret key (useful in debugging).
  • Compare behavior across algorithms (AES, TripleDES, Rabbit, RC4) without writing code.

Practical note: for real security, the secret key matters as much as (or more than) the algorithm. A short or predictable key makes encryption easy to guess.

If your goal is to generate a one-way fingerprint (so you can compare without revealing the original), try our Hash Text tool. If you need password hashing specifically (designed for password storage, not reversible encryption), use Bcrypt.

How to use / quick start

Encrypt (plaintext → ciphertext)

  1. 1Type your plaintext into Your text.
  2. 2Enter a secret key in Your secret key. (Think of it like a password.)
  3. 3Choose an Encryption algorithm. If you’re unsure, pick AES.
  4. 4Copy the output from Your text encrypted. That ciphertext is what you can safely transmit.

Decrypt (ciphertext → plaintext)

  1. 1Paste the ciphertext into Your encrypted text.
  2. 2Choose the same algorithm that was used to encrypt it (this must match).
  3. 3Enter the same secret key. If the key or algorithm differs, decryption will fail or output will be empty.
  4. 4Read the result in Your decrypted text.

Sharing configs (optional)

The Share button can generate a link that includes configuration values. If you enable “include results”, be careful — plaintext and ciphertext can be sensitive.

Step-by-step examples

Example 1: Encrypt a short note and decrypt it back

  1. In the Encrypt panel, set algorithm to AES.
  2. Enter plaintext: Meet at 7pm
  3. Enter secret key: BlueDoor-2026
  4. Copy the ciphertext from Your text encrypted and paste it into the Decrypt panel.
  5. Use the same algorithm (AES) and the same key (BlueDoor-2026). You should see the original note in Your decrypted text.

How to interpret the result

Ciphertext is expected to look random. Even a tiny change in plaintext (or key) should produce a very different ciphertext.

Example 2: Quick key-strength sanity check (using entropy)

This tool doesn’t compute key strength for you, but you can estimate how hard a key is to guess. A common back-of-the-napkin model is: H=Llog2(C)H = L\,\log_2(C), where LL is the length and CC is the size of the character set.

H=Llog2(C)H = L\,\log_2(C)==12log2(62)12\,\log_2(62)\approx71.6 bits71.6\ \text{bits}

In this example, a 12-character key using letters + digits (about C=62C=62) lands around H71.6H\approx 71.6 bits. If your key is something like a common phrase or a short word, the real strength can be much lower.

Real-world examples / use cases

Sharing a temporary identifier

Background: you need to send an internal ticket ID over chat.

Inputs: plaintext “TICKET-483920”, algorithm AES, key “TeamKey-2026”.

Result: ciphertext string (copy from the tool).

How to use it: send ciphertext; share the key via a separate channel.

Encrypting a short config snippet

Background: you want to paste a snippet into an issue without exposing it.

Inputs: plaintext “API_KEY=…”, algorithm AES, key with high entropy.

Result: ciphertext you can paste publicly.

How to use it: decrypt later when you need the original value.

Debugging “can’t decrypt” issues

Background: ciphertext decrypts in one app but not in another.

Inputs: same ciphertext, test multiple algorithms, verify the exact key.

Result: quickly find a mismatch (algorithm vs key vs corrupted ciphertext).

Tip: if you only need a stable fingerprint, use Hash Text instead.

Teaching / learning crypto basics

Background: you want to demonstrate that encryption is reversible.

Inputs: small plaintext, consistent key, algorithm AES.

Result: ciphertext changes dramatically with tiny input changes.

How to use it: illustrate why key choice and integrity matter.

Common scenarios / when to use

Share ciphertext over chat

Useful when you can send the key separately.

Protect short notes locally

Good for quick personal workflows.

Recover text from ciphertext

As long as algorithm + key match exactly.

Test key / algorithm compatibility

Fast checks during development and QA.

Need a non-reversible fingerprint?

Better fit: Hash Text

Password storage?

Use Bcrypt instead of reversible encryption.

When it might not be a good fit

  • Encrypting large files (use file encryption tools instead).
  • High-assurance security requirements (use audited libraries and vetted modes/parameters).
  • Password hashing for databases (use a purpose-built KDF such as bcrypt/argon2).

Tips & best practices

  • Prefer AES unless you have a specific reason. Some older algorithms are historically important but not ideal for new security designs.
  • Use a long, unpredictable key. A good mental target is entropy around H64 bitsH \gtrsim 64\ \text{bits} for casual protection.
  • Keep ciphertext intact. Losing a character (or changing whitespace) can make decryption fail.
  • If you need to store passwords, do not encrypt them. Hash them with a slow KDF like bcrypt.
  • If your goal is comparison only (same input → same output), use hashing rather than reversible encryption.

Calculation method / formula explanation

This calculator performs symmetric encryption/decryption. While the cryptographic details depend on the algorithm, the key security idea is that the key defines a huge search space.

Keyspace size (very simplified)

If a key has length LL and each position has CC possible characters, then the number of possible keys is:

N=CLN = C^L

Entropy (in bits) is often expressed as:

H=log2(N)=Llog2(C)H = \log_2(N) = L\,\log_2(C)

These formulas are a rough model, but they are useful for intuition.

Worked estimate: brute-force time (rule of thumb)

If an attacker can try RR keys per second, and there are NN keys, a rough upper bound is:

TNRT \approx \frac{N}{R}
T272109T \approx \frac{2^{72}}{10^9}\approx4.7×1012 s4.7 \times 10^{12}\ \text{s}\approx1.5×105 years1.5 \times 10^5\ \text{years}

The takeaway: adding a few characters to a strong key can change feasibility dramatically.

Related concepts / background info

Symmetric encryption

“Symmetric” means the same secret key is used to encrypt and decrypt. If you lose the key, you can’t recover the plaintext.

Hashing vs encryption

Hashing is one-way (not reversible), encryption is two-way (reversible with the key). If you’re verifying integrity or comparing values, hashing is often the better fit.

Key management

The safest ciphertext is useless if the key is sent alongside it. Share the key through a different channel, and consider rotating it if you suspect it was exposed.

Frequently asked questions (FAQs)

Why can’t I decrypt my text?

In almost every case, either the algorithm or the secret key doesn’t match the original encryption settings. Also check that the ciphertext is not truncated or modified.

Is AES always the best choice?

AES is widely used and generally the default recommendation for modern symmetric encryption. For quick utility workflows, it’s a sensible first pick.

What if I forget the secret key?

You won’t be able to recover the plaintext. Symmetric encryption relies on the key — there’s no “reset” option.

Can I use this for password storage?

It’s better not to. Password storage typically uses slow, one-way hashing (KDFs). Use Bcrypt instead.

How do I know if my key is “strong enough”?

A quick estimate is entropy H=Llog2(C)H = L\,\log_2(C). Longer keys and larger character sets increase HH.

Why does ciphertext look different every time?

Many encryption schemes include randomness (like a salt or IV) so the same plaintext doesn’t always encrypt to the same ciphertext. That’s typically a good thing.

I only need to compare values. Should I encrypt or hash?

If you never need to get the original back, use hashing. See Hash Text for MD5/SHA variants.

Limitations / disclaimers

  • This is a convenient browser tool, not a full security suite. For sensitive production use cases, rely on audited implementations, secure key storage, and threat modeling.
  • Some algorithms are older or have known weaknesses (e.g., RC4 is generally discouraged for new designs).
  • Sharing a link that includes plaintext/ciphertext may expose sensitive data. Use “Share” thoughtfully.
  • Do not use encryption as a substitute for authentication, authorization, or access control.

External references / sources

Related tools

For one-way digests, see Hash Text. For password hashing, see Bcrypt.

Encrypt / Decrypt Text - AES, TripleDES, Rabbit, RC4