Productivity and Utilities

Crockford Base32 Encoder

Enter a number to encode, or a Base32 string to decode.

Your numbers

Direction

A whole number up to 9,223,372,036,854,775,807 to encode. To decode, hyphens and lowercase are fine, and I, L and O are read as 1, 1 and 0.

Result

Base32 with check

16JD

1,234 written in Base32

Check symbol
D
Length
3 characters

The parts

MeasureValue
Number1,234
Base3216J
Check symbolD
With check symbol16JD
How this was calculated
  1. The alphabet has 32 symbols: the digits 0 to 9 and the letters A to Z without I, L, O and U, which are left out so that characters cannot be confused with 1 and 0 or spell rude words.
  2. The number is written in base 32 with the most significant symbol first. The optional check symbol is the number mod 37, taken from the 37 symbols of the alphabet followed by * ~ $ = U.
  3. Decoding ignores hyphens and case, reads I and L as 1 and O as 0, and checks the check symbol when it is used.

Calculated using SumPanda.com · https://sumpanda.com/crockford-base32-id-encoder/

Results are estimates for general information. Verify important figures before relying on them.

Next step

How to use the crockford base32 encoder

  1. Choose Number to Base32 or Base32 to number.
  2. Enter a whole number to encode, or a Base32 string to decode.
  3. Tick the check symbol if you want one added or verified.
  4. Read the encoded value, the check symbol and the table of parts.

Formula

The alphabet has 32 symbols: the digits 0 to 9 and the letters A to Z without I, L, O and U

The number is written in base 32, most significant symbol first

The check symbol is the number mod 37, taken from the alphabet followed by * ~ $ = U

Decoding ignores hyphens and case, and reads I and L as 1 and O as 0

Numbers up to 9,223,372,036,854,775,807 are accepted.

32 and 1,234

The number 32 is 10 in base 32, and 32 mod 37 = 32, which is the 33rd symbol, *, so the value with its check symbol is 10*. The number 1,234 is 1 x 1024 + 6 x 32 + 18, which is 16J, and 1,234 mod 37 = 13, which is D, so the value with the check is 16JD.

Decoding 16jd with the check on gives 1,234 and confirms the check symbol. Decoding 1z-3o without a check reads the o as a zero and gives 64,608; the tool lists "o read as 0" among the corrections.

A Base32 meant for people

Crockford Base32 was designed for identifiers that people read, type and say aloud. The letters I and L look like 1, O looks like 0, and U is left out to avoid accidental rude words. Case does not matter, and hyphens can be added for readability, as in 16J-D. The optional check symbol catches most single typing errors and swaps of neighboring symbols.

It is used for short identifiers, invitation codes and sortable ids. Because the digits are in order, encoded numbers of the same length sort in the same order as the numbers.

How it differs from other Base32

The RFC 4648 alphabet used by the Base32 Encoder and Decoder encodes bytes with padding. This tool encodes a single number. For timestamps and ULIDs see the ID Timestamp Decoder, to make a random identifier the UUID Generator, and for other check digits the Check Digit Validator.

Assumptions and limits

  • The value is a whole number from 0 to 9,223,372,036,854,775,807.
  • The check symbol is optional and is added to the end.
  • The numbers shown are examples. Use your own.
  • Everything runs in your browser and nothing is uploaded.

Formulas reviewed October 10, 2026. See the calculation methodology for how SumPanda rounds, tests and sources its formulas.

Frequently asked questions

Why is U not in the alphabet?

It is left out of the 32 digits to avoid accidental offensive words, but it appears in the extra symbols of the check set.

How does the check symbol catch mistakes?

It is the number mod 37, so changing one symbol or swapping two neighbors almost always changes the check.

Why is zero encoded as 0 and its check also 0?

With the check on, zero becomes 00: the digit 0 and the check symbol 0, because 0 mod 37 is 0.

Can I add hyphens?

Yes, when decoding. Hyphens are removed first, so 16J-D and 16JD are the same.