Base 32 Decoder

Decode Base32 to text, or encode text to Base32 — copy and paste the result.

This free online base 32 decoder converts Base32 (RFC 4648) strings to readable UTF-8 text — paste any Base32 string to decode it instantly, or encode text to Base32 with one click. Case-insensitive, ignores padding and whitespace automatically. No signup required, runs entirely in your browser.

Examples:

Mode

Include padding

Pad the output to a multiple of 8 characters with =. TOTP/2FA secrets are usually unpadded.

Quick reference

MZXW6YTBOI======
→ "foobar"
MZXW6YTB
→ "fooba" (no padding needed)
JBSWY3DP
→ "Hello"
A–Z, 2–7
the full alphabet (32 symbols)

Frequently asked questions

Base32 (RFC 4648) represents binary data using only 32 printable characters — uppercase letters A–Z and digits 2–7. It's case-insensitive and avoids visually similar characters like 0/O and 1/I/L, which makes it popular for things humans type by hand, such as two-factor authentication (TOTP) secret keys.
Paste your Base32 string into the input above with the mode set to Base32 → Text. Padding characters ('=') and whitespace are ignored automatically, and the decoder is case-insensitive.
The standard RFC 4648 alphabet is the 26 uppercase letters A–Z followed by the digits 2–7 — 32 symbols total. The digits 0, 1, and 8 are deliberately excluded because they can be confused with O, I/L, and B.
Base64 uses a 64-character alphabet (~33% size overhead); Base32 uses only 32 characters (60% overhead) but every character is unambiguous when read aloud or typed by hand, and the alphabet is case-insensitive. Base32 suits human-entered codes like TOTP/2FA secrets; Base64 suits compact machine-to-machine encoding like data URLs and JWTs.
Base32 encodes data in 40-bit (5-byte) chunks output as 8 characters. When the input isn't a multiple of 5 bytes, '=' padding fills out the last chunk. Padding is optional in many real-world implementations (like TOTP secrets) — toggle it off in the options panel when encoding.
No. Everything is decoded and encoded locally with JavaScript in your browser. Nothing is uploaded or stored on a server.