This Base encoding tool covers 8 algorithms — Base32, Base58, Base62, Base64, Base85, Base91, Base122, and Base32768 — for encoding and decoding text or binary files entirely in your browser. Each algorithm is designed for a specific constraint: URL safety, visual ambiguity avoidance, output size, or character-count limits on particular platforms.
Input/output examples
Base64 standard:
Input: hello world
Output: aGVsbG8gd29ybGQ=
Base64URL (no padding, + → -, / → _):
Input: hello world
Output: aGVsbG8gd29ybGQ
Base32 (RFC 4648, uppercase A–Z + digits 2–7):
Input: hello
Output: NBSWY3DPEB3W64TMMQ======
Base58 (Bitcoin alphabet — no 0/O/l/I):
Input: hello world
Output: StV1DL6CwTryKyV
Which algorithm to use
General-purpose
- Base64 — API binary payloads, Basic Auth headers, JWT tokens, HTML inline images
- Base64URL — URL parameters, filenames, anywhere
+/=are not allowed - Base32 — DNS records, case-insensitive systems (file systems, TOTP keys)
Specific use cases
- Base58 — cryptocurrency wallet addresses and transaction IDs (Bitcoin, Flickr, Ripple variants)
- Base62 — short link IDs, unique identifiers — alphanumeric only, naturally URL-safe
- Base85 — high-density ASCII inline data; Ascii85 for PDF/PostScript, Z85 for ZeroMQ
- Base91 — most compact pure-ASCII encoding available
- Base32768 — Twitter and similar character-count-limited platforms (15 bits per character)
Encoded size comparison
| Algorithm | Encoded size vs. original | Charset size |
|---|---|---|
| Base32 | 160% | 32 |
| Base58 | ~137% | 58 |
| Base62 | ~135% | 62 |
| Base64 | 133% | 64 |
| Base85 | 125% | 85 |
| Base91 | ~123% | 91 |
| Base122 | ~115% | 122 |
| Base32768 | ~107% | 32768 |
Smaller percentage means more compact output. Base32768 produces the most compact result despite its large charset because each Unicode character carries 15 bits.
File encoding
Switch to "File" input mode to upload any binary file — the tool reads the byte stream and encodes it. Not all algorithms support file input: Base122 and Base32768, which depend on Unicode character ranges, currently accept text input only.
Decoding gotchas
- Extra spaces or newlines in the input cause decode failures — strip them first
- Base64 standard ends with
=padding; Base64URL typically does not — selecting the wrong variant produces garbled output rather than an error, so compare both if the result looks wrong - For Base58, the three variants (Bitcoin, Flickr, Ripple) use different alphabets; decoding with the wrong one silently returns wrong data