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…).
| Type | Network | Address |
|---|
| Prefix / HRP | Type | Encoding | Network |
|---|---|---|---|
1 | P2PKH (Pay-to-Public-Key-Hash) | Base58Check, version 0x00 | Mainnet |
3 | P2SH (Pay-to-Script-Hash) | Base58Check, version 0x05 | Mainnet |
bc1q | P2WPKH / P2WSH (SegWit v0) | Bech32, HRP bc | Mainnet |
bc1p | P2TR (Taproot, SegWit v1) | Bech32m, HRP bc | Mainnet |
m / n | P2PKH | Base58Check, version 0x6F | Testnet / Regtest / Signet |
2 | P2SH | Base58Check, version 0xC4 | Testnet / Regtest / Signet |
tb1 | SegWit v0 / Taproot | Bech32 / Bech32m, HRP tb | Testnet / Signet |
bcrt1 | SegWit v0 / Taproot | Bech32 / Bech32m, HRP bcrt | Regtest |
L / M / 3 | Litecoin P2PKH / P2SH | Base58Check, version 0x30 / 0x32 | Litecoin Mainnet |
ltc1 | Litecoin SegWit | Bech32, HRP ltc | Litecoin Mainnet |
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.