🛠️Dev Toolbox

🔢 Base32 Encoder/Decoder

Encode and decode Base32 data with support for RFC 4648 and extended hex alphabets.

Base32 doesn't get as much love as Base64, which is a shame — it's the right tool whenever a human has to read or type the encoded string. Google Authenticator secrets, TOTP backup codes, crypto seed phrases. These are Base32 because the alphabet was deliberately chosen to avoid ambiguous characters. No 0 vs O. No 1 vs I vs l. That matters when you're squinting at a phone screen in a dim room trying to type a 32-character code before your session expires.

The encoding works in 5-byte chunks turned into 8 characters. Less space-efficient than Base64 — 60% size increase instead of 33% — but that's the tradeoff for something you can read aloud over a phone call and have the other person type correctly.

Two variants exist and mixing them up will silently give you the wrong answer. Standard RFC 4648 Base32 uses ABCDEFGHIJKLMNOPQRSTUVWXYZ234567. "Extended hex" (base32hex) uses 0123456789ABCDEFGHIJKLMNOPQRSTUV. They look similar at a glance but produce completely different output for the same input. If your decoded TOTP bytes don't match, check which alphabet the server handed you. Some cryptocurrency tools lean on base32hex — NEM addresses, certain IETF identifiers.

Padding is another landmine. RFC 4648 mandates = padding to round the length to a multiple of 8. But a lot of modern applications skip it. This tool toggles it either way, because in practice you'll encounter both. If decoding fails and you're sure the characters are valid, flip the padding switch.

The decoder here accepts lowercase input even though the canonical form is uppercase. Humans type what they see, and case shouldn't be the thing that breaks your auth flow. But do keep in mind: the spec says output is uppercase, and some strict parsers (looking at you, older hardware tokens) will reject lowercase. When in doubt, match what the consumer expects.

Compactness-wise, Base32 splits the difference nicely: ~20% shorter than hex for the same binary data, vastly more readable than Base64. If you're choosing between the two and humans ever touch the string, Base32 wins.

More Developer Tools

Explore our complete collection of 60+ free developer tools at dev.aisoosoo.com. All tools run 100% in your browser — no signup, no data sent to servers.