Shard Tools

Base32 Decode

Decode RFC 4648 Base32 into readable UTF-8 text, with missing padding and mixed case handled locally.

Maintained by Roshan.

Use Base32 Decode

Converts base32 to text in this tab, with nothing sent anywhere.

Runs entirely on your deviceThe conversion happens in this browser tab. Nothing you type is uploaded, logged or stored, which is worth knowing for anything you would not paste into a search box.

The release test decodes the RFC 4648 vector MZXW6YTBOI====== to “foobar”, round-trips accented UTF-8 text, and rejects digits outside the Base32 alphabet.

Explore developer and data tools

Find related browser-local tools for nearby tasks without starting another search.

Browse all developer and data tools

About Base32 Decode

Decoding Base32 turns one of those human-friendly strings back into the data it represents. Because Base32 is designed to be copied by hand, the input you receive is often imperfect: the padding equals signs may have been trimmed, the case may be wrong, spaces may have crept in from a line wrap. A strict decoder rejects all of that and forces you to clean it up first. This one is deliberately tolerant of the things that happen to a string a person has handled - it ignores case, strips spaces, and does not insist on the padding - while still refusing anything that contains a character the Base32 alphabet does not include, since that is a genuine sign the string is wrong rather than merely untidy.

Using Base32 Decode

  1. Spaces and trailing padding are stripped, and the input is upper-cased, since Base32 is case-insensitive and often arrives handled by a person.
  2. The string is validated against the alphabet A to Z and 2 to 7, and anything outside it is refused as a genuine error rather than tidied away.
  3. The five-bit values are regrouped back into eight-bit bytes, reversing the encoding.
  4. The resulting bytes are decoded as UTF-8 to produce readable text.
  5. Missing padding is tolerated, because many systems strip it and a decoder that insisted on it would reject valid input.

Where base32 decode helps

Reading back a recovery code

Paste it even if the case is off or the padding is gone - the decoder handles those. A stray wrong character is flagged.

Checking an authenticator secret

Decode the Base32 secret to confirm it is what you expect before relying on it.

Before you use the result

Questions about Base32 Decode

Does it need the padding equals signs?

No. Many systems strip them, so the decoder does not insist. It adds them back internally as needed.

Is case sensitive?

No. The input is upper-cased first, since Base32 is case-insensitive by design.

What if there is a wrong character?

It is refused. A character outside the A–Z, 2–7 alphabet means the string is corrupt, not merely untidy.

Does it decode authenticator keys?

Yes, since those are standard RFC 4648 Base32.

Is the string sent anywhere?

No. Decoding happens in this tab.

Related tools

Base32 Encode

Encode text to Base32 in your browser. Uses the standard RFC 4648 alphabet.

Hex to Text

Convert hexadecimal back to text in your browser. Accepts spaced, joined and 0x-prefixed hex.

Unicode Unescape

Convert Unicode escape sequences back into readable characters in your browser.