All tools run in your browser — your files never leave your device.
All tools154

Developer & Security

Base32 Encoder & Decoder

RFC 4648 Base32, with and without padding, plus Crockford.

What it does. Base32 encodes binary data using 32 characters — A–Z and 2–7 — chosen to survive being read aloud, written by hand and typed without confusion. It is less compact than Base64 but case-insensitive and free of look-alike characters, which is why TOTP secrets and onion addresses use it.
Runs in your browserNothing uploadsNo signupWorks offline

How to use Base32 Encoder & Decoder

  1. Paste text or Base32 into the appropriate box.
  2. Choose the alphabet variant and whether to pad with =.
  3. Copy the result.

Base32 or Base64

Base32 or Base64
Base32Base64
AlphabetA–Z, 2–7A–Z, a–z, 0–9, + /
Size overhead60%33%
Case sensitiveNoYes
Safe to dictateYesNo
URL safeYesNeeds a variant
Typical useTOTP secrets, onion addressesData URIs, email attachments

The 60% overhead is the price of the properties above. Where data is transmitted rather than handled by people, Base64 is the better trade; where a human reads, types or dictates it, Base32 is.

The excluded characters

Standard Base32 omits 0, 1 and 8 deliberately. Zero and O, one and I and L, eight and B are the classic transcription errors, and the alphabet is designed so none of them can occur.

Crockford’s variant goes further: it also excludes U, to avoid accidental obscenity in generated identifiers, and it decodes O as 0 and I and L as 1 so that human mistakes still resolve correctly.

If people will type your identifiers, Crockford is worth the small incompatibility. If a machine will, use the RFC 4648 standard alphabet, because that is what libraries implement by default.

Padding

Base32 encodes five bytes into eight characters. When the input is not a multiple of five bytes the output is padded with = to reach a multiple of eight.

Padding matters only when encoded values are concatenated, which is rare. Many systems — TOTP secrets among them — omit it entirely, and most decoders accept either.

If a decoder rejects your string, stripping or adding padding is the first thing to try.

Frequently asked questions

Why does Base32 skip 0, 1 and 8?

To eliminate transcription errors. Zero and O, one and I or L, eight and B are the characters people confuse when reading or typing, so the alphabet excludes them by design.

Is Base32 encryption?

No. It is an encoding, fully reversible by anyone. It provides no confidentiality whatsoever — it exists to make binary data survive text channels and human handling.

Why is Base32 bigger than Base64?

It uses 32 symbols instead of 64, so each character carries 5 bits rather than 6. That is 60% overhead against Base64’s 33% — the cost of a case-insensitive, dictation-safe alphabet.

Do I need the = padding?

Usually not. It only matters when concatenating encoded values. TOTP secrets typically omit it, and most decoders accept a string either way.

What is Crockford Base32?

A variant that also excludes U and decodes O as 0 and I and L as 1, so human transcription errors still resolve correctly. Useful for identifiers people will type; less widely implemented than RFC 4648.