Encoding tools
ClientThis page is an index—open a card for the dedicated route. Base64 & URL is the inline workspace for UTF-8 text and query-safe URL encoding (encodeURIComponent / decodeURIComponent).
Encoding & text tools
Each card opens its own page. Base64 & URL is listed first; dedicated routes also include URI, Punycode, Base32, Base64url, Base58, base-36, bencode, Morse, quoted-printable, Unicode escapes—then data URLs, MIME, hex, HTML entities, crypto, JWT, JSON helpers, and random strings.
Base64 & URL encoder
ClientUTF-8 Base64 encode/decode and URL component encode/decode in one workspace—paste, transform, copy.
URI percent-encoding (encodeURI)
ClientencodeURI/decodeURI vs encodeURIComponent/decodeURIComponent—full URI strings vs components, in the browser.
Base64url (URL-safe) encode & decode
ClientUTF-8 ↔ Base64url (RFC 4648: -, _, padding optional on decode)—same bits as Base64, JWT-segment style; client-side.
Punycode & IDN converter
ClientUnicode hostnames ↔ Punycode (xn--) labels; paste a hostname or https URL—DNS wire format, client-side.
Base32 encode & decode
ClientRFC 4648 Base32 for UTF-8 text—A–Z234567 alphabet with padding; encode or decode in the browser.
Crockford Base32
ClientDouglas Crockford Base32 for UTF-8—no = padding, O→0 and I/L→1 on decode; not RFC 4648 Base32.
LEB128 (ULEB + SLEB)
ClientEncode/decode unsigned and signed LEB128 (WebAssembly, DWARF, varint-style) from decimal or hex; BigInt in the browser.
ASCII85 (Adobe) encode & decode
ClientAdobe ASCII85 (PDF/PostScript Base85) for UTF-8—!–u alphabet, z for four null bytes; browser-only.
Z85 encode & decode (ZeroMQ)
ClientZ85 per RFC 32—4-byte big-endian to 5 string-safe characters; not Adobe ASCII85; browser-only.
Quoted-printable encoder
ClientMIME quoted-printable for UTF-8—=XX escapes, soft line breaks at 76 chars; encode or decode locally.
Base58 encode & decode
ClientUTF-8 ↔ Base58 (Bitcoin alphabet, no 0/O/I/l)—raw bytes, not Base58Check; encode or decode in the browser.
Base-36 encode & decode
ClientUTF-8 ↔ base-36 (0-9, a-z)—bytes as one big-endian integer; leading null bytes map to leading 0s; client-side.
Bencode (BitTorrent) encode & decode
ClientJSON ↔ BitTorrent bencode—strings, integers, lists, dicts; wire bytes as hex; bigint-friendly JSON; client-side.
Morse code encode & decode
ClientInternational (ITU-style) Morse for Latin, digits, punctuation—. / - patterns, / between words, encode or decode in the browser.
Unicode & JS escapes
ClientEncode UTF-8 to \u{hex} escapes or decode \u{…}, \uXXXX, \xNN, and \n \t—client-side.
Data URL encoder & decoder
ClientBuild data: URLs from UTF-8 text or small files; decode and preview images or text locally.
MIME types & file extensions
ClientLook up common MIME types from extensions (and vice versa)—filterable table, copy Content-Type—client-side.
Hex encode & decode
ClientUTF-8 text to hex and hex to text—strip spaces, local only.
HTML entity encode / decode
ClientEscape or decode HTML entities—ampersands, tags, quotes—client-side.
ROT13 & Caesar cipher
ClientRotate Latin letters A–Z and a–z: ROT13 (self-inverse) or Caesar shift 0–25—other characters unchanged, local only.
Encrypt & decrypt
ClientEncrypt, decrypt, hash (AES, DES, RC4, Rabbit, TripleDES, MD5, SHA) and Base64—client-side.
JWT decode
ClientInspect JWT header and payload as JSON in browser; signature not verified.
Base64 in JSON
ClientFind string fields that look like Base64 and preview UTF-8 decoded text—local only.
JSON string & Unicode
ClientMinify, escape quotes, Unicode escapes, CJK punctuation in values.
Random string generator
ClientRandom alphanumeric, hex, Base64 URL-safe, or custom tokens—entropy hint, local only.
Common use cases
- Start from Base64 & URL when you need encodeURIComponent or UTF-8 Base64 on pasteable text.
- Use Base64url when you need RFC 4648 - and _ (JWT segments, no +/ in the string).
- Use Base32 when you need RFC 4648 alphabet output (A–Z234567) instead of Base64 density.
- Use Crockford Base32 when you want an unpadded, human-friendly 0–9 / A–Z alphabet without I, L, O, or U.
- Use ASCII85 when you work with PostScript or PDF /ASCII85Decode streams (five printable chars in !–u, optional z for four null bytes).
- Use Z85 (RFC 32) for ZeroMQ/libzmq string-safe Base85—the HelloWorld 8-byte test vector matches the spec.
- Use LEB128 when you need varint / wasm-style LEB, not a fixed width—decode reads a run of LEBs from a hex or byte bytestream.
- Use quoted-printable for MIME-style =XX escapes and soft line breaks on UTF-8 email bodies.
- Use Base58 when you need the Bitcoin alphabet without Base64 padding.
- Use base-36 when you want 0-9 and a-z for the same UTF-8-bytes-as-integer pattern as Base58 on this site.
- Use bencode (BitTorrent) when you need wire-format trees (strings, i…e, lists, byte-sorted dicts), not ad-hoc delimiters.
- Use Morse when you need ITU-style dot and dash for Latin text (encoding for shape, not secrecy).
- Use ROT13 or a Caesar shift on /tools/rot13 for reversible Latin letter rotation (puzzles and demos—not real secrecy).
- Use Unicode escapes for \u{…} debugging in JS strings.
- Use the URI page when you must choose encodeURI (full URL) vs encodeURIComponent (single component).
- Convert internationalized domains with the Punycode tool when you need xn-- wire labels for DNS or certs.
- Open JWT decode or crypto when the payload is a token or ciphertext—not plain text transforms.
Common mistakes to avoid
Using the wrong page for the job
Base64 transport is not HTML escaping, and URL component encoding is not whole-URL encoding. Pick the card that matches your format.
Pasting production secrets into any browser tab
Processing is local on Toolcore, but habits matter—prefer redacted samples on shared machines.
FAQ
Where is the Base64 and URL workspace? What about Base64url?
The Base64 & URL workspace is at /tools/encoding/base64. Base64url (URL-safe, JWT-style) is a separate page at /tools/encoding/base64url.
Where are encodeURI and Punycode?
URI percent-encoding (encodeURI vs encodeURIComponent) lives at /tools/encoding/uri. Punycode / IDN conversion is at /tools/encoding/punycode.
Where are Base32, Crockford, LEB128, ASCII85, Z85, and quoted-printable?
RFC 4648 Base32 is at /tools/encoding/base32. Crockford Base32 is at /tools/encoding/crockford-base32. LEB128 (ULEB + SLEB) is at /tools/encoding/leb128. Adobe ASCII85 (PDF/PostScript) is at /tools/encoding/ascii85. Z85 (ZeroMQ RFC 32) is at /tools/encoding/z85. MIME quoted-printable for UTF-8 is at /tools/encoding/quoted-printable.
Where are Base58, base-36, bencode, Morse, and Unicode escapes?
Base58 (Bitcoin alphabet) is at /tools/encoding/base58. Base-36 (0-9, a-z) is at /tools/encoding/base36. Bencode (BitTorrent) is at /tools/encoding/bencode. International Morse (dot/dash) is at /tools/encoding/morse. Unicode and JS-style escapes are at /tools/encoding/unicode-escapes.
Is my text uploaded?
No. These tools run in your browser unless a specific page documents otherwise.