Encoding & Decoding
Base64, URL, HTML entities, hex, binary, Morse, and other bytes-to-text transforms.
9 tools · all run in your browser
Encoding is the everyday work of moving data safely between systems that only speak certain character sets. Base64 wraps binary bytes into printable ASCII so they survive email and URLs. URL-encoding escapes special characters so a query string parses correctly. HTML entities keep angle brackets from being interpreted as markup. Every tool in this category runs entirely in your browser — nothing is uploaded, ever.
None of these are encryption. Base64, URL-encoding, hex, and binary representations are trivially reversible; anyone with a laptop can decode them in a second. Never use them as a security layer. For actual secrecy, use encryption (out of scope for this category); for integrity, use one of our Hash tools.
Historic and novelty encodings (Morse code, ROT13/Caesar cipher, binary text) are also here — useful for puzzles, radio hobbyists, teaching how encoding works, and the occasional accessibility use case.
All encoding & decoding
- Base32 Encoder / DecoderEncode any text to RFC 4648 Base32 (A-Z, 2-7) or decode Base32 back to text. UTF-8 safe. Runs in your browser.
- Base64 Encode / DecodeEncode or decode Base64 text. UTF-8 safe by default. Optional URL-safe variant. Runs entirely in your browser — nothing is uploaded.
- Data URI Encoder / DecoderEncode text or any file into a data: URI for inlining in HTML, CSS, or JSON. Decode any data URI back to its MIME type and content. Base64 for binary, URL-encoding for text.
- HTML EntitiesEncode and decode HTML entities: &, <, ©, and every numeric &#nnn; entity. Choose named-preferred, numeric-only, or ASCII-only output.
- Morse Code TranslatorFree Morse code translator. Convert text to Morse code or Morse code back to text. Full A-Z alphabet, digits 0-9, punctuation. International Morse (ITU) standard. Runs in your browser.
- Punycode / IDN ConverterConvert international domain names (IDN) with Unicode characters into Punycode (xn--) representation, or decode xn-- back to Unicode. RFC 3492.
- ROT13 / Caesar CipherEncode or decode text with ROT13 or a Caesar cipher of any shift (-25 to +25). Round-trip verified. Runs in your browser.
- Text ↔ BinaryConvert text into 8-bit binary (UTF-8) or decode binary back to text. Handles multi-byte characters and emoji.
- URL Encode / DecodePercent-encode or decode URLs, query strings, and path segments. Choose between encodeURI and encodeURIComponent. Runs in your browser.
Frequently asked
No. Base64 is a way to represent bytes as printable characters — anyone with a laptop can decode it in a second. Never use it to hide sensitive data; use encryption for that.
The equals signs are padding. Base64 encodes 3 bytes into 4 characters, so when your input isn't a multiple of 3 bytes, one or two "=" characters mark the leftover. URL-safe Base64 (used in JWTs) drops the padding.
A variant that replaces "+" with "-" and "/" with "_" (both special in URLs) and often drops the "=" padding. Used in JWTs, OAuth codes, and anywhere Base64 needs to live inside a URL.
Whenever text goes into a URL query parameter, path segment, or form value. Encoding turns spaces into %20, "?" into %3F, "&" into %26, etc. — so the URL parses cleanly. Use encodeURIComponent for query values; encodeURI for whole URLs.
Encoding is reversible — you can always decode back to the original. Hashing is one-way — the output looks random and cannot be reversed to recover the input. Use encoding to transport data, hashing to fingerprint or verify data.
Yes — angle brackets, ampersands, and quotes need entity encoding inside HTML attributes to prevent parsing errors and XSS. Even inside URL attributes; entity-encode first, then URL-encode.