Bitcoin Address Validator

Validate Bitcoin addresses including P2PKH (Legacy), P2SH, Bech32 (SegWit), and Bech32m (Taproot) with checksum verification.

Address Validator

Enter a Bitcoin address to validate. Supports P2PKH, P2SH, Bech32, and Bech32m formats.

How to Use

  1. Enter a Bitcoin address — Type or paste a Bitcoin address in the input field. Supports all standard formats.
  2. Automatic validation — The address is validated in real-time. The tool detects the address type and verifies the checksum.
  3. View address details — See the address type (P2PKH, P2SH, Bech32, Bech32m), network (mainnet/testnet), length, and hash.
  4. Try examples — Click the Example button to test with valid Bitcoin addresses of different types.

All validation is performed 100% client-side in your browser. No address data is sent to any server.

What Is a Bitcoin Address?

A Bitcoin address is a unique identifier used to send and receive Bitcoin on the blockchain. It functions like a bank account number but is derived from cryptographic keys. There are several address formats, each with a different prefix and encoding scheme:

  • P2PKH (Legacy) — Starts with 1. Uses Base58Check encoding. Example: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
  • P2SH — Starts with 3. Uses Base58Check encoding. Supports multi-signature and other script types.
  • Bech32 (SegWit) — Starts with bc1. Uses Bech32 encoding. Native SegWit addresses with lower fees.
  • Bech32m (Taproot) — Starts with bc1p. Uses Bech32m encoding. Supports Taproot and Schnorr signatures.

Bitcoin Address Formats

Type Prefix Encoding Length
P2PKH (Legacy)1Base58Check26-35 chars
P2SH3Base58Check26-35 chars
Bech32 (SegWit)bc1Bech3242-62 chars
Bech32m (Taproot)bc1pBech32m42-62 chars
Testnet P2PKHm/nBase58Check26-35 chars
Testnet P2SH2Base58Check26-35 chars
Testnet Bech32tb1Bech3242-62 chars

Frequently Asked Questions

What Bitcoin address formats are supported?

This validator supports P2PKH (Legacy, starts with "1"), P2SH (starts with "3"), Bech32 (SegWit, starts with "bc1"), and Bech32m (Taproot, starts with "bc1p") for mainnet. Testnet variants (starting with "m", "n", "2", or "tb1") are also supported.

How does Base58Check validation work?

Base58Check adds a version byte prefix and a 4-byte checksum (double SHA-256) to the payload. The validator decodes the Base58 string, extracts the checksum, and verifies it matches the double SHA-256 hash of the payload.

What is Bech32 encoding?

Bech32 is a compact, error-detecting encoding format defined in BIP-0173 for native SegWit addresses. It uses a 32-character alphabet and a BCH code checksum that can detect up to 4 character errors.

What is the difference between Bech32 and Bech32m?

Bech32m (defined in BIP-0350) is a modified version of Bech32 that fixes a weakness in the original Bech32 checksum. Bech32m is used for Taproot addresses (starts with "bc1p"), while original Bech32 is used for SegWit v0 addresses (starts with "bc1q").

Does a valid checksum mean the address exists?

No. A valid checksum only confirms the address is correctly formatted. It does not mean the address has been used on the blockchain or has a balance. For that, you would need a blockchain explorer API.

Related Tools