No upload · No network · No storage — every calculation happens in your browser. This page contains no code that makes a network request or writes to local storage.
The checker
Supports BTC (Base58Check plus Bech32/Bech32m), EVM chains (ETH/BSC/Polygon/Arbitrum and similar), TRON and SOL. It checks as you type; no button needed.
Waiting for input
Paste an address above and this panel will show the chain it belongs to, the checksum result, and what that result does not cover.
What this tool does, and what it does not
The one line that matters most
A valid format is not proof that this is the address of the person you mean to pay. Address checking catches typos, truncation and dropped characters. It does not catch clipboard substitution, and it does not catch an impersonated or swapped recipient. An address belonging to somebody else can be perfectly valid.
What it actually does: a local computation against each chain's published rules. Base58Check recomputes the first four bytes of a double SHA-256 and compares them with the address tail. Bech32 and Bech32m recompute their respective polynomial checksums. EVM addresses containing mixed case are recomputed with Keccak-256 against the EIP-55 capitalisation pattern. All of that happens in this page's own script.
What it does not do: it queries no block explorer, so it has no idea whether the address holds a balance, has any transaction history, or is newly created. It compares against no blocklist, so it cannot tell you whether an address has been reported. And it certainly does not know who owns it. All of those would require a network request, and this page deliberately makes none.
The rules it implements, and where they come from
Every rule below comes from a public specification you can check yourself.
| Chain | Address form | Verification | Specification |
|---|---|---|---|
| BTC (legacy) | starts with 1 or 3 |
Base58Check: 25 bytes decoded; last 4 must equal the first 4 bytes of the double SHA-256 of the leading 21 | Base58Check encoding |
| BTC (SegWit) | starts with bc1q |
Bech32 checksum, witness version 0, program length 20 or 32 bytes | BIP-173 |
| BTC (Taproot) | starts with bc1p |
Bech32m checksum; witness version 1 and above use a different constant | BIP-350 |
| EVM chains | 0x + 40 hex characters |
All-lower or all-upper carries no checksum; mixed case is recomputed against EIP-55 using Keccak-256 | EIP-55 |
| TRON | starts with T |
Base58Check, 25 bytes decoded, version byte 0x41, same checksum method as legacy BTC | TRON account docs |
| SOL | Base58 string | Must decode to 32 bytes. The format carries no checksum, so only length and character set can be verified | Solana terminology |
One more note on EVM addresses: an all-lowercase address is entirely valid — it simply carries no checksum information. So a result of "no checksum to verify" is not an error; it means the address itself offers nothing to check. The meaningful signal is mixed case that fails verification, which indicates the string was altered somewhere in transit.
Three things to do after it passes
These are the parts that actually determine where your assets go, and none of them can be done by a tool.
Work through all three before confirming
- Compare the ends character by character. Check the first six and last six against the source you copied from. Clipboard substitution frequently preserves the opening characters, so checking only the start is not enough.
- Send a small test amount first. On any new address, send the minimum, confirm arrival, then send the rest. This habit is worth more than any format check.
- Confirm where the address came from. Use only addresses you copied yourself from the destination account, never one someone sent you in a chat. Why that matters most is in six things a legitimate platform never does.
If the thing you are actually unsure about is whether the person is really who they claim, that is not an address-level question — the method is in a friend's account got taken over. And if your account has a withdrawal whitelist, new addresses face a cooling period first; the trade-offs are in is a withdrawal whitelist worth turning on.