Bitcoin Address Validator

Check that a BTC address is correctly formed before you send or print it. The tool verifies the checksum, tells you the address type and whether it is mainnet or testnet, and decodes the underlying hash.

Paste up to 200 addresses. Each is decoded, its checksum verified, and the network and address type identified.
Pick the network you intend to send on. A valid address of the wrong network is flagged.

Checked in your browser with JavaScript. Addresses are never uploaded or stored.

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

  1. Paste the address exactly as received. Remove any surrounding text or the bitcoin: prefix.
  2. 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.
  3. 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.

Frequently asked questions

What Bitcoin address types exist?

P2PKH legacy addresses start with 1; P2SH addresses start with 3 and usually wrap SegWit or multisig scripts; native SegWit P2WPKH and P2WSH start with bc1q; Taproot P2TR starts with bc1p. All four are valid on mainnet today.

How does Bitcoin address checksum work?

Legacy and P2SH addresses are Base58Check: version byte + 20-byte hash + the first 4 bytes of SHA-256(SHA-256(version + hash)). bc1 addresses use Bech32 (v0) or Bech32m (v1 and later), a BCH code that detects up to 4 errors with certainty.

Can a valid address be the wrong one?

Yes. Validation proves the string is not corrupted, not that it belongs to who you think. Clipboard-hijacking malware produces perfectly valid addresses. Compare several characters at both ends against the original.

Are uppercase bc1 addresses valid?

Yes. Bech32 allows all-uppercase or all-lowercase, never mixed. Uppercase is used in QR codes because it encodes more compactly. The tool accepts both.

Does it work for Litecoin or Bitcoin Cash?

Litecoin yes: L…, M… and ltc1… addresses are recognised. Bitcoin Cash CashAddr (bitcoincash:q…) is not supported yet; legacy-format BCH addresses look identical to Bitcoin addresses and cannot be told apart.