Bitcoin Address Validator

Validator

Validate Bitcoin addresses instantly — P2PKH (legacy), P2SH, SegWit (bc1q), and Taproot (bc1p). Checksum verification, type detection, mainnet/testnet. Runs in your browser.

Enter Bitcoin Address
Validation Result
Enter a Bitcoin address above to validate
Bitcoin Address Types

Bitcoin has four active address formats: P2PKH (legacy, starting with 1) uses Base58Check encoding with a double-SHA-256 checksum; P2SH (starting with 3) supports multi-signature scripts; P2WPKH SegWit v0 (bc1q) uses Bech32 encoding for lower transaction fees; P2TR Taproot (bc1p) uses Bech32m encoding for maximum privacy and efficiency.

TypePrefixEncodingExample
P2PKH (Legacy)1Base58Check1A1zP1eP...
P2SH3Base58Check3J98t1Wk...
P2WPKH (SegWit)bc1qBech32bc1qar0s...
P2TR (Taproot)bc1pBech32mbc1p5d7r...

About this tool

About Bitcoin Address Validator

Bitcoin addresses are the human-readable identifiers that represent the destination for a Bitcoin transaction. There are four main address types in use today: P2PKH (Legacy, starting with 1), P2SH (Multi-sig/Script, starting with 3), P2WPKH (SegWit v0, starting with bc1q), and P2TR (Taproot, starting with bc1p). Each has a different encoding, structure, and checksum algorithm.

This validator supports all four mainnet address types plus their testnet equivalents. For Base58Check addresses (P2PKH, P2SH), it decodes the address, verifies the double-SHA-256 checksum, and identifies the version byte. For Bech32 addresses (SegWit v0), it verifies the BCH polymod checksum and the witness version. For Bech32m addresses (Taproot), it verifies the updated polymod constant. All validation is done client-side using the Web Crypto API for SHA-256.

Bitcoin address validation is essential before sending any transaction, for wallet software development, for exchange and payment processor backend validation, for blockchain explorer tools, and for any application that accepts Bitcoin donations or payments.

Instant validation with no network requests — the checksum algorithms are implemented entirely in the browser using the Web Crypto API for SHA-256. The validator identifies the address type and network (mainnet/testnet) so you know exactly what kind of address you're dealing with.

Key Features

  • P2PKH (legacy, starts with 1) — Base58Check validation
  • P2SH (starts with 3) — Base58Check validation
  • P2WPKH/P2WSH SegWit v0 (bc1q) — Bech32 validation
  • P2TR Taproot (bc1p) — Bech32m validation
  • Testnet addresses supported (tb1, m, n, 2)
  • Identifies address type and network
  • 100% browser-based — SHA-256 via Web Crypto API

FAQ

Bitcoin Address Validator — Frequently Asked Questions

How do Bitcoin addresses work?

A Bitcoin address is a hash of a public key (or script), encoded in a format that includes a checksum to detect typos. Legacy P2PKH addresses (starting with 1) use Base58Check encoding with a double-SHA-256 checksum. SegWit addresses (bc1) use Bech32 or Bech32m encoding with a BCH polynomial checksum. The checksum means that a single-character typo in the address can be detected before sending funds.

What is the difference between P2PKH, P2SH, and SegWit addresses?

P2PKH (Pay to Public Key Hash, legacy '1' addresses) is the original Bitcoin address format. P2SH (Pay to Script Hash, '3' addresses) enables multi-signature and other complex scripts. P2WPKH (Pay to Witness Public Key Hash, 'bc1q' addresses) is SegWit v0 — it reduces fees by separating signature data from the transaction. P2TR (Pay to Taproot, 'bc1p' addresses) is the newest format, offering maximum privacy and efficiency.

What is Base58Check?

Base58Check is the encoding used for legacy Bitcoin addresses. It encodes a version byte + 20-byte hash as a Base58 string (the alphabet excludes 0, O, I, l to avoid visual confusion), then appends the first 4 bytes of double-SHA-256(payload) as a checksum. Any single-character change produces a detectable checksum mismatch.

What is Bech32 and how is it different from Bech32m?

Bech32 (BIP 0173) is used for SegWit v0 addresses (bc1q). Bech32m (BIP 0350) is an updated version used for SegWit v1+ addresses (Taproot, bc1p). The difference is in the checksum constant: Bech32 uses constant 1 in its BCH polymod; Bech32m uses 0x2bc830a3. This change fixes a length-extension weakness in the original Bech32 format.

Can I validate testnet addresses?

Yes. Testnet P2PKH addresses start with m or n, testnet P2SH starts with 2, and testnet SegWit addresses start with tb1. This validator detects and labels all testnet address types. Testnet addresses use the same algorithms as mainnet — only the version byte or HRP (human-readable part) differs.

Tips

  • Always validate a Bitcoin address before sending funds — a typo could result in permanent loss
  • SegWit addresses (bc1q) have lower transaction fees than legacy addresses (starting with 1)
  • Taproot (bc1p) offers the best privacy and efficiency for single-sig transactions
  • Testnet addresses look similar to mainnet but start with tb1, m, n, or 2