deftools.io Developer Tools

🔢 Base32 Encode/Decode

Encode text to Base32 or decode Base32 back to text. Supports RFC 4648 standard and extended hex alphabets.

0 chars · 0 B
0 chars · 0 B

About this tool

Base32 encodes binary data using 32 ASCII characters, producing a compact representation that is case-insensitive and free of visually ambiguous characters (no 0, 1, or O in the standard alphabet). It turns every 5 bits of input into one output character, and groups the result into 8-character blocks with = padding.

This makes Base32 ideal for applications where the encoded string might be read aloud or typed manually: TOTP two-factor secrets, DNSSEC key material, product license keys, and file names on case-insensitive file systems.

Example: Hello encodes to JBSWY3DP in standard Base32. The Base32hex variant uses digits 0-9 and letters A-V instead of the A-Z 2-7 alphabet — useful for environments where lexicographic sort order should match the binary order.

FAQ

When should I use Base32 instead of Base64?

Base32 is preferred when the encoded string needs to be spoken, typed by a human, or used in case-insensitive contexts (file names, DNS labels). It avoids visually ambiguous characters like 0/O and 1/I/l. The trade-off: Base32 output is about 60% larger than the input, vs 33% for Base64.

What is Base32hex?

Base32hex (RFC 4648 §7) uses the alphabet 0-9 A-V. This preserves the natural sort order of the underlying binary data — strings compare lexicographically the same as their decoded byte values. It is used in DNSSEC and some cryptographic protocols.

Is Base32 case-sensitive?

No. Both the standard alphabet (A-Z 2-7) and the hex alphabet (0-9 A-V) are case-insensitive during decoding. Lowercase input is accepted and treated the same as uppercase.

More developer tools

Copied!