Base32 Decoder
Paste a Base32 string and get the original text back, with a precise message if a character or length is wrong.
Processed locally in your browser/ Your data stays in your browser.
What is Base32 Decoder?
Base32 turns every 5 bytes into 8 characters from a 32-symbol alphabet. Decoding reverses that and then reads the bytes as text. It shows up in TOTP secrets, onion addresses, some file-sharing hashes and legacy systems that cannot rely on lowercase letters.
This decoder ignores whitespace and letter case, tolerates missing "=" padding, validates every character against the chosen alphabet (standard A–Z 2–7, or Extended Hex 0–9 A–V) and rejects lengths that no valid Base32 can have. Bytes are read as UTF-8 by default.
How does it work?
- Paste the Base32 value; spaces and line breaks are ignored.
- Select the alphabet: RFC 4648 for almost everything, Extended Hex only if the source says base32hex.
- Read the decoded text, or fix the input using the position reported in the error message.
Common use cases
- Checking what an authenticator secret or otpauth URL parameter really contains in a test environment.
- Decoding identifiers found in DNS records, logs or configuration files.
- Validating another Base32 library against the RFC 4648 test vectors.
- Recovering text from a system that avoids lowercase and special characters.
Examples
Try this input in the tool above:
JBSWY3DPFQQEEYLTMUZTEII=
Hello, Base32!
Privacy
Base32 Decoder runs entirely in your browser. The text or files you provide are processed on your device and are not uploaded, logged or stored on our servers.
Limitations
A successful decode says nothing about who produced the data, and binary payloads cannot be shown properly as text.
Frequently asked questions
Why do I get an invalid character error for 0, 1, 8 or 9?
The standard Base32 alphabet only contains A–Z and 2–7. Digits 0, 1, 8 and 9 are excluded to avoid confusion with O, I, B and g. If your data uses 0–9, try the Extended Hex alphabet.
Does it matter if the string is lowercase?
No. Case is ignored: mzxw6ytboi decodes exactly like MZXW6YTBOI.
What does an impossible length mean?
Base32 blocks contain 2, 4, 5, 7 or 8 useful characters. A remainder of 1, 3 or 6 characters cannot come from whole bytes, so the string was probably cut off.
Related tools
Base32 Encoder
Convert text into a Base32 string, the case-insensitive encoding used for authenticator secrets and file-safe identifiers.
Encoding & Decoding
Base64 Decoder
Paste a Base64 string and read the original text instantly, even when the padding is missing.
Encoding & Decoding
Base64URL Decoder
Paste a URL-safe Base64 string, such as a JWT segment, and read the text inside immediately.
Encoding & Decoding
Hex to Text Converter
Paste hex bytes from a dump, a log or a source file and read the text they spell.
Encoding & Decoding
Binary to Text Converter
Paste a string of ones and zeros and read the message hidden in it.
Encoding & Decoding
HMAC Generator
Sign a message with a secret key using HMAC and copy the authentication code as hex or Base64.
Hash & Checksum