Encrypt & Decrypt Text

Encrypt and decrypt text using AES, DES, TripleDES, Rabbit, or RC4 with a password — all processed locally in your browser.

expand_more
key
Plain Text
Encrypted Output
Encrypted result will appear here...
info

About Encrypt & Decrypt Text

Encrypt & Decrypt Text is a free browser-based tool that applies symmetric cipher encryption to any text you type or paste. You choose an algorithm — AES, DES, TripleDES, Rabbit, or RC4 — enter a secret password, and the tool scrambles your text into a base64-encoded ciphertext string that is unreadable without the same password and algorithm. Switch to Decrypt mode and the process reverses: paste the ciphertext, supply the original password, and recover the plain text exactly as you wrote it.

The tool is designed for everyday situations where you need lightweight, reversible protection for text data: sharing a sensitive note with a colleague by copying the ciphertext into an email, storing an API key or password hint in a place you consider semi-public, or quickly verifying that a piece of CryptoJS-encrypted data can be decrypted correctly. Because it uses the same CryptoJS library as many JavaScript applications, ciphertext produced here is compatible with CryptoJS code in Node.js and browser environments — useful for developers testing an encryption integration without writing throwaway scripts.

Everything runs entirely in your browser. The text you enter and the password you type are never uploaded, logged, or transmitted to any server. You can use it offline, behind a firewall, or with credentials you would not enter into a web service. There is no sign-up, no usage limit, and no cost.

star

Key Features

check_circle

Five symmetric cipher algorithms

Choose between AES, DES, TripleDES, Rabbit, and RC4 from a single dropdown. AES is recommended for general use; the others are available for compatibility with systems that require a specific cipher.

check_circle

Password-based symmetric encryption

Encryption and decryption use the same secret password you supply. Unlike token generators or hashing tools, the output is fully reversible — anyone with the correct password and algorithm can recover the original text.

check_circle

CryptoJS-compatible ciphertext

Output follows the OpenSSL-compatible format produced by CryptoJS, so ciphertext from this tool can be decrypted directly in Node.js or browser code using the same library without modification.

check_circle

Dedicated decrypt mode

Toggle between Encrypt and Decrypt with a single click. Paste existing ciphertext, enter the password, and instantly verify whether a string can be recovered — no code, no command line required.

check_circle

100% client-side processing

All cryptographic operations execute in your browser using the CryptoJS library. Your input text and password never leave your device, making the tool safe for confidential credentials and private messages.

check_circle

Password visibility toggle

Reveal or mask the secret key field at any time, so you can double-check what you typed without exposing it to bystanders or screen captures.

help

How to Use

01

Choose Mode & Algorithm

Select "Encrypt" or "Decrypt" from the toggle, then pick your preferred cipher (AES is recommended for most use cases).

02

Enter Text & Password

Type or paste your plain text (or encrypted string) into the input area and provide a secret password in the key field.

03

Process & Copy

Click the action button to run the cipher. The result appears in the output pane — use the copy button to grab it instantly.

code_blocks

Example

Plain text encrypted with AES and a password produces a base64-encoded ciphertext. Using the same password in Decrypt mode recovers the original text exactly.

Plain text + password: mySecret
API_KEY=sk-prod-9f2c8b1a4e7d
DB_PASSWORD=hunter2
WEBHOOK_SECRET=wh_live_xZ9mQ3rT
AES-encrypted ciphertext
U2FsdGVkX1+3Qv8mKpLz9N1hYoRcXeWd
Jk7FtA2sIbGnCqPwMvDuEyH6oZlNrT0
xV4mOaKe8Yw5pQdBgFjCiRsXhLzUn1A=
lightbulb

Common Use Cases

  • arrow_circle_right

    Sharing sensitive text over insecure channels

    Encrypt a password, API key, or confidential note before pasting it into an email, chat message, or ticket comment. The recipient runs the same password through Decrypt mode to read it — no secure channel needed for the ciphertext itself.

  • arrow_circle_right

    Storing credentials in semi-public locations

    Drop an AES-encrypted version of a secret into a shared document, a README, or a config file you cannot fully lock down. The ciphertext is meaningless without the password, which you share separately.

  • arrow_circle_right

    Testing CryptoJS integrations without writing code

    When building a feature that encrypts data with CryptoJS in Node.js or the browser, use this tool to produce or verify test vectors quickly. The output format matches CryptoJS defaults, so you can paste ciphertext straight into a unit test.

  • arrow_circle_right

    Protecting personal notes and drafts

    Encrypt a journal entry, a private idea, or a sensitive draft before saving it to a notes app, cloud drive, or any storage you do not fully control. Decrypt it here whenever you need to read it back.

  • arrow_circle_right

    Learning symmetric encryption concepts hands-on

    Switch between algorithms to observe that the same plaintext produces different ciphertext under DES versus AES, or that changing even one character of the password makes decryption fail — a practical way to understand cipher behavior without a local development environment.

quiz

Frequently Asked Questions

What is text encryption? expand_more
Text encryption transforms readable plain text into scrambled ciphertext using a mathematical algorithm and a secret key. The ciphertext looks like random characters and can only be converted back to the original text with the correct key and algorithm.
Which algorithm should I use? expand_more
AES (Advanced Encryption Standard) is the most widely recommended. It offers strong security and is the industry standard used by governments and enterprises worldwide. DES and TripleDES are older and less secure, while Rabbit and RC4 are stream ciphers suited for specific use cases.
Is my data sent to any server? expand_more
No. All encryption and decryption operations happen entirely in your browser using JavaScript. Your text and password never leave your device, ensuring complete privacy.
Why does decryption return an error? expand_more
Decryption fails when the password, algorithm, or encrypted text is incorrect. Make sure you are using the exact same password and algorithm that were used during encryption, and that the ciphertext has not been modified or truncated.
How is this different from the Token Generator tool? expand_more
Token Generator creates random, unpredictable strings used as access tokens or session IDs — the output is not derived from any input text and cannot be reversed to reveal a secret. This Encrypt & Decrypt tool is reversible: you supply a password and can always recover the original text from the ciphertext. Use Token Generator when you need a random credential; use this tool when you need to protect existing text so a specific person can read it back.
Can I decrypt ciphertext produced by CryptoJS in my Node.js application? expand_more
Yes. This tool uses the same CryptoJS library and the same default OpenSSL-compatible format. Ciphertext encrypted here can be decrypted in Node.js with CryptoJS.AES.decrypt(ciphertext, password).toString(CryptoJS.enc.Utf8) — and vice versa.
Is AES encryption here the same as end-to-end encryption in messaging apps? expand_more
AES is the same cipher, but messaging apps use key-exchange protocols (like Signal's Double Ratchet) to generate keys automatically and rotate them per message. Here you supply the password yourself, which means security depends on how strong and secret your password is. This tool is suitable for lightweight protection of text data, not as a replacement for a dedicated secure messaging protocol.
What format is the encrypted output? expand_more
The output is a base64-encoded string in the OpenSSL salted format used by CryptoJS by default. It starts with "U2FsdGVk" (the base64 encoding of "Salted__") followed by an 8-byte random salt and the encrypted data. The salt means the same plaintext and password produce a different ciphertext each time, which is the expected behavior.