base32-crockford
A Python implementation of Douglas Crockford's base32 encoding scheme
What it is and what it does
base32-crockford is a Python implementation of Douglas Crockford's base32 encoding scheme, an alternative to standard base32 designed for human readability and error resistance. It uses a symbol set of 10 digits and 22 letters, deliberately excluding I, L, O, and U to avoid confusion between similar-looking characters. The encoder produces uppercase output, while the decoder is case-insensitive and automatically corrects common misreadings (i→1, l→1, o→0). Hyphens can be inserted for readability and are stripped during decoding. The scheme also supports appending a check symbol to detect errors within encoded strings.
The package has no runtime dependencies and installs easily, but it is no longer actively maintained. The last release was in 2015 and the last repository commit in 2019, so it will not receive updates for new Python versions, security issues, or bug fixes. It is suitable for projects that need Crockford base32 encoding and can tolerate a static, unsupported codebase.
Use it for:
- Encode identifiers or tokens in a human-friendly format that is easy to read aloud or transcribe by hand
- Decode Crockford base32 strings received from external systems or APIs that use this encoding standard
- Add error detection to encoded data by appending a check symbol and validating it on decode
- Replace standard base32 in contexts where confusing characters (I, L, O, U) must be avoided
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Encodes and decodes data using Douglas Crockford's base32 scheme, a human-readable alternative to standard base32 that excludes confusing characters and supports error detection.
Yes, if you specifically need Crockford base32 encoding and can accept an unmaintained package. The implementation is simple, has no dependencies, and carries no known vulnerabilities. However, do not use it if you require ongoing maintenance, support for modern Python versions, or active bug fixes. For new projects, verify that this encoding scheme is actually required rather than a standard alternative.
Install
base32-crockford on PyPI
pip
pip install base32-crockforduv
uv add base32-crockfordpoetry
poetry add base32-crockfordInstalling base32-crockford
Before you install
Installation is straightforward with no runtime dependencies. However, the package is abandoned—last release was 2015-03-19 and last commit 2019-10-21—so it will not receive bug fixes or security updates.
License in practice
BSD license is permissive, allowing commercial and private use with minimal restrictions, making it safe to include in most projects.
Quickstart
pip install base32-crockford
from base32_crockford import encode, decode
encoded = encode(b'hello')
decoded = decode(encoded)
Verify before relying
- Whether the package works reliably on modern Python versions (classifiers list Python 2.6–3.4, but no requires_python constraint is specified)
- Whether error detection via check symbols is production-ready or experimental
- Performance characteristics for large data volumes
Package facts
| License | BSD (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 4,166 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 784,144/month — #5,072 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: base32_crockford-0.3.0-py2.py3-none-any.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
bech32Encodes and decodes bech32-formatted strings, a…
permissive · top 15,000 on PyPI
bech32mEncodes and decodes Bech32 and Bech32m strings,…
permissive · top 15,000 on PyPI
basesProvides customizable Base-N encoding and…
unclear · top 15,000 on PyPI
base58checkEncodes and decodes byte arrays using the…
permissive · top 15,000 on PyPI
base36Converts integers to and from base36…
permissive · top 15,000 on PyPI
prisonEncodes and decodes a compact URI-friendly data…
permissive · top 5,000 on PyPI
py-multibaseEncodes and decodes data using the Multibase…
permissive · top 15,000 on PyPI
base64ioProvides a streaming interface for Base64…
permissive · top 15,000 on PyPI
risonEncodes and decodes data to and from Rison, a…
permissive · top 15,000 on PyPI
mikeshardmind-base2048Encodes binary data into text using base2048, a…
copyleft · top 15,000 on PyPI