mainnet 11:54:29 UTC
/index/ /tools/ /06 bitcoin-address-validator
live

Bitcoin address
validator.

Formats
04
P2PKH · P2SH · SegWit · Taproot
Standards
BIP-173
+ BIP-350 (bech32m)
Networks
3
mainnet · testnet · regtest
Privacy
Local
SHA-256 in-browser
/06BITCOIN ADDRESS VALIDATOR
awaiting input
↺ reset
/reference — address types
typeprefixencodingnote
P2PKH1…Base58Checklegacy pay-to-pubkey-hash
P2SH3…Base58Checkscripts (multisig, wrapped segwit)
P2WPKHbc1q…Bech32 (v0)native SegWit single-key
P2WSHbc1q…Bech32 (v0)native SegWit script
P2TRbc1p…Bech32m (v1)Taproot · BIP-341
/notes
01
Two checksum schemes.
Legacy / P2SH addresses use Base58Check (double SHA-256). SegWit v0 uses Bech32. Witness v1+ (Taproot and beyond) uses Bech32m, which fixed a flaw in the original Bech32 constant. Mixing them — e.g. a Taproot address with a Bech32 checksum — fails validation by design.
02
Mixed case is invalid.
Bech32 explicitly rejects mixed-case input. bc1q… and BC1Q… are both valid; Bc1Q… is not. The all-uppercase form is sometimes used in QR codes because it's denser to encode.
03
Network is encoded.
Mainnet, testnet, and regtest are distinguished by the version byte (Base58) or the human-readable prefix (Bech32: bc, tb, bcrt). A testnet address pasted into a mainnet wallet will fail before any signing happens — but it's worth catching early.
/faq
01

What does a valid Bitcoin address look like?

There are four shapes you'll see in the wild: P2PKH legacy addresses starting with 1, P2SH addresses starting with 3, native SegWit (P2WPKH/P2WSH) starting with bc1q, and Taproot (P2TR) starting with bc1p. Testnet equivalents start with m / n / 2 / tb1.

02

How is a Bitcoin address checksum verified?

Legacy and P2SH addresses use Base58Check: the last 4 bytes are the first 4 bytes of SHA-256(SHA-256(payload)). SegWit and Taproot use Bech32 / Bech32m, which embed a polynomial-modulo checksum within the address text. We compute both locally — no network call.

03

Why does a single typo invalidate the whole thing?

That's the point — both checksum schemes are designed so any 1-character flip is detected with extremely high probability. If validation fails, treat the address as a transcription error and re-paste, never "round it up" to a similar one.

04

Is bc1 ever uppercase?

Yes. Bech32 specifies that all-uppercase or all-lowercase encodings are valid (mixed case is invalid). All-uppercase is sometimes used in QR codes for better error correction.