Base32 Decode & Encode

Decode Base32 to text or encode text to Base32

What is Base32 Decode & Encode?

Base32 is a binary-to-text encoding scheme that represents binary data using 32 printable characters (A-Z and 2-7). It's commonly used in TOTP (Time-based One-Time Password) secrets, DNS records (Base32hex), and systems where case-insensitive encoding is needed. Unlike Base64, Base32 is case-insensitive and avoids visually ambiguous characters.

How to Use

  1. Select Decode or Encode mode
  2. Paste your Base32 string (decode) or plain text (encode) in the input
  3. Click the action button to process
  4. Copy the result from the output panel

Why Use This Tool?

Decode TOTP secrets for 2FA setup
Encode data for case-insensitive systems
No ambiguous characters (0/O, 1/I/l are excluded)
Works entirely in your browser — no data sent to servers

Tips & Best Practices

  • Base32 uses A-Z and 2-7 (32 characters total)
  • Padding with = is optional for decoding
  • Base32 is case-insensitive — both uppercase and lowercase input work
  • Base32 output is ~60% larger than the original data (vs ~33% for Base64)
  • For most use cases, Base64 is more efficient; use Base32 when case-insensitivity matters

Frequently Asked Questions

When should I use Base32 instead of Base64?

Use Base32 when you need case-insensitive encoding (e.g., TOTP secrets, DNS records, filenames on case-insensitive filesystems). Base64 is more compact but case-sensitive. Base32 avoids ambiguous characters like 0/O and 1/I/l.

What characters does Base32 use?

Standard Base32 (RFC 4648) uses A-Z (26 letters) and 2-7 (6 digits), totaling 32 characters. The = character is used for padding. This alphabet was chosen to avoid visually similar characters.

Why is my TOTP secret Base32 encoded?

TOTP (Time-based One-Time Password) secrets are Base32 encoded because users often need to type them manually when setting up 2FA. Base32 is case-insensitive and avoids ambiguous characters, making manual entry less error-prone.

Is Base32 encoding or encryption?

Base32 is encoding, not encryption. It transforms data into a different representation but provides no security. Anyone can decode Base32. Never use Base32 to protect sensitive data — use proper encryption instead.

What is the difference between Base32 and Base32hex?

Standard Base32 uses A-Z and 2-7 as its alphabet. Base32hex uses 0-9 and A-V, which maintains sort order (the encoded strings sort the same as the decoded values). Base32hex is used in DNS and some database systems.

Can I decode Base32 that has spaces or line breaks?

Yes. This tool automatically strips whitespace before decoding, so Base32 strings with spaces, line breaks, or other whitespace will work correctly.

Related Tools