🔡

Base32 Encoder and Decoder

Convert text to and from Base32 with three alphabets
Base32 📂 Encode 👤 ToolWorld 🏷️ v1.3.0
Loading...
InputText to encode, or a string to decode

ResultCopy it or feed it back

Enter content, then press Run

Length and alphabet

Enter content, then press Run

How to Use

📖 Overview


Base32 slices a byte stream into five-bit groups and maps each group onto one of 32 safe characters, producing a string made only of uppercase letters and digits. Unlike Base64 it is case-insensitive in practice and carries no plus or slash, so nothing needs escaping inside a URL, a filename or a QR code. That is why it turns up in one-time-password secrets, backup recovery codes and order references: things a human has to copy by hand or read aloud. This tool supports three alphabets. RFC 4648 is the standard one. The Crockford alphabet drops I, L, O and U, which are the characters people most often misread, and folds those back during decoding. z-base-32 reorders the set so the most frequently used characters sit in positions that are easier to read and say. Encoding and decoding both work, and Chinese text is handled as UTF-8, so a three-byte character produces correspondingly more output than a Latin one. The trade-off against Base64 is size: Base32 needs eight characters for every five bytes, roughly 60 percent more than the original and noticeably longer than Base64 would be. You accept that cost when the string has to survive being read aloud, printed on paper or typed by someone who cannot tell a lowercase l from a digit one. If you only need to move bytes between two machines, Base64 remains the better choice.

✨ Features


  • Switch between encoding and decoding without re-pasting; the same input box serves both directions
  • Three alphabets: the RFC 4648 standard set, the Crockford human-oriented set, and z-base-32
  • Crockford decoding folds confusable characters automatically, treating I and L as 1, O as 0 and U as V
  • Padding toggle: emit the standard equals-sign padding, or drop it for a shorter string
  • Case toggle: the standard alphabet is uppercase by default, and lowercase output is one click away
  • A statistics panel showing byte count, character count and length expansion, plus the alphabet currently in use

🚀 How to use


  1. Type the plain text you want to encode, or the Base32 string you want to decode
  2. Choose the direction: encode or decode
  3. Pick the alphabet. The three sets are mutually incompatible, so it must match whoever produced the string
  4. Optionally tick padding and lowercase output
  5. Press Run, then use the swap button to feed the result back into the input and run it the other way

⚠️ Notes


  • The alphabet must match: the standard, Crockford and z-base-32 sets use different characters, and decoding with the wrong one yields garbage rather than an error
  • Input is treated as UTF-8: a Chinese character occupies three bytes, so encoded output is longer than you might expect. That is correct behaviour
  • Padding carries no data: trailing equals signs only round the length up to a multiple of eight. Removing them does not affect decoding, and this tool ignores them
  • Invalid characters are rejected: decoding stops with a message if it meets something outside the alphabet, rather than returning a partial result
  • Empty input gives no result: running with a blank box prompts you to enter content, and changing any option after a successful run invalidates the result until you press Run again, so the panel never shows a number computed from settings you have since edited

Related

⏫︎