bech32m
Encoding/decoding Bech32 and Bech32m
What it is and what it does
bech32m is a Python library that implements encoding and decoding for Bech32 and Bech32m, the checksummed base32 address formats used in Bitcoin and blockchain systems. It provides the core operations needed to convert between raw data and human-readable, error-detecting address strings.
The package requires Python 3.9 or later and has no external runtime dependencies, making it lightweight and easy to integrate. It is classified as production-stable but has been abandoned since mid-2023, meaning no new features or bug fixes are planned. Use it when you need a straightforward, dependency-free implementation of these encoding standards for existing applications, but be aware you cannot rely on upstream maintenance.
Use it for:
- Validate or generate Bitcoin addresses in applications that work with blockchain wallets or payment systems.
- Encode raw public keys or hashes into human-readable Bech32m format for display or transmission.
- Decode user-supplied Bech32 or Bech32m strings to extract the underlying data and verify checksums.
- Integrate Bech32 encoding into command-line tools or scripts that interact with Bitcoin or similar blockchain networks.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Encodes and decodes Bech32 and Bech32m strings, the checksummed base32 formats used in Bitcoin and blockchain applications.
Yes, if you need a simple, dependency-free Bech32/Bech32m codec and can accept that the package will not receive updates. The implementation is stable and well-suited to production use for encoding and decoding, but do not install if you expect ongoing maintenance or compatibility updates as blockchain standards evolve.
Install
bech32m on PyPI
pip
pip install bech32muv
uv add bech32mpoetry
poetry add bech32mInstalling bech32m
Before you install
Installation is frictionless—a pure Python wheel with no runtime dependencies. However, the package is abandoned: the last commit was 2023-07-13, over a year ago, and no updates have been released since 2023-06-14. Use only if you need a stable, unchanging implementation.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions, making it safe to integrate into most projects.
Quickstart
pip install bech32m
from bech32m import bech32_encode, bech32_decode
# Encode data to Bech32m
encoded = bech32_encode('bc', data)
# Decode Bech32m string
hrp, decoded = bech32_decode(encoded)
Requires Python 3.9 or later.
Verify before relying
- Whether the implementation handles all edge cases and malformed input robustly, given the lack of ongoing maintenance.
- Compatibility with the latest Bitcoin or blockchain protocol updates since the last release in June 2023.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,157 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 171,376/month — #10,370 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: bech32m-1.0.0-py3-none-any.whl
Keywords: bech32, bech32m, bitcoin, blockchain
Tags
More Cryptography packages
Certifi provides Mozilla's curated collection…
copyleft · top 100 on PyPI
cryptographycryptography provides cryptographic recipes and…
permissive · top 100 on PyPI
rsaPure-Python RSA encryption, decryption,…
permissive · top 1,000 on PyPI
pyOpenSSLpyOpenSSL wraps OpenSSL's SSL/TLS functionality…
permissive · top 1,000 on PyPI
azure-identityProvides Microsoft Entra ID token-based…
unclear · top 1,000 on PyPI
PyNaClPyNaCl provides Python bindings to libsodium…
permissive · top 1,000 on PyPI
bech32Encodes and decodes bech32-formatted strings, a…
permissive · top 15,000 on PyPI
leb128Encodes and decodes integers using LEB128…
permissive · top 5,000 on PyPI
base32-crockfordEncodes and decodes data using Douglas…
permissive · top 15,000 on PyPI
base58Encodes and decodes data using Base58 and…
permissive · top 5,000 on PyPI
base58checkEncodes and decodes byte arrays using the…
permissive · top 15,000 on PyPI
scalecodecEncodes and decodes data using the SCALE codec,…
permissive · top 15,000 on PyPI
rlpEncodes and decodes data using Recursive Length…
permissive · top 5,000 on PyPI
cchecksumProvides a C-accelerated implementation of…
permissive · top 15,000 on PyPI
faster-eth-abiEncodes and decodes Ethereum ABI data…
permissive · top 15,000 on PyPI
basesProvides customizable Base-N encoding and…
unclear · top 15,000 on PyPI