Text Encoder/Decoder

Flip between Encode and Decode, pick any of nine conversion formats, and watch the output change as you type. From web-standard Base64 to classic Morse code — every transformation runs locally in your browser.

🔗
URL Parameters
Safe special chars
</>
Web Development
HTML & JSON data
🔒
Basic Obfuscation
ROT13 & Caesar
📊
Data Conversion
Binary & hex

📄 Plain Text

0 characters

🔒 Encoded Text

0 characters

Encoding Types Explained

Understanding each format and when to use it

Base64

Binary-to-text encoding for images, APIs, and email attachments.

Hello → SGVsbG8=

URL

Percent encoding for URLs, query strings, and form data.

hello world → hello%20world

HTML

Entity encoding for displaying special chars in HTML.

<div> → &lt;div&gt;

ROT13

Letter substitution cipher shifting by 13 positions.

Hello → Uryyb

Caesar

Classic cipher with customizable shift (1-25).

Hello (shift 3) → Khoor

Binary

Convert to 8-bit binary representation.

Hi → 01001000 01101001

Hex

Hexadecimal (base-16) values for colors and memory.

Hi → 48 69

Morse

Dots and dashes for telegraph communication.

SOS → ... --- ...

Unicode

Escape sequences (\\uXXXX) for programming.

Hi → \\u0048\\u0069

How It Works

Encode or decode text in three simple steps

1

Pick a Direction

Tap Encode to transform plain text into the target format, or Decode to reverse an encoded string back to readable form. The Swap button flips both at once.

2

Choose a Format

Select one of nine tabs — Base64, URL, HTML, ROT13, Caesar, Binary, Hex, Morse, or Unicode. For Caesar, drag the shift slider to set the rotation amount.

3

Read & Copy

The right panel updates on every keystroke. When the output looks correct, hit Copy to place it on your clipboard and paste it wherever you need it.

Best Practices

✅ Do

  • Reach for Base64 when a text-only channel needs to carry binary payloads
  • Percent-encode every query-string value before appending it to a URL
  • Escape angle brackets and ampersands before injecting user text into HTML
  • Write \\uXXXX escapes for non-ASCII characters inside JavaScript or JSON
  • Always decode the output once and compare it to the original to verify round-trip fidelity
  • Treat ROT13 and Caesar as toys — entertaining, but offering zero real protection

❌ Don't

  • Rely on ROT13 or Caesar to guard sensitive information — anyone can reverse them
  • Mistake encoding for encryption; the two serve fundamentally different purposes
  • Run URL encoding twice on the same string — double-encoding creates broken links
  • Overlook that Base64 bloats payload size by roughly a third
  • Convert huge documents to binary or hex — the output becomes impractically long
  • Take for granted that every receiving system handles every format identically

Tips by Use Case

Which encoding to use for common scenarios

</>

Web Development

  • Percent-encode every query-string value you build
  • Escape user-submitted strings before rendering in HTML
  • Embed small images as Base64 data URIs to cut HTTP requests
  • Use \\u escapes when a config file must remain pure ASCII
🔗

API Integration

  • Wrap binary attachments in Base64 for JSON transport
  • Percent-encode path segments that contain special characters
  • Read the API docs — some endpoints expect specific encodings
  • Catch decode errors early to avoid silent data corruption
🎮

Puzzles & Education

  • Hide spoilers behind ROT13 — readers decode to reveal
  • Build a Caesar-shift challenge and let friends crack it
  • Translate a phrase to Morse and tap it out for fun
  • Show binary to introduce how computers store letters
📊

Data Processing

  • Convert color codes to hex for CSS and design tools
  • Inspect byte values with binary or hex for debugging
  • Base64-wrap files before piping through text-only pipelines
  • Use Unicode escapes to safely store multilingual strings

Frequently Asked Questions

Everything you need to know about text encoding

What does "encoding" actually mean in this context?
Encoding converts readable text into a structured representation that another system can process — a URL, a binary stream, an HTML document. The mapping is public and reversible: anyone with the same tool can decode the result back to the original. It is not a security measure.
How is encoding different from encryption?
Encoding uses a publicly documented scheme — Base64, percent-encoding, etc. — that anyone can reverse. Encryption uses a secret key so only holders of that key can recover the original data. ROT13 and Caesar look cipher-like, but their "keys" are trivially guessable, so they belong in the encoding camp for practical purposes.
When is Base64 the right choice?
Reach for Base64 when you need to embed binary content (an image, a PDF, a font) inside a text-only channel: JSON payloads, data URIs, MIME email bodies, or HTTP Basic Auth headers. Keep in mind that it inflates size by about a third, so it is not ideal for large blobs when a direct binary transfer is available.
Why can't I just paste special characters into a URL?
The URL specification reserves certain characters — ampersands, question marks, equals signs, slashes — as structural delimiters. If your data contains those characters, the browser will misparse the address. Percent-encoding replaces each unsafe byte with a %XX escape so the parser treats it as data, not syntax.
Should I trust ROT13 or Caesar to protect anything?
No. ROT13 has exactly one possible key, and Caesar has only 25. A determined person decodes either in seconds by hand, and software does it in microseconds. They are fine for hiding spoilers, building word puzzles, or demonstrating cryptographic concepts — nothing more.
Does anyone still use Morse code?
Yes. Maritime and aviation regulations still recognize it as an emergency fallback. Ham radio operators transmit it daily. Accessibility researchers have explored it as an input method for people with limited mobility. And it remains a popular format in escape rooms, geocaching, and educational curricula.
When do I need HTML entity encoding?
Any time you render user-generated content inside an HTML page. Characters like <, >, &, and quotation marks can break the DOM or open the door to cross-site scripting (XSS). Converting them to named or numeric entities (&lt;, &amp;, etc.) ensures the browser displays them as text rather than interpreting them as tags or attributes.
What are Unicode escape sequences for?
They let you represent any character as a \uXXXX hexadecimal code point inside source code, JSON files, or configuration strings. This is essential when a file must stay pure ASCII but the content includes accented letters, CJK characters, or symbols that would break the parser.
🔒

Time to Convert Some Text?

Jump to the tool, toggle Encode or Decode, pick a format, and watch the output build as you type. Nine formats, zero sign-up, and every conversion stays in your browser.