Base32 Crockford Encoder/Decoder

Douglas Crockford's human-friendly Base32 without I, L, O, U

Ad placeholder (leaderboard)

Crockford Base32, designed by Douglas Crockford, is a Base32 variant tuned for humans rather than machines. By dropping the letters I, L, O and U, it produces strings that are hard to misread and easy to dictate, which is why it underpins identifiers like ULIDs and many license-key schemes. This tool encodes text into Crockford Base32 and decodes it back, with forgiving, case-insensitive input handling.

How it works

The encoder treats your text as a stream of UTF-8 bytes and regroups those bits into 5-bit chunks, because 2⁵ = 32. Each chunk maps to one symbol from the alphabet 0123456789ABCDEFGHJKMNPQRSTVWXYZ — note the missing I, L, O and U. Leftover bits at the end are left-padded with zeros to complete the final symbol; unlike RFC 4648 Base32, no = padding is appended.

The decoder reverses this. It ignores hyphens and whitespace, uppercases each symbol, and applies Crockford’s forgiving rules — O becomes 0, and I or L become 1 — before looking the symbol up. The recovered 5-bit values are reassembled into bytes and decoded as UTF-8, with a clear error if an illegal symbol appears or the bytes are not valid text.

Example

Encoding the word Hello yields 91JPRV3F. Because decoding is forgiving, typing it back as 9ljprv3f (lowercase, with an l standing in for 1) still decodes to Hello.

Notes

Crockford Base32 also defines optional check symbols (*~$=U) for error detection; this tool focuses on the core encode/decode and does not append a check digit. Everything runs locally in your browser, so your data is never uploaded.

Ad placeholder (rectangle)