A single mistyped character in a Bitcoin address does not bounce — funds sent to a malformed or wrong address are gone forever. This validator catches transcription errors before you broadcast by recomputing the address checksum locally, so you can confirm a deposit address is well-formed without trusting a remote service.
How it works
Bitcoin uses two checksum schemes depending on the address era. Legacy addresses
(those starting with 1 or 3) are Base58Check encoded: a version byte and the
20-byte public-key or script hash are concatenated, hashed twice with SHA-256, and
the first four bytes of that digest are appended as a checksum. To validate, the tool
Base58-decodes the string, splits off the trailing four bytes, recomputes the
double SHA-256 over the payload, and checks that the four bytes match.
SegWit addresses (starting with bc1) use Bech32 or Bech32m. The string is split at
the last 1 into a human-readable part (bc) and a data part encoded in a 32-symbol
alphabet. A polynomial checksum over the expanded HRP and data must equal a constant:
1 for Bech32 (witness version 0) or 0x2bc830a3 for Bech32m (witness version 1+,
i.e. Taproot). The witness version is the first data symbol, so the tool also enforces
that v0 uses Bech32 and v1 uses Bech32m, per BIP-350.
Example and notes
Paste bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq and you will see “Native SegWit”
with a valid Bech32 checksum. Change one character and the checksum fails immediately.
A Taproot address like bc1p... is labelled v1 and validated with Bech32m. Because the
algorithm only proves structural integrity, treat a pass as “safe to copy” — not as
proof of ownership or balance. Nothing you paste leaves the browser.