What is a Bitcoin address validator?
A Bitcoin address validator decodes a BTC address and verifies its checksum: Base58Check for 1… and 3… addresses (the first 4 bytes of a double SHA-256), bech32 for bc1q… (BIP-173) and bech32m for bc1p… (BIP-350). A pass means every character is as issued; a fail means at least one character was changed and the address must not be used.
How to validate a Bitcoin address
- Paste the address exactly as received. Remove any surrounding text or the bitcoin: prefix.
- Read the result. Valid shows the type (for example P2WPKH native SegWit), network and the decoded hash160 or witness program. Invalid names the reason: bad checksum, wrong length, illegal character or unknown version.
- Confirm with the recipient that the first and last characters match, then send a small test amount if the sum is large.
Reading the decoded fields
For legacy addresses the version byte is 0x00 (mainnet P2PKH), 0x05 (mainnet P2SH), 0x6f or 0xc4 (testnet). The hash160 is RIPEMD-160(SHA-256(public key or script)). For SegWit the witness version is 0 for bc1q and 1 for bc1p, and the witness program is the 20-byte key hash, 32-byte script hash or 32-byte Taproot output key.
Why the type matters
Some older exchange and wallet software still refuses bc1p Taproot or even bc1q addresses on withdrawal. If a platform rejects a valid address, generate a 3… or bc1q… address in your wallet instead. Fees paid by the sender are lowest for bc1q and bc1p, highest for 1… addresses.
Batch checks
Paste one address per line to validate a whole payout list at once. Each line gets its own result card, so you can spot the one bad entry in a sheet of 100 before a batch payment goes out.
Need a payment code for a verified address? Use the Bitcoin QR code generator.