Base32 Encode / Decode
Free online Base32 encoder/decoder using the RFC 4648 standard alphabet — the format behind TOTP/2FA secret keys. Runs entirely in your browser.
Why Base32 exists alongside Base64
Base64 packs more information per character (6 bits vs. Base32's 5), but its alphabet includes both uppercase and lowercase letters plus `+` and `/`, all of which matter for case-sensitive, punctuation-safe contexts. Base32 trades some density for robustness: an uppercase-only, punctuation-free alphabet that survives being read aloud, typed by hand, or passed through case-insensitive systems (like certain legacy filesystems or DNS labels) without any risk of a lowercase letter being silently uppercased and corrupting the data. That specific property — safe under case-folding — is exactly why TOTP/2FA secret keys use Base32: a human might need to type one in by hand from a printed backup code, where case sensitivity would be a real source of errors.
Why the alphabet skips certain letters and digits
RFC 4648's standard Base32 alphabet deliberately excludes 0, 1, 8, and 9 (along with never needing lowercase) specifically because certain digit/letter pairs are easy to visually confuse — 0 and O, 1 and I and L — especially in a font or handwriting where they render similarly. For a scheme partly designed around being read and typed by humans, that's a meaningful design choice, not an arbitrary restriction; it's also exactly why this tool rejects any input containing characters outside A-Z and 2-7 during decode, rather than trying to guess what a stray 0 or 1 was supposed to mean.