Skip to main content
L
Loopaloo
Buy Us a Coffee
All ToolsImage ProcessingAudio ProcessingVideo ProcessingDocument & TextPDF ToolsCSV & Data AnalysisConverters & EncodersWeb ToolsMath & ScienceGames
Guides & BlogAboutContact
Buy Us a Coffee
L
Loopaloo

Free online tools for developers, designers, and content creators. Your files are processed in your browser and are never uploaded - no accounts required. A few network utilities (like What's My IP and Currency Converter) call public APIs to do their job and say so on their pages.

support@loopaloo.com

Tool Categories

  • Image Tools
  • Audio Tools
  • Video Tools
  • Document & Text
  • PDF Tools
  • CSV & Data
  • Converters
  • Web Tools
  • Math & Science
  • Games

Company

  • About Us
  • Contact
  • Blog
  • FAQ

Legal

  • Privacy Policy
  • Terms of Service
  • Disclaimer

Support

Buy Us a Coffee

© 2026 Loopaloo. All rights reserved. Built with privacy in mind.

Privacy|Terms|Disclaimer
  1. Home
  2. Document & Text
  3. Text Encryption & Encoding
Add to favorites

Text Encryption & Encoding

Real AES-256-GCM encryption with a passphrase, plus twelve classical ciphers and encodings that are not encryption, each stating its keyspace and what breaks it

Text processed locallyMore document & textJump to full guide

Related reading

  • A Practical Guide to Data Encryption: Protecting Information at Rest and in Transit10 min read

Initializing in your browser…

You might also like

File Encryption

Encrypt a file with a password using AES-256-GCM, in a documented format that records everything needed to open it again, and read it back a megabyte at a time

Printable Paper Generator

134 printable paper templates - dot grid, graph, isometric, hex, Cornell notes, handwriting guides, planners, calendars, manuscript paper, tablature, game boards and more. True vector PDF, SVG or PNG at any paper size.

Text Case Converter

Convert text between 17 cases with every rule stated: punctuation is a separator, acronyms survive, accents survive a URL slug, and Title Case follows a style you name (Chicago, AP or APA) rather than an unattributed word list

Text Encryption & Encoding: a worked example

You need to put a recovery note in a shared document, readable only by someone who has the passphrase.

Input

Plaintext note plus a passphrase
What Text Encryption & Encoding produces

Output

A labelled Base64 block: AES-256-GCM, with the salt, nonce and iteration count carried in its own header.

The passphrase is stretched with PBKDF2-HMAC-SHA256 at 600,000 iterations and the text sealed with authenticated AES-256, so an altered message fails to decrypt rather than returning something wrong, and a wrong passphrase says something different from an altered message. It is the same container this site uses for encrypted files, and this project's tests open a message the page produced with a separate implementation using Node's crypto library. The twelve classical ciphers beside it are labelled toys, because that is what they are.

What is Text Encryption & Encoding?

One method here is real encryption: AES-256-GCM with a passphrase, in the same container this site uses for encrypted files. The other twelve are classical ciphers and reversible encodings, which are not encryption and never were, and each one says on the page exactly what protection it gives and what breaks it. Everything runs in your browser and nothing is uploaded.

How it works

The tool is in two halves, and it is worth being clear about which is which.

**The half that is encryption.** Choose AES-256-GCM, type a passphrase, and the text is sealed in a container that carries its own magic bytes, format version, key derivation function and iteration count, cipher, chunk size, salt and nonce prefix, followed by an encrypted metadata block and the encrypted text. Every block authenticates the whole header, so editing the header, reordering, duplicating, dropping or truncating anything makes decryption fail rather than quietly returning something wrong. The passphrase is stretched with PBKDF2-HMAC-SHA256 at 600,000 iterations, which is the OWASP recommendation, so each guess an attacker makes is expensive. The result is Base64 in a labelled block, so it can be pasted into a chat or an email. This is not new code: it is the same container the file encryption tool writes, checked in this project's tests against an independent implementation using Node's own crypto library, in both directions, on every text in the corpus.

The passphrase is reported with TWO estimates, because one alone overstates it. The first is the entropy of a password chosen at random from the characters yours uses, which is an upper bound and not a measurement. The second searches for the cheapest way to guess yours: breach-list entries, common words, keyboard runs, sequences, dates and repeats. What the model could not have known is stated alongside the number.

**The half that is not encryption.** Caesar, ROT13, Atbash, Affine, Vigenere, Rail Fence and XOR are classical ciphers, and Base64, hexadecimal, binary, Morse code and Reverse are encodings with no key at all. Each carries its keyspace where that is a number anyone can count (the affine cipher has 311 keys, fewer than a four digit PIN) and each names what breaks it (Kasiski examination for Vigenere, frequency analysis on each key position for a repeating-key XOR). None of them is labelled anything better than a toy, because none of them is.

They are also implemented over the right units. The transposition ciphers and Reverse move CHARACTERS as a reader sees them, so an emoji or a flag survives instead of being cut in half. XOR works on the UTF-8 bytes, which is its definition, and hands back Base64 or hexadecimal, because raw XOR output is not text: it holds characters that cannot be seen, retyped or put in a URL. Hexadecimal and binary write the UTF-8 bytes, so "eight bits per byte" means that. Morse code says which characters it has no symbol for rather than passing them through and destroying them, and says that case cannot survive, because Morse has none.

An affine multiplier that is not coprime with 26 has no inverse, so nothing encrypted with it can ever be decrypted. Those are refused, including when they arrive in a shared link rather than through the control on the page.

How to use

  1. 1Pick a method: the badge says whether it is encryption, a toy cipher, or an encoding with no secrecy
  2. 2Read the panel underneath, which states what protection that method gives and what breaks it
  3. 3Enter your text, and the passphrase or key if the method needs one
  4. 4Click Encrypt or Encode; click Decrypt or Decode to go the other way
  5. 5Copy or download the result, or press Swap to feed it straight back in

Key features

  • AES-256-GCM with a passphrase, in the same audited container this site uses for files, with PBKDF2-HMAC-SHA256 at 600,000 iterations
  • A wrong passphrase and an altered message are different failures and say different things
  • A pasted message states its own cipher and iteration count before you type anything
  • Passphrase strength given as two numbers, an upper bound and a realistic estimate, with what the model could not know
  • Seven classical ciphers and five encodings, each with its keyspace and what breaks it
  • Transposition and reverse move whole characters, so emoji and flags survive
  • XOR over UTF-8 bytes with Base64 or hexadecimal output, so the result can be written down
  • An affine multiplier with no inverse is refused, including from a shared link
  • Everything runs in your browser; the text is never put in the URL

When to reach for this

  • Sending something that actually needs to stay private

    Encrypt a note with a passphrase and paste the block into a chat. Only someone with the passphrase can read it, and if the block is altered on the way the decryption fails rather than returning something wrong.

  • Learning how classical ciphers work

    Watch Caesar, Vigenere, Affine and Rail Fence transform a message, with each one saying what its keyspace is and how it falls.

  • Puzzles, escape rooms and CTF challenges

    Encode clues with ROT13, Atbash, Morse or Base64, or decode a message you have been handed.

  • Quick text encoding

    Convert text to and from Base64, hexadecimal or binary, over the real UTF-8 bytes, for transport or inspection.

Frequently asked questions

Is the AES mode really encryption?

Yes, and it is checked rather than asserted. In this project's tests a message the running page produced is taken off the screen and opened by a completely separate implementation using Node's crypto library, given nothing but the passphrase and the written format, on every text in the corpus; and the page reads back what that implementation wrote. Its strength is the strength of your passphrase and nothing else.

Are the classical ciphers secure?

No, and none of them is labelled as though it were. The affine cipher has 311 keys. Caesar has 25. Vigenere falls to Kasiski examination and the index of coincidence. A repeating-key XOR falls to frequency analysis on each key position. Each method says so on the page.

What is the difference between an encoding and a cipher here?

An encoding (Base64, hexadecimal, binary, Morse, Reverse) has no key, so anyone can reverse it instantly; it offers no secrecy at all and is labelled that way. A cipher has a key, but the classical ones here have keys small enough or structures weak enough to break by hand.

Why does the XOR cipher give me Base64?

Because XOR works on bytes, and bytes are not text. Handed back raw, the output holds characters that are invisible on screen, cannot be retyped and do not survive a URL. Base64 and hexadecimal both write those bytes down exactly, and the round trip is exact.

Why can I only choose certain multipliers for the affine cipher?

Because the multiplier has to be coprime with 26 for the cipher to have an inverse. With any other, encryption still produces something, and it can never be decrypted. Only the twelve legal multipliers are offered, and a link carrying an illegal one is refused rather than honoured.

Is my text sent anywhere?

No. Everything happens in your browser, and the text is deliberately kept out of the URL so a shared link never carries it.

Related tools and how they differ

  • File Encryption: The same container, for files rather than text: AES-256-GCM with a password, streaming a gigabyte at a time.
  • Password Strength Checker: The same estimate the passphrase panel here uses, on its own and in more detail.
  • Base64 Encoder/Decoder: Base64 on its own, with the variants and the validation spelled out.

Further reading

  • A Practical Guide to Data Encryption: Protecting Information at Rest and in Transit10 min read

Private by design

Your text is processed locally in the browser. Nothing you paste or open is transmitted or logged.