What is Base32?
Base32 is a binary-to-text encoding that represents data using just 32 characters per alphabet. It is the same general idea as Base64, but where Base64 packs data into 6 bits per character, Base32 uses 5 bits per character, producing a slightly longer string in exchange for a much friendlier character set. This tool supports two Base32 alphabets, picked with the chips above the input box.
RFC 4648 is the standard defined alongside Base64: uppercase letters A, Z and the digits 2-7, traditionally padded with = characters to a multiple of 8. Because it avoids lowercase letters, the digits 0, 1, 8 and 9, and punctuation, the result is case-insensitive and hard to mis-type. You have almost certainly seen it without realising: two-factor-authentication (TOTP/2FA) secret keys, many file-hashing systems, and DNS-based encodings all rely on it.
Crockford's Base32, designed by Douglas Crockford, goes a step further for values a human has to read or type: it drops I, L, O and U as well, since they are easy to confuse with 1, 1, 0 and a lowercase v. Crockford's decoder is forgiving about it too, an I or L typed by mistake is read back as 1, and an O is read back as 0, so a hand-transcribed code still decodes correctly. It never uses padding.
How to use this tool
- Pick a variant: choose RFC 4648 or Crockford with the top chips. For RFC 4648, a second row of chips lets you choose padded (with
=) or unpadded output. - Encode: paste or type your text in the input box and press Encode →.
- Decode: paste a Base32 string (in the selected variant) into the input and press Decode ← to recover the original text.
- Copy the result to your clipboard with a single click of the Copy button.
Spaces and line breaks in the input are always ignored, and lowercase letters are accepted too, they are treated the same as uppercase for both variants. Decoding RFC 4648 accepts input with or without = padding regardless of which padding chip is selected, since padding only affects what this tool produces on encode, not what it can read on decode. If you paste something with characters outside the selected variant's alphabet, the tool shows a clear error rather than producing garbage.
Base32 vs Base64, which should I use?
Reach for Base64 when you want the most compact text encoding and the data is handled by machines, such as embedding an image in a data-URI or a token in JSON. Reach for Base32 when a human has to read, type, or dictate the value: it has no case sensitivity and no ambiguous characters, so there is no confusion between a lowercase “l” and the number “1”, or a capital “O” and a zero.
Frequently asked questions
What alphabet does it use?
Two, your choice. RFC 4648 uses A, Z and 2-7, with = used for padding. Crockford uses 0-9 and A-Z, excluding I, L, O and U, and never pads.
What is Crockford Base32?
Crockford's Base32 is an alternative alphabet designed by Douglas Crockford for codes people read, type, or say out loud. It drops the letters I, L, O and U, and reads I or L back as the digit 1 and O back as the digit 0 when decoding, so a mistyped code still resolves correctly.
Should I pad my Base32 output?
RFC 4648 output is traditionally padded with = characters to a multiple of 8. Most decoders accept unpadded input too, and some systems specifically expect it unpadded, so this tool lets you choose either form. Crockford output is never padded.
Does it support Unicode and emoji?
Yes. Text is encoded as UTF-8 first, so emoji, accents, and non-Latin scripts all round-trip correctly.
Why do I get an error when decoding?
Your input contains characters that are not valid for the selected variant. For RFC 4648, anything outside A, Z and 2-7 (ignoring padding and whitespace). For Crockford, anything outside 0-9 and A-Z excluding U, since I, L and O are read as 1, 1 and 0 instead of rejected.