bech32
Reference implementation for Bech32 and segwit addresses.
Decision gist · record as of 2026-08-14
Yes, if you need stable bech32 encoding and decoding for Bitcoin or Lightning applications and accept that the package will not receive updates. The implementation is mature, has no dependencies, and carries no known vulnerabilities. Do not install if you expect ongoing maintenance or compatibility updates with evolving standards.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Installation is straightforward with no runtime dependencies.
- However, the package is archived and unmaintained since February 2020, with no updates for several years.
- Use only if you need stable, unchanging bech32 functionality and do not expect bug fixes or security patches.
License · maintenance · safety
MIT (permissive) — MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects.
last release 2020-02-17 (2370 days) · last repo commit 2020-02-17 · 20 stars · archived
0 known vulnerabilities (OSV.dev, 2026-08-14) · 519,847 downloads/mo, #6,215 on PyPI
Alternatives
Verify before relying
pip install bech32
from bech32 import bech32_encode, bech32_decode
# Encode to bech32
encoded = bech32_encode('bc', data)
# Decode bech32
hrp, decoded = bech32_decode(encoded)- Whether the implementation remains compatible with current bech32 specifications and Lightning invoice standards.
- Whether the removal of the length limit (noted in the description) is still appropriate for all use cases.
- Specific bit-width conversion capabilities and their correctness for cryptographic applications.
What it is and what it does
Bech32 is a reference implementation of the bech32 checksummed base32 encoding format, originally developed for Bitcoin segwit addresses and later adopted for Lightning Network invoices. The package provides functions to encode data into bech32 strings and decode them back, with built-in checksum validation to detect errors.
The implementation is a Python port of the reference specification, with a modification to remove a length limit so it can handle longer Lightning invoice payloads. Since the package has no runtime dependencies and requires Python 3.5 or later, it installs cleanly and runs with minimal overhead. However, it has been archived and receives no maintenance, so it is suitable only for projects that need stable, unchanging bech32 functionality.
Use it for
- Encode Bitcoin segwit addresses for wallet or exchange software.
- Decode and validate bech32-encoded Lightning Network payment invoices.
- Verify bech32 checksums to detect transmission or transcription errors in encoded data.
- Integrate bech32 encoding into cryptocurrency address generation pipelines.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need stable bech32 encoding and decoding for Bitcoin or Lightning applications and accept that the package will not receive updates.
The implementation is mature, has no dependencies, and carries no known vulnerabilities. Do not install if you expect ongoing maintenance or compatibility updates with evolving standards.
Install
bech32 on PyPI
Before you install
Installation is straightforward with no runtime dependencies. However, the package is archived and unmaintained since February 2020, with no updates for several years. Use only if you need stable, unchanging bech32 functionality and do not expect bug fixes or security patches.
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects.
Quickstart
pip install bech32
from bech32 import bech32_encode, bech32_decode
# Encode to bech32
encoded = bech32_encode('bc', data)
# Decode bech32
hrp, decoded = bech32_decode(encoded)
Verify before relying
- Whether the implementation remains compatible with current bech32 specifications and Lightning invoice standards.
- Whether the removal of the length limit (noted in the description) is still appropriate for all use cases.
- Specific bit-width conversion capabilities and their correctness for cryptographic applications.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.5 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Abandoned 2,370 days since the last release |
| Last repo commit | repository archived |
| First released | |
| Downloads | 519,847 / month, #6,215 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.7 |
Evidence: bech32-1.2.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “bech32 encoding decoding”
- bech32Encodes and decodes bech32-formatted strings, a checksummed base32…
- bech32mEncodes and decodes Bech32 and Bech32m strings, the checksummed…
- basesProvides customizable Base-N encoding and decoding for common styles…
Give your agent the search over MCP, or paste the wish link into any chat.
More Cryptography packages
Certifi provides Mozilla's curated collection of root SSL certificates for Python applications to validate TLS hosts and verify certificate trustworthiness.
cryptography provides cryptographic recipes and low-level primitives for symmetric encryption, message digests, key derivation, and other common cryptographic algorithms in Python.
Pure-Python RSA encryption, decryption, signing, and key generation following PKCS#1 v1.5, with command-line and library interfaces.
pyOpenSSL wraps OpenSSL's SSL/TLS functionality for Python, providing high-level connection objects and certificate handling through a Python-friendly interface around OpenSSL's cryptographic operations.
Provides Microsoft Entra ID token-based authentication for Azure SDK clients through a set of TokenCredential implementations that handle OAuth flows and managed identity support.
PyNaCl provides Python bindings to libsodium for digital signatures, secret-key and public-key encryption, hashing, message authentication, and password-based key derivation.
See also base32-crockford · bech32m · base58check · base58 · breez-sdk-spark · bitcoin-utils · bases · bip32 · py-multihash · py-multibase