Bitcoin Address Validator

Validate a Bitcoin address — Legacy Base58Check, SegWit Bech32 and Taproot Bech32m — with full checksum verification and network detection. 100% local — nothing is uploaded.

Result
Type
Network

Checks format and checksum only — it cannot confirm the address exists or holds funds. Always verify the full address with the recipient.

Rule packs: Base58Check, BIP-173 (Bech32) and BIP-350 (Bech32m/Taproot) — verified against the official test vectors on every load.

Batch check (one address per line)

Validate a Bitcoin address

Paste a Bitcoin address to check it layer by layer: format detection (Legacy, SegWit or Taproot), character set, checksum (Base58Check double SHA-256, or the BIP-173 / BIP-350 polymod) and the address type with its network. Mainnet and testnet are both recognized, and a batch mode checks whole lists at once. Everything runs in your browser; the validator proves its own correctness against the official BIP test vectors on every load. It checks structure only — it cannot tell whether an address is actually in use. Checking an Ethereum address instead? Use the Ethereum Address Validator.

Bitcoin has three address families, each with its own checksum. Legacy addresses (starting with 1 for P2PKH or 3 for P2SH) use Base58Check: the payload is hashed twice with SHA-256 and the first four bytes are appended as a checksum, so a single mistyped character is caught with overwhelming probability. SegWit addresses starting with bc1q use Bech32 (BIP-173), and Taproot addresses starting with bc1p use Bech32m (BIP-350) — both are BCH codes that guarantee detection of any error affecting up to four characters.

This validator decodes the address, verifies the correct checksum algorithm for its version (v0 must use Bech32, v1+ must use Bech32m), checks witness-program lengths, and reports the address type (P2PKH, P2SH, P2WPKH, P2WSH, P2TR) and network (mainnet, testnet, regtest). The implementation is verified against the official BIP-173 and BIP-350 test vectors on every page load.

FAQ

Which Bitcoin address formats are supported?

All current formats: Legacy P2PKH (starts with 1), P2SH (starts with 3), SegWit v0 Bech32 (bc1q…) and Taproot Bech32m (bc1p…), plus the testnet variants (m, n, 2 and tb1…). The network is labeled for each.

How is the checksum verified?

Base58Check addresses embed a 4-byte checksum equal to the first bytes of SHA-256(SHA-256(payload)). Bech32 and Bech32m addresses use the BIP-173 / BIP-350 polymod checksum. Both are implemented exactly as specified and self-tested against the official test vectors on every page load.

Does a valid result mean the address exists or holds funds?

No. This tool checks format and checksum only — it cannot confirm the address exists or holds funds. Always verify the full address with the recipient before using it.

What is the difference between Bech32 and Bech32m?

Bech32m (BIP-350) fixes a weakness in the original Bech32 checksum constant. Witness version 0 addresses (bc1q…) must use Bech32, while witness version 1 and higher (Taproot bc1p…) must use Bech32m. Mixing them up makes the address invalid.

Why is my address invalid?

The four-layer result shows exactly where it failed: format detection, character set, checksum, or address-type rules. A failed checksum usually means one or more characters were mistyped or the address was truncated.

Can I check many addresses at once?

Yes. Open Batch check and paste one address per line; the table and CSV export include the result, type, network and failed layer for each entry.

Is my address uploaded anywhere?

No. Validation runs entirely in your browser using local JavaScript and the Web Crypto API — nothing is sent or stored.

Last updated: