Skip to content
IntermediateLook up a term

What is Bech32?

Author
CRYPTO PORT Editorial
Published
Updated
Reading time
5 min

In short

Bech32 is the encoding behind Bitcoin addresses that start with bc1. Its error detection not only catches typos but can often point to where they are. The all-lowercase form exists to keep QR codes compact, and mixing cases is invalid by design.

Key points

  • The encoding for native SegWit addresses starting bc1
  • Strong error detection that can locate the mistake
  • Mixed-case strings are invalid by specification
  • Taproot (bc1p) uses the revised Bech32m

Definition

An address encoding defined in BIP173 for human transcription, carrying a BCH-code checksum that reliably detects a small number of errors.

Base58Check already excluded lookalike characters such as 0/O and 1/l, but its error detection had limits. Bech32 narrows the alphabet to 32 digits and lowercase letters and adds a BCH-code checksum, guaranteeing detection of any error touching up to four characters.

An address splits into a human-readable part (bc), a separator (1) and the data. Testnet addresses start tb, making it hard to confuse networks. Lowercase-only lets QR encoders use alphanumeric mode, so the same address fits in a noticeably smaller QR code than Base58 would.

Taproot addresses (bc1p) use a revision called Bech32m, introduced after a weakness was found in the original: certain insertions or deletions at the end went undetected. The two look nearly identical, but the checksum is computed differently, so older wallets without Bech32m support cannot send to bc1p addresses.

Watch out for

  • · Some older exchanges and wallets cannot send to bc1 or bc1p; check before withdrawing
  • · Converting only part of an uppercase Bech32 string to lowercase makes it invalid
  • · Error detection catches typos, not a correctly typed address belonging to the wrong person

Related coins

Read next

Crypto quizzes

Answer a few questions and get your result instantly.

Start