Base32 Decoder

Decode standard Base32 into UTF-8 text. Accept lowercase or whitespace, check padding and trailing bits, and distinguish binary data from readable text.

Read text represented using the standard Base32 alphabet. The decoder normalizes letter case and removes whitespace before checking the encoded groups. The decoded bytes must be valid UTF-8; a valid binary secret is not necessarily a readable text message.

  • 100% free
  • No registration
  • On your device
  • Modern browser
  1. 1Enter details
  2. 2Adjust options
  3. 3View result

Decode Base32 into UTF-8 text. Your input stays on this device.

ResultIdle
Your result will appear here.

Your input stays on this device for this operation. We don’t upload or store it.

About Base32 Decoder

Read text represented using the standard Base32 alphabet. The decoder normalizes letter case and removes whitespace before checking the encoded groups. The decoded bytes must be valid UTF-8; a valid binary secret is not necessarily a readable text message.

Case normalization

Accepts lowercase letters and strips whitespace before decoding.

Structural checks

Rejects invalid group lengths, inconsistent padding and non-zero unused trailing bits.

Strict UTF-8 text output

Invalid decoded UTF-8 produces an error instead of replacement characters.

How to use Base32 Decoder

  1. 1

    Paste the encoded value

    Use Source text for standard A–Z/2–7 Base32. Lowercase input and whitespace are normalized.

  2. 2

    Process and inspect errors

    Press Process. If the value is rejected, check its alphabet, group length, padding and whether the decoded bytes should be UTF-8.

  3. 3

    Use the decoded text

    Copy or download the readable result. Editing the source clears the previous result so you must process it again.

Formats and practical limits

Input: standard Base32 text, up to 100,000 JavaScript string units. Output: decoded UTF-8 text or an error; TXT download is available for a successful result.

  • No binary-file export or authenticator-code calculation is provided.
  • An error can indicate invalid Base32 or bytes that are not UTF-8; do not assume every encoded value was originally prose.

Practical example

MZXW6=== decodes to foo. Lowercase mzxw6=== also works; an otherwise valid encoding of binary bytes may still be unsuitable for this text-only decoder.

Frequently Asked Questions

3 answers
Can I omit Base32 padding?

The implementation accepts valid unpadded group lengths as well as correctly padded values. If padding is supplied, its length and placement must be consistent.

Why does a Base32 secret fail to display as text?

Base32 can represent arbitrary bytes. This page requires UTF-8 text, so a binary authenticator secret or file can fail that final decoding step.

Can it decode Crockford Base32 or Base32hex?

Those are not the alphabet used here. Use a decoder that explicitly supports the source system's variant.