Every few months I watch a smart developer burn an hour on a bug that turns out to be a %20 where a space should be, or a Base64 string missing its padding. Encodings are the plumbing of computing — invisible until they leak all over your afternoon. So let us fix that permanently: what the five encodings you will actually meet do, when each shows up in real life, and a playground where you can poke all of them live.
ROT13: The Cipher That Is Not a Cipher
ROT13 rotates every letter 13 places (HELLO → URYYB), and applying it twice returns the original — the full algorithm fits in one sentence. It "protects" nothing; anyone reverses it instantly. Its real jobs are hiding spoilers, puzzle answers, and Easter eggs in plain sight, plus dodging naive email scrapers back when scrapers were naive. If you catch yourself considering ROT13 for actual secrets, stop and use real encryption. This is a toy with a refusal to grow up, and I say that affectionately.
URL Encoding: Why Links Look Drunk
URLs allow only a limited alphabet, so everything else gets percent-escaped: spaces become %20, ampersands %26, emoji become multi-byte sequences. That garbled sharing link is not broken — it is working exactly as designed. Encoding matters most when building links programmatically: an unescaped & inside a query value silently splits your parameter in two, producing the classic "works when I paste it, breaks in the app" bug. Decode suspicious URLs before reading them; half of all "weird link" mysteries evaporate on sight.
Base64, Hex & Morse: A Field Guide
Base64 packs arbitrary bytes into safe ASCII at 33% overhead — the standard trick for embedding images, email attachments, and API tokens in JSON. Hex renders bytes as 0-9a-f pairs for hashes, checksums, and debugging binary protocols; double the size, maximum readability. Morse maps letters to dots and dashes with / between words — obsolete for shipping, unbeatable for puzzles, escape rooms, and impressing exactly one kind of person at parties.
Encoding FAQs
Base64 vs Hex — which should I use?
Base64 for compactness (tokens, embeds, email), Hex for human inspection (hashes, keys you compare by eye, protocol debugging). Same data, different priorities.
Why does my Base64 string fail to decode?
Usual suspects: missing = padding, URL-safe alphabet (-_ instead of +/), or line breaks pasted from emails. Normalize those three and it almost always decodes.
Is any of this encryption?
None of it. Every encoding here is reversible by design and by strangers. Encoding hides format, never content — secrets need actual cryptography.
Try all ten transforms live — type once, watch everything convert.
Open the Playground Free