Base32 Converter
Developer Tools · Added
Base32 trades size for legibility: no lower-case letters, no punctuation, and in Crockford's variant no characters you can misread for each other. Convert text or hex bytes either way, in whichever alphabet the thing you are talking to expects.
How to use the base32 converter
- 1Choose whether you are encoding or decoding.
- 2Pick the alphabet: RFC 4648 for standards work, Crockford where a human has to read it aloud.
- 3Paste your input — text, or hex bytes if the data is not text.
- 4Turn padding on or off to match what the other side expects.
Examples
A five-byte string
- Input
- Hello
- Result
- JBSWY3DP — exactly eight characters, so no padding is needed.
Five bytes is Base32's natural group size, which is why this case comes out clean.
A string that needs padding
- Input
- ToolBoxGenie
- Result
- KRXW63CCN54EOZLONFSQ==== — twelve bytes leaves a remainder, and four equals signs fill the last group.
About the base32 converter
Where Base32 actually turns up
The encoding is less common than Base64 but it is not obscure. TOTP authenticator secrets are Base32 precisely because people type them in by hand from a printed code. Tor onion addresses use it because they have to survive DNS, which is case-insensitive. Some content-addressed storage systems use it so a hash can become a filename on any filesystem, including the ones that fold case.
The pattern behind all three is the same: Base32 appears wherever the encoded value has to pass through a system that does not preserve case, or through a human. When neither applies, Base64 is the better trade.
The cost of the alphabet
Every five bits of input becomes one output character, so three bytes of every eight are pure overhead — a 60% increase, against Base64's 33%. On a large payload that difference is real, and it is the reason Base32 never displaced Base64 for general encoding.
It also explains the padding. Five bytes map cleanly onto eight characters, but any other remainder leaves a partial group that has to be filled, which is where the runs of equals signs come from. Padding can be dropped when both sides know the length another way, and plenty of protocols do exactly that — hence the switch on this page.
Frequently asked questions
Why use Base32 when Base64 is shorter?
What is different about the Crockford alphabet?
Why do I sometimes get four or six equals signs?
Can it handle data that is not text?
Related tools
Base64 Encoder / Decoder
Developer Tools
Encode text to Base64 and decode it back, with full Unicode and URL-safe support.
Hash Generator
Developer Tools
Generate SHA-256, SHA-384, SHA-512 or SHA-1 digests of text or a file, and verify a checksum.
HMAC Generator
Developer Tools
Compute a keyed HMAC over a message with SHA-1, SHA-256, SHA-384 or SHA-512.