About This Tool

Base32 encodes binary data using only 32 characters: the uppercase letters A–Z and the digits 2–7. It's the encoding format used for all TOTP 2FA secret keys (Google Authenticator, Authy, Microsoft Authenticator), defined in RFC 4648. Compared to Base64, Base32 is case-insensitive and avoids characters that look similar in different fonts (0, O, 1, l). This tool encodes any text to Base32 and decodes Base32 strings back to plain text, entirely in your browser.

How to Use

  1. Select Encode (text → Base32) or Decode (Base32 → text) mode.
  2. Type or paste your input into the text field.
  3. The result appears instantly. Click Copy to copy to clipboard.
  4. Note: Base32 input is case-insensitive lowercase letters are automatically converted.

Frequently Asked Questions

Why do 2FA apps use Base32?

Base32 is chosen for 2FA secrets because it can be safely typed by humans it uses only uppercase letters and digits 2–7, avoiding look-alike characters like 0/O and 1/l. It's also case-insensitive, reducing transcription errors when users manually type their secret key.

What is the difference between Base32 and Base64?

Base64 uses 64 characters (A–Z, a–z, 0–9, +, /) producing ~33% overhead. Base32 uses only 32 characters, producing ~60% overhead but is case-insensitive and more human-friendly for typed input. Base64 is more efficient; Base32 is more readable.

Why does my Base32 string end in = signs?

Base32 pads the output to a multiple of 8 characters using = signs. Like Base64 padding, it's required by the spec but some implementations (including most 2FA apps) accept Base32 without padding both forms decode to the same result.