What is an Ethereum address checksum?
An Ethereum address checksum is the mixed-case capitalisation defined in EIP-55: the 40 hex characters are hashed with Keccak-256 and each letter is upper-cased when the matching hash nibble is 8 or higher. The address itself is unchanged; the case pattern lets any wallet detect a mistyped character without an on-chain lookup.
How EIP-55 works
- Take the 40 hex characters of the address without 0x, in lowercase.
- Compute Keccak-256 of those 40 ASCII characters (not of the bytes).
- For each position, if the character is a letter and the corresponding hex digit of the hash is 8 or above, make it uppercase.
Example: 0xfb6916095ca1df60bb79ce92ce3ea74c37c5d359 becomes 0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359. Because the capital letters depend on the hash of the whole string, changing any digit changes which letters are capitalised, so a single typo is detected.
When you need the checksummed form
- Smart-contract tools and SDKs such as ethers.js and web3.py reject mixed-case addresses with a bad checksum and some require checksummed input.
- Allow-lists and payout sheets. Normalising every address to EIP-55 removes duplicates that differ only in case and makes bad entries obvious.
- Publishing a donation or deposit address. The checksummed form lets your visitors' wallets detect transcription errors.
Batch mode
Paste one address per line. The table shows each input, its checksummed form and a status: checksum valid, no checksum (single case) or checksum mismatch. Use the copy button at the bottom to grab all converted addresses at once.
Already have a verified address? Make a payment code with the Ethereum QR generator or the USDT ERC-20 QR generator.