What is Base32?
Base32 is a binary-to-text encoding (RFC 4648) that uses 32 characters: A–Z and 2–7. Each character carries 5 bits, so every 5 bytes of input become 8 Base32 characters, with = used for padding. Base32 is case-insensitive and avoids easily confused characters, which makes it ideal for things people type or read aloud — such as TOTP/2FA secret keys, and identifiers in DNS and file systems. It is an encoding, not encryption.
Runs locally: Base32 encoding happens in your browser. It is reversible and provides no security.
How Base32 works
Base32 works on groups of five bytes (40 bits):
- Take 5 bytes (40 bits) at a time.
- Split the 40 bits into eight 5-bit groups.
- Map each group (0–31) to the alphabet A–Z, 2–7.
- If the final group has fewer than 5 bytes, the output is padded with = so its length is a multiple of 8.
How to use
- Enter or paste your text in the input box.
- The Base32-encoded result appears instantly in the output.
- Click Copy to use the encoded value.
Examples
| Input | Base32 |
|---|---|
Hello | JBSWY3DP |
foobar | MZXW6YTBOI====== |
foo | MZXW6=== |
f | MY====== |
Options explained
- Padding — Add or omit the = padding characters.
- Case — Output uppercase (standard) Base32.
- Character set — Text is read as UTF-8 bytes before encoding.
Common uses
- TOTP / 2FA secret keys (Google Authenticator and similar).
- Case-insensitive identifiers in DNS and URLs.
- Encoding data for systems that mishandle mixed case.
- Human-friendly codes that are easy to read and type.
Frequently asked questions
How is Base32 different from Base64?
Base32 uses 32 characters (A–Z, 2–7), is case-insensitive and avoids ambiguous characters, but produces ~20% longer output than Base64.
Why is it used for 2FA?
Its case-insensitive, unambiguous alphabet is easy for people to type, which suits authenticator secret keys.
How do I decode it?
Use the Base32 Decode tool.