Base32 Converter

Encode binary or text data into Base32 format, or decode Base32 strings back to their original content.

Base32 Encoder / Decoder

Convert text to Base32 encoding and decode Base32 back to text. Uses RFC 4648 standard.

Text → Base32

Base32 → Text

💡 About Base32 Encoding

Base32 uses a 32-character alphabet (A-Z, 2-7) and is more human-readable than Base64.

Common use cases:

  • TOTP authentication codes (Google Authenticator)
  • Git commit hashes (shortened format)
  • Case-insensitive systems
  • DNS names and identifiers

Advantages: Case-insensitive, avoids visually similar characters (0/O, 1/I/l)

What is Base32?

Base32 encodes arbitrary binary data using a 32-character alphabet consisting of uppercase letters A–Z and digits 2–7. It maps every 5 bits of input to one output character, producing strings that are case-insensitive and free of characters commonly confused in handwriting or OCR (such as 0/O and 1/I/l).

The resulting output is about 60% larger than the original input, making Base32 less space-efficient than Base64 but more human-friendly and robust in environments where case sensitivity cannot be guaranteed.

Common Use Cases

TOTP Secret Keys: Two-factor authentication apps encode shared secrets in Base32 so users can manually enter them without case errors. DNS Labels: Base32 is used in DNSSEC and other DNS extensions to represent binary hashes within domain name labels. File Checksums: Distributing checksums in Base32 reduces transcription mistakes when users copy values by hand. Onion Addresses: Tor v3 hidden service addresses use Base32 encoding to represent the cryptographic identity of a service.


Tips

Base32 is case-insensitive by design; normalize input to uppercase before decoding to avoid errors in strict implementations. Padding characters (=) bring the encoded length to a multiple of 8; some implementations omit padding, so check compatibility before exchanging data. Prefer Base32 over Base64 when the encoded value will be typed manually or displayed in contexts where case cannot be preserved.


Share on
Share on FacebookShare on XShare on LinkedIn
Did you find this page useful?