Shard Tools

Base32 Encode

Encode text to Base32 in your browser.

Maintained by Roshan.

Use Base32 Encode

Converts text to base32 in this tab, with nothing sent anywhere.

Runs entirely on your deviceThe conversion happens in this browser tab. Nothing you type is uploaded, logged or stored, which is worth knowing for anything you would not paste into a search box.

Explore developer and data tools

Find related browser-local tools for nearby tasks without starting another search.

Browse all developer and data tools

About Base32 Encode

Base32 is Base64's less famous cousin, and it exists for the situations where Base64 causes trouble. Its alphabet is only the uppercase letters A to Z and the digits 2 to 7 - no lowercase, no punctuation, and deliberately no zero, one, eight or nine, because those look too much like the letters O, I, B and other characters when read aloud or written by hand. That makes Base32 the right choice for anything a human has to transcribe or dictate: recovery codes, secret keys for two-factor authentication, identifiers printed on hardware. It is less compact than Base64, using more characters for the same data, but it survives being spoken over a phone or copied from a screen, which Base64 does not.

Using Base32 Encode

  1. The text is encoded to UTF-8, then its bytes are regrouped from eight-bit chunks into five-bit chunks, because Base32 encodes five bits per character.
  2. Each five-bit value maps to one character of the alphabet A to Z and 2 to 7.
  3. When the data does not divide evenly into five-bit groups, the output is padded with equals signs to a multiple of eight characters, as the standard requires.
  4. The alphabet excludes the digits 0, 1, 8 and 9, which are easily confused with letters, which is the whole reason Base32 is easier to transcribe.
  5. The result is standard RFC 4648 Base32, the form used by authenticator apps and recovery codes.

Where base32 encode helps

Producing a shareable key

Base32 is what makes a two-factor secret possible to type by hand. The restricted alphabet is the point.

Encoding an identifier for print

A code printed on a device that someone will read out is far more reliable in Base32 than in Base64.

Before you use the result

Questions about Base32 Encode

How is Base32 different from Base64?

It uses a smaller, human-friendly alphabet - no lowercase, no easily-confused digits - at the cost of being longer. It is meant for transcription, not compactness.

Why no zero or one?

Because they look like the letters O and I. Excluding them is what makes Base32 reliable to read aloud or copy by hand.

Is it uppercase only?

The canonical output is. Base32 itself is case-insensitive, so the decoder accepts either.

Is this the same as authenticator keys?

Yes. Two-factor secret keys are RFC 4648 Base32, the same standard this uses.

Related tools

Base32 Decode

Decode Base32 back to text in your browser, tolerating missing padding and mixed case.

Text to Hex

Convert text to hexadecimal in your browser. Each character becomes its UTF-8 bytes in hex.

Hex to Decimal

Convert a hexadecimal number to decimal in your browser, with full precision for large values.