Base32 Decoder

Decode Base32 or base32hex back to UTF-8 text or hex bytes. Case-insensitive, padding optional, spaces ignored – useful for TOTP secrets.

48 characters · 48 bytes (UTF-8)

0 characters · 0 bytes (UTF-8)

Runs entirely in your browser. Your data is never uploaded.

What is Base32 Decode?

Decodes Base32 (RFC 4648) back to the original bytes and shows them as UTF-8 text or hex. Input is case-insensitive, = padding is optional and spaces (as in grouped TOTP secrets) are ignored.

How to use Base32 Decode

  1. Paste the Base32 string in Input.
  2. Choose the Alphabet it was encoded with (standard or extended hex).
  3. Read the text in Output; for binary data such as TOTP keys set Output format to Hex bytes.
  4. Copy the result.

Example

Input
mzxw6ytboi
Output
foobar

Lowercase and unpadded input is accepted.

When to use Base32 Decode

Use it to inspect Base32 values such as 2FA secrets, onion service keys or NSEC3 hashes. TOTP secrets are random bytes, so view them as hex rather than text.

How Base32 Decode works

Each character is looked up in the selected alphabet to get a 5-bit value; the bits are concatenated and every complete 8 bits form one byte. Leftover bits at the end are discarded, as RFC 4648 specifies. Invalid characters and impossible lengths (1, 3 or 6 characters in the last block) are reported as errors.

Common Use Cases

  • Converting a TOTP secret to hex for a library that expects raw keys
  • Debugging Base32 produced by another system
  • Verifying RFC 4648 test vectors

FAQs

Why does my TOTP secret decode to strange characters?

TOTP secrets are random bytes, not text. Select Hex bytes as the output format.

Are letters like 0, 1 and 8 allowed?

Not in the standard alphabet (A–Z, 2–7); they produce an "invalid character" error. They are valid in base32hex.

Does case matter?

No, input is converted to uppercase before decoding.

Explore more categories