Signature Verifier
Signature Verifier recovers the signer from an Ethereum personal_sign (EIP-191) message and 65-byte signature, then checks an expected address. Local only.
Calculations and checks on this page run in your browser. Private keys and seed phrases are never uploaded to the server.
About this tool
Signature Verifier recovers a signer address from an EIP-191 personal_sign payload to prove an EOA controls an off-chain statement—no on-chain tx or gas required.
It hashes with the EIP-191 prefix (\x19Ethereum Signed Message:\n + length) then ecrecover, matching MetaMask-style personal_sign behavior.
Typical uses include KYC/whitelist proofs, checking project announcements, and debugging login nonce signatures.
How to use
- Paste the exact original message text that was signed.
- If the message is raw bytes, enable Message is hex.
- Paste the 0x-prefixed 130-hex-character (65-byte) signature.
- Optionally enter an expected address and compare the recovered result.
FAQ
Do I need a private key to verify an Ethereum message signature?
No—only the public message and signature. Any request for a private key or seed phrase “to verify” is fraud.
Why doesn't the recovered address match?
Usually a byte-level message mismatch (spaces, newlines, encoding), or a format this tool does not cover such as EIP-712.
Can a personal_sign signature move my funds?
Plain-text personal_sign alone cannot authorize a transfer. Signing Permit, order or transaction payloads can have on-chain effect—read the wallet prompt carefully.
Can Safe or other contract wallets be verified here?
No EIP-1271 on-chain path. This tool only recovers secp256k1 signatures from EOAs.