ExampleAddress

Bitcoin address case rules: Base58, Bech32 and Bech32m

Bitcoin Base58Check addresses are case-sensitive. Bech32 and Bech32m allow all-lowercase or all-uppercase representations but reject mixed case.

Worked example

Bitcoin address case rules: Base58, Bech32 and Bech32m: annotated comparison
EncodingCase ruleAction
Base58CheckPreserve exact upper/lowercaseNever normalize characters
Bech32All lower or all upper, not mixedPreserve wallet output
Bech32mSame case rule as Bech32Use version-appropriate validation

A display transformation can break an address

Uppercasing a Base58 address changes encoded symbols. Capitalizing just the first letter of a bc1 address creates a mixed-case string and invalidates Bech32 rules. Treat address text as structured data, not prose.

Checksums are encoding-specific

SegWit version 0 uses Bech32, while version 1 and later use Bech32m under BIP-350. Merely matching bc1 does not validate the checksum or witness program. This page explains rules; it does not implement Bitcoin address validation.

Common pitfalls

  • The EVM checker does not validate Bitcoin addresses.
  • Do not manually repair a checksum by changing characters.

Related references

Primary sources

Examples explain identifiers. They are not investment recommendations.