How This Base32 Encoder Works
This base32 encoder takes any text and converts it into a Base32 string using 5 bits per output character instead of Base64's 6, producing an output alphabet of just 32 symbols, letters and digits only, no punctuation. In decode mode, it works as a base32 decoder, reversing a Base32 string back to its original text, validating every character against the selected alphabet along the way.
Four Base32 Variants
RFC 4648 is the standard base32 alphabet (A-Z, 2-7) used by most specifications, and this rfc 4648 base32 mode pads output to a multiple of 8 characters with "=". As a base32hex converter, Base32hex mode uses a 0-9, A-V ordering that sorts the same as the underlying bytes, useful when encoded strings need to remain sortable. The crockford base32 converter mode uses Crockford's alternate alphabet (0-9, A-Z minus I, L, O, U), commonly seen in short, human-typable identifiers. The z-base-32 encoder mode uses Douglas Crockford's other human-oriented alphabet, ordered so the most common bit patterns land on the most readable characters.
Understanding Base32 Padding and Alphabets
Base32 output is always about 60% longer than the input because each character carries only 5 bits instead of a byte's 8, RFC 4648 and Base32hex pad the result to a multiple of 8 characters with trailing "=" signs so the encoded length is always predictable, while Crockford and z-base-32 typically skip padding, since they're designed for compact, human-facing strings rather than machine parsing.
Common Uses
Generating and reading TOTP/2FA secret keys (the QR-code-free "enter this code manually" string authenticator apps show) is the single most common reason to encode text to base32 or decode base32 to text. Base32 is also used in DNSSEC record names, filesystem-safe identifiers (since the alphabet has no characters that need escaping in case-insensitive filesystems or DNS labels), and any protocol that needs a compact, alphanumeric-only text representation of binary data.
What This Tool Doesn't Do
Crockford's own specification defines substitutions for visually confusable characters (I and L read as 1, O reads as 0) so hand-typed strings still decode correctly, this tool's Crockford mode doesn't remap those substitutions, so a string containing them will fail to decode even though this tool's own Crockford output always decodes correctly on its own. This tool also isn't an encryption or hashing function, base32 is a reversible encoding, not a way to protect or obscure sensitive data.