Understanding Base32 Encoding, Specifications, & Cryptographic Use Cases
Base32 is a binary-to-text encoding scheme defined in RFC 4648 designed to represent arbitrary binary data using a 32-character ASCII subset. Unlike Base64, which relies on a case-sensitive 64-character alphabet, Base32 uses a smaller, case-insensitive alphabet that eliminates ambiguous characters, making it the industry standard for two-factor authentication (2FA) secrets, human transcription, DNSSEC, and file systems with case-insensitive constraints.
How Base32 Bit Chunking Works (8-Bit Bytes to 5-Bit Chunks)
In Base32, input data is processed in 40-bit blocks (the Least Common Multiple of 8-bit bytes and 5-bit Base32 symbols):
- Every 5 input bytes (40 bits) maps exactly to 8 Base32 output characters.
- If the input byte length is not a multiple of 5, the remaining bits are zero-padded on the right, and trailing
=padding characters align the final string to a multiple of 8 characters. - Theoretical byte expansion ratio: 1.6x.
Comparison of Major Base32 Alphabets & Specifications
| Specification | Alphabet Characters | Padding | Primary Use Cases |
|---|---|---|---|
| RFC 4648 Standard | A–Z, 2–7 | Mandatory = | TOTP / HOTP 2FA Secrets (RFC 6238), Tor v3 onion |
| RFC 4648 Base32Hex | 0–9, A–V | Mandatory = | DNSSEC NSEC3 records, database indexing |
| Crockford Base32 | 0–9, A–Z (excl. I, O, L, U) | None (Mod 37 Checksum) | ULID, human serial numbers, license keys |
| z-base-32 | ybndrfg8ejkmcpqx... | None | Tahoe-LAFS, human-transcribed tokens |
100% Privacy & Security Guarantee
Authentication credentials and TOTP secret keys must never be transmitted over the internet to remote servers. Our Base32 Encoder executes 100% inside your browser using Web Workers and modern JavaScript APIs. Zero data is uploaded or logged to any server.