ETH/USD$2,437.21LIVE
BTC/USD$82,217.09LIVE
SOL/USD$105.29LIVE
XRP/USD$1.33LIVE
ADA/USD$0.23LIVE
DOT/USD$1.15LIVE
BNB/USD$728.70LIVE
ETH/USD$2,437.21LIVE
BTC/USD$82,217.09LIVE
SOL/USD$105.29LIVE
XRP/USD$1.33LIVE
ADA/USD$0.23LIVE
DOT/USD$1.15LIVE
BNB/USD$728.70LIVE
ETH/USD$2,437.21LIVE
BTC/USD$82,217.09LIVE
SOL/USD$105.29LIVE
XRP/USD$1.33LIVE
ADA/USD$0.23LIVE
DOT/USD$1.15LIVE
BNB/USD$728.70LIVE
ETH/USD$2,437.21LIVE
BTC/USD$82,217.09LIVE
SOL/USD$105.29LIVE
XRP/USD$1.33LIVE
ADA/USD$0.23LIVE
DOT/USD$1.15LIVE
BNB/USD$728.70LIVE
Skip to content
Free tool · Runs in your browser

Ethereum Address Checker: Validate Format, EIP-55 Checksum & Poisoning Lookalikes

Paste any string that looks like an ETH address to validate 0x + 40 hex, verify or generate the correct EIP-55 checksum, and compare two addresses character-by-character for classic address-poisoning patterns. Everything stays on your device.

Privacy: Validation is 100% client-side. We do not connect to your wallet, we do not send addresses to our servers, and we do not store what you paste. Never enter a seed phrase or private key.

Checksum and address-poisoning comparison illustration for Ethereum addresses

Check an address

Try an EIP-55 example:

Result

Paste an address to validate format and checksum.

Address-poisoning compare mode

Paste the address you intend to send to and the one you copied from history or a clipboard. We highlight every differing character and warn when the first and last 4–6 characters match but the middle does not — the pattern MetaMask and Etherscan describe in address-poisoning attacks.

What an Ethereum address is

An Ethereum account address is a public identifier: the prefix 0x followed by 40 hexadecimal characters (20 bytes). For an externally owned account it is derived from the last 20 bytes of the Keccak-256 hash of the public key. You can share the address so others can send ETH or tokens; the private key or recovery phrase that controls it must never be shared. Activity tied to the address is visible on the public ledger — see our wallet address guide and Ethereum wallet guide.

Contract accounts use the same visual format but hold code instead of a single private key. Explorers distinguish them by showing deployed bytecode. Sending value to a contract is not always the same as sending to a wallet: some contracts reject plain ETH transfers.

How EIP-55 checksums work

Hexadecimal letters a–f can be written upper or lower case without changing the underlying bytes. EIP-55 (ERC-55) uses that freedom as an error-detecting checksum. The algorithm lowercases the 40 hex characters, computes Keccak-256 over that ASCII string, then uppercases each letter whose corresponding hash nibble is ≥ 8. Compatible wallets reject mixed-case strings that fail this check, catching many copy and typing errors. All-lowercase or all-uppercase forms are still valid hex but carry no checksum — wallets typically accept them without that extra safety net. Spec: EIP-55.

Important implementation detail: Ethereum's hash is Keccak-256, not FIPS SHA3-256. Using the wrong hash function silently produces wrong capitalization. This page uses the js-sha3 keccak256 implementation and is tested against the official EIP-55 vectors.

Same address on L2s and other EVM chains

Keys that produce an address on Ethereum mainnet generally produce the same 0x string on EVM-compatible networks such as Arbitrum, Optimism, Base, and many others. That convenience is also a foot-gun: depositing on the wrong network, or sending a token that only exists on one chain, can lock funds until a recovery path exists — if one exists at all. Confirm network and asset in the receiving interface. For fee timing on mainnet, use the gas tracker.

Address poisoning, accurately

Address poisoning does not hack your private key. An attacker creates a vanity address whose leading and trailing characters mimic an address you already use, then sends you a tiny or zero-value transfer so the lookalike appears in your wallet or explorer history. When you later copy "your" or a contact's address from that history without reading the middle, you may paste theirs. Confirmed sends cannot be reversed by the protocol.

Reputable write-ups describe the same pattern and defenses (full-string comparison, contacts/address book, avoid history copy, hardware confirmation):

Safe-sending checklist

  1. Obtain the destination from the recipient, deposit screen, or a saved contact — not from an unsolicited inbound transfer.
  2. Run it through this checker for format and checksum; use compare mode against anything copied from history.
  3. Read the full address on the hardware or software wallet confirmation screen, middle characters included.
  4. Confirm network and asset. A familiar 0x shape is not proof you selected the right chain.
  5. For large first-time sends, consider a small test transfer and confirm receipt before the remainder.
  6. Review leftover token approvals periodically — see token approvals. Hang up on fake support: fake CEX support, Coinbase call scams, and Scam Watch.

Frequently asked questions

How do I check if an Ethereum address is valid?

A standard Ethereum address is 0x plus exactly 40 hexadecimal characters. Mixed-case addresses should also pass the EIP-55 checksum (Keccak-256 of the lowercase hex). This tool validates format, checksum, and flags common mistakes like ENS names, other-chain formats, or pasted private keys.

What is an EIP-55 checksum?

EIP-55 encodes a checksum in the capitalization of a–f letters. Wallets hash the lowercase address with Keccak-256 and upper-case letters where the corresponding hash nibble is 8 or higher. A single mistyped character usually fails the check. All-lowercase or all-uppercase addresses have no checksum.

Is Keccak-256 the same as SHA3-256?

No. Ethereum uses Keccak-256 (the pre-FIPS SHA-3 candidate). FIPS SHA3-256 produces different digests. Checksum libraries must use Keccak, not Node crypto sha3 or FIPS SHA-3.

Does the same address work on Arbitrum, Base, and other L2s?

Most EVM chains reuse the same 0x address format derived from the same private key. That does not mean every token or contract exists on every chain, or that a bridge deposit address is interchangeable. Always confirm the network and asset in the receiving app before sending.

What is address poisoning?

Attackers send a tiny or zero-value transfer from a lookalike address that matches the first and last characters of an address you use. Later, when you copy from transaction history, you may paste their address instead. Compare the full string—especially the middle—or use this compare mode before sending.

Can this tool see my wallet or steal funds?

No. Everything runs in your browser. There is no wallet connection, no server lookup of balances, and nothing you paste is sent to GrowYourEthereum. Still never paste a seed phrase or private key anywhere.

What is the difference between a wallet address and a contract address?

Both look like 0x + 40 hex. Externally owned accounts (wallets) are controlled by a private key. Contract accounts hold code. Explorers show whether bytecode is present. Sending ETH to a contract can succeed or fail depending on whether the contract accepts plain transfers.

What should I do if I already sent to the wrong address?

Confirmed on-chain transfers are generally irreversible. Contact the recipient only if you can verify them independently. Report fraudulent addresses on the block explorer when appropriate. Do not trust anyone who DMs offering recovery for a fee or seed phrase.

Related

Educational security tool only — not financial, legal, or recovery advice. On-chain transfers are typically irreversible. Verify high-value destinations through an independent channel before sending.