The Complete Encoding Guide

Eight free encoders and translators in your browser, plus a primer on what each format is, when to use it, and how it works.

Every developer, security tinkerer, and curious puzzle-solver eventually needs to encode or decode some text — whether that's URL-escaping a query string, translating a love note into Morse, decoding a Base64-stuffed certificate, or making a passphrase into something a computer can't read at a glance. This guide is the single hub for every text-encoding tool on the site, and a quick primer on what each format is for.

All eight tools below run entirely in your browser. Your text is never sent to a server, never logged, never stored. Pick the encoding you need, paste, copy, done.

Binary

Binary is the foundation: every character on every modern computer is, at its lowest level, a sequence of 0s and 1s. ASCII uses 7 bits per character (or 8 if you include the parity bit); UTF-8 — the modern web standard — uses 1–4 bytes per character. Our Binary Translator auto-detects which direction you want and converts in either direction.

When to use: computer-science teaching, puzzle design, geek-culture inscriptions on shirts and tattoos, debugging unexpected characters in a database export.

Morse code

The 160-year-old encoding for telegraph, radio, and light-flash communication. Letters, digits, and punctuation are encoded as short sequences of dots and dashes; words are separated by a forward slash. Our Morse Code Translator handles both directions and supports the full international Morse character set (A–Z, 0–9, plus 14 punctuation marks).

When to use: amateur radio (CW is still actively used), Boy/Girl Scout merit badges, escape-room puzzles, secret notes in birthday cards.

NATO phonetic alphabet

"Alpha, Bravo, Charlie, Delta…" — the international standard for spelling letters over a noisy radio. Officially adopted by NATO in 1956, it's used everywhere from aviation and the military to call-center agents spelling unusual names. Our NATO Phonetic Translator converts any string of letters and digits to the spelling-alphabet form.

When to use: spelling your name over the phone, aviation/maritime radio, amateur radio licensing exam prep, theatrical scripts.

ROT13

The simplest substitution cipher — every letter is rotated 13 places forward in the alphabet. Because 26/2 = 13, applying ROT13 twice returns the original text. Our ROT13 tool encodes and decodes in one click. Used since the early Usenet days as a way to mark spoiler text.

When to use: Usenet/Reddit-style spoiler tagging, mild puzzle obfuscation, teaching elementary cryptography. Do not use for actual security — ROT13 is trivially reversible and offers zero protection.

Base64

The standard way to safely embed binary data (images, files, certificates) inside text-only formats like email, JSON, and JWT tokens. Base64 takes 3 bytes of binary input and encodes them as 4 ASCII characters from a 64-letter alphabet (A–Z, a–z, 0–9, +, /). Output is roughly 33% larger than input. Our Base64 Encoder/Decoder auto-detects which way you want.

When to use: data URLs in HTML/CSS, decoding JWT auth tokens, embedding images in email, encoding binary file payloads in JSON. Not for security — Base64 is encoding, not encryption.

URL encoding (percent-encoding)

The way URLs handle non-ASCII characters and special symbols. A space becomes %20; a question mark becomes %3F. Our URL Encode/Decode tool handles both directions and respects the difference between percent-encoding the path and percent-encoding query values.

When to use: debugging API requests, hand-crafting URLs with special characters, safely embedding user input in query strings.

HTML entities

The way HTML escapes characters that would otherwise be parsed as markup: <, >, &, and the double-quote. Plus thousands of named entities for symbols like &copy;, &mdash;, and &hearts;. Our HTML Entity Encoder safely escapes a string for embedding in HTML, and decodes it back.

When to use: sanitizing user input before display, debugging "why does my code show up as <b>text</b> instead of bold", building CMS importers.

Markdown ↔ HTML

Less of an "encoding" and more of a markup-language conversion, but the workflow is the same: paste content in one format, get it back in another. Our Markdown → HTML tool converts standard CommonMark to clean semantic HTML; HTML → Markdown goes the other way for content migration. See the dedicated Markdown Guide for a syntax primer.

When to use: migrating content between Notion / Obsidian / GitHub / WordPress / static-site generators, composing HTML emails in plain Markdown, sanitizing CMS exports.

Encoding vs encryption — a critical distinction

Every tool above is encoding, not encryption. Encoding is reversible without a key — anyone can decode Base64, ROT13, or URL-escapes back to the original. Encryption requires a key and is computationally hard to reverse without it.

If you need actual security (passwords, secrets, sensitive data), use a real encryption tool — your password manager, your operating system's keychain, or a dedicated cryptographic library. Don't trust ROT13 or Base64 to protect anything important.

Encoding cheat sheet

FormatReversible without key?Output charsetCommon use
Binary (8-bit)Yes0, 1Computer-science teaching, puzzles
MorseYes. − /Radio, puzzles, telegraphy
NATO phoneticYesWords (Alpha, Bravo…)Spelling over voice
ROT13Yes (trivially)A–Z, a–zSpoiler hiding
Base64YesA–Z, a–z, 0–9, +, /Binary data in text
URL encodingYesPrintable ASCII + %XXURLs and query strings
HTML entitiesYesPrintable ASCII + &XX;Safe HTML output
Markdown / HTMLYes (mostly)Printable ASCIIContent portability

Frequently asked questions

Why does the same text produce different binary output in different tools?
Most likely: ASCII vs UTF-8. ASCII can only encode 128 characters (basic Latin alphabet, digits, punctuation) and uses 7 bits per character. UTF-8 can encode every Unicode character and uses 1–4 bytes per character. Our Binary Translator uses 8-bit ASCII / Latin-1 for simplicity. For full Unicode, encode the string as UTF-8 first then convert each byte to binary.
Is Base64 secure?
No. Base64 is encoding, not encryption — it offers zero protection. Anyone can decode it back to the original. Use it for transport (binary in JSON, image in HTML), never for security.
Why do I sometimes see + instead of %20 for a space in a URL?
Both work but in different contexts. The application/x-www-form-urlencoded spec (used in HTML form submissions) encodes spaces as +. The standard URL spec (RFC 3986, used in URL paths) encodes spaces as %20. Our URL Encoder uses %20 by default for path-safety; both decode to a space.
What's the difference between &quot; and &#34;?
Identical output — both escape a double-quote character. &quot; is the named entity (more readable); &#34; is the numeric entity (works in even the most legacy systems). Either is acceptable.
Can ROT13 be combined with other ciphers?
Yes — ROT13 + reversal + ROT13 is a common puzzle pattern. Layered encoding (e.g., Base64-then-ROT13) is mostly used in CTFs and puzzle hunts. None of these layered encodings provide real security.