Crockford Base32
Crockford Base32 is a Base32 variant designed by Douglas Crockford for encoding and checking integers, with an optional check character and tolerant decoding of ambiguous symbols.
Purpose
It represents integer IDs in a compact, checkable form while tolerating common human input errors (such as 0/O and 1/I/L).
Mechanism
The integer is converted to Base32 (0-9, A-V, excluding U); when decoding, O maps to 0 and I/L map to 1. An optional check character (modulo 37) can be appended to detect single-character errors.
Use cases
- Distributed ID encoding
- API tokens
- Human-readable object identifiers