← All Tools

Bitcoin Address Validator

Validate any Bitcoin address — Legacy 1… (P2PKH), Script 3… (P2SH), Native SegWit bc1q… (P2WPKH/P2WSH), and Taproot bc1p… (P2TR). Decodes the version byte, witness program, HRP, and checksum, then shows the raw bytes so you can see exactly what's encoded. Also recognises testnet (tb1…, m/n…, 2…), regtest / signet, and Litecoin (L/M…, ltc1…).

Address

Sample Addresses

TypeNetworkAddress

Address Format Reference

Prefix / HRPTypeEncodingNetwork
1P2PKH (Pay-to-Public-Key-Hash)Base58Check, version 0x00Mainnet
3P2SH (Pay-to-Script-Hash)Base58Check, version 0x05Mainnet
bc1qP2WPKH / P2WSH (SegWit v0)Bech32, HRP bcMainnet
bc1pP2TR (Taproot, SegWit v1)Bech32m, HRP bcMainnet
m / nP2PKHBase58Check, version 0x6FTestnet / Regtest / Signet
2P2SHBase58Check, version 0xC4Testnet / Regtest / Signet
tb1SegWit v0 / TaprootBech32 / Bech32m, HRP tbTestnet / Signet
bcrt1SegWit v0 / TaprootBech32 / Bech32m, HRP bcrtRegtest
L / M / 3Litecoin P2PKH / P2SHBase58Check, version 0x30 / 0x32Litecoin Mainnet
ltc1Litecoin SegWitBech32, HRP ltcLitecoin Mainnet

How It Works

Base58Check (BIP-13) encodes [1-byte version][20-byte hash][4-byte checksum]. The checksum is the first 4 bytes of SHA256(SHA256(version + hash)). Base58 omits the visually ambiguous characters 0, O, I, and l. Leading 0x00 bytes are encoded as leading 1 characters.

Bech32 (BIP-173) uses the human-readable part (HRP) bc for mainnet, plus a 1 separator, then 32 lowercase data characters. A 6-character BCH checksum can catch any 4 character errors in the address. Bech32m (BIP-350) tweaks the checksum constant from 1 to 0x2bc830a3 — Taproot (witness v1+) uses Bech32m, while SegWit v0 still uses the original Bech32.