skillfed

bech32m

Encoding/decoding Bech32 and Bech32m

bech32m v1.0.0 171.4K downloads/30d#10,370 on PyPI1
Permissive license Abandoned released

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 bech32m

uv

uv add bech32m

poetry

poetry add bech32m

Installing 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

Development Status :: 5 - Production/StableLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.9Topic :: Security :: Cryptography

Tags

bech32 encoding decodingbech32m bitcoin addressblockchain checksum formatbase32 bech32 codecbitcoin address encodingbech32m python library
bitcoinblockchainencoding

More Cryptography packages