loot.tools

Base32 Encoder/Decoder

Encode text to Base32 or decode Base32 back to plain text. Supports the standard RFC 4648 alphabet (A-Z, 2-7) with padding and Crockford's Base32 (no I, L, O, U). Decoding is case-insensitive and tolerates missing padding and whitespace. Everything runs in your browser.

Encode or decode Base32 in either direction. Editing one side updates the other automatically.

Standard A-Z + 2-7 alphabet with = padding.
Plain text
Base32

What is Base32?

Base32 encodes binary data using 32 characters: A-Z and 2-7 in the standard RFC 4648 alphabet. Like Base64 it turns arbitrary bytes into plain text, but it sticks to characters that survive case-insensitive systems and stay readable when typed or dictated. The trade-off is size: Base32 output is about 60% larger than the input, versus Base64's 33%.

How to use this tool

Type plain text on the left to encode it, or paste a Base32 string on the right to decode it back. Both sides update as you type. Decoding is case-insensitive and ignores spaces and missing '=' padding, so you can paste a value however you copied it.

RFC 4648 vs Crockford

RFC 4648 is the standard you'll see in TOTP/2FA secret keys and many APIs - it uses A-Z plus 2-7 and pads the output with '=' to a multiple of 8 characters. Crockford's Base32 drops I, L, O, and U to avoid confusion with 1 and 0 (and to dodge accidental words), and it leaves the output unpadded. When decoding Crockford, the letters O, I, and L are accepted and folded to 0 and 1.

When you'd use Base32

Reading or generating TOTP/2FA authenticator secret keys, which are Base32 by convention. Encoding values that need to stay correct after case-folding, like some DNS records or filenames on case-insensitive systems. Producing IDs that humans have to read aloud or type without ambiguity (Crockford's alphabet is built for this).