Back to Tools

Base32 to Text

Decode Base32 strings back into readable text

Valid Input Integrity
0 Character Count

Reading Base32-encoded strings

Base32 represents binary data using only the letters A to Z and the digits 2 to 7. It shows up in two-factor authentication secrets, some file-sharing identifiers and systems that need case-insensitive, easy-to-dictate text. When you have a Base32 string and want to know what it says, this decoder turns it back into plain text.

Decoding in four steps

  1. Paste the string into the Base32 Input box. Spaces and line breaks are removed automatically, and lowercase letters are converted to uppercase.
  2. Click Decode Base32.
  3. Read the text in the Decoded Text card. Below it, Input Integrity shows Valid and Character Count shows the length of the decoded text.
  4. Press Copy Text to copy the result.

How the decoding works

  • Trailing equals signs used as padding are stripped before decoding, so padded and unpadded strings both work.
  • The alphabet is the standard RFC 4648 one (A-Z and 2-7). Strings written in the extended-hex or Crockford variants use different letters and may fail or decode to nonsense.
  • Each character is turned into five bits, the bits are regrouped into eight-bit bytes, and leftover bits at the end are discarded.
  • The bytes are interpreted as UTF-8, so accented letters and other languages come out correctly if they were encoded that way.

Everyday uses

  • Checking what an otpauth secret or similar token string contains while debugging an authenticator setup.
  • Decoding a value found in a configuration file or log that a colleague said was Base32.
  • Solving encoding puzzles and capture-the-flag challenges.
  • Verifying that a Base32 encoder in your own code produces the right output.

When decoding fails or looks odd

Any character outside the alphabet, such as 0, 1, 8, 9 or punctuation, triggers an alert saying the string is invalid and sets Input Integrity to Invalid. If the decoded bytes are not text, for example an encryption key or a hash, you will see replacement symbols or unreadable characters, because the tool always displays the result as text. There is no separate download button here, so use Copy Text to save the output. Decoding runs in JavaScript within the page and starts when you press the button.


Related Tools






Frequently Asked Questions

Do I need to include the trailing equals signs?
No. The decoder removes any trailing = characters before processing, so a string with or without padding gives the same result. Spaces, tabs and line breaks inside the string are also stripped.
Is lowercase Base32 accepted?
Yes. The input is converted to uppercase before decoding, so jbswy3dp and JBSWY3DP produce identical output. The standard alphabet only uses A to Z and the digits 2 to 7.
Why does my decoded result show strange symbols?
The tool displays decoded bytes as UTF-8 text. If the original data was binary, such as a secret key or hash, or was encoded with another variant, the bytes will not form readable text and replacement characters appear.
What happens when I enter an invalid string?
An alert tells you the Base32 string is invalid and Input Integrity switches to Invalid. Characters outside A to Z and 2 to 7, such as 0, 1, 8 or symbols, cause this. Remove them and decode again.
Does it support Base32hex or Crockford Base32?
No. It uses the standard RFC 4648 alphabet only. Strings from other variants use a different letter order and will either be rejected or decode to the wrong text, so convert them to the standard form first.
Support Chat
We typically reply within minutes

Hello! 👋 Before we start, please tell us your name.