Tool 11 · Utilities · Free
Web3 Unit & Encoding Utilities
The conversions you reach for mid-review: wei to ether without floating-point error, hex and binary, bytes32 to string, EIP-55 checksum validation, function selectors and keccak256. All BigInt-based, all local.
At a glance
Web3 Unit Converter
Run it
Type in any field; the rest update instantly. Arbitrary precision — no floating-point rounding.
Checks the EIP-55 mixed-case checksum, which catches most typos and tampering.
Collisions between two different signatures are flagged — the failure mode behind proxy shadowing and diamond routing bugs.
Ethereum's keccak256, not NIST SHA3-256 — they differ by one padding byte.
How it works
What this tool does, and what it can't.
Everything here uses BigInt, so a wei value near uint256 max converts to ether and back without losing a single unit. Most online converters use floating-point and silently corrupt large numbers — which matters when the number is somebody's balance.
The keccak256 implementation is hand-written (about 4KB, no dependency) and verified against the standard test vectors plus real ERC-20 selectors. It powers the EIP-55 checksum validator and the selector calculator.
The selector panel flags collisions between different signatures. That is not a curiosity: selector collisions are how a function gets shadowed in a transparent proxy and how a diamond's routing table becomes ambiguous.
1018 — 1,000,000,000,000,000,000. One gwei is 109 wei, and gas prices are conventionally quoted in gwei.
A mixed-case encoding of an Ethereum address where the capitalisation is derived from the hash of the lowercase address. It costs nothing and catches most typos and tampering, which is why wallets warn on a mismatch. An all-lowercase address is valid but carries no checksum to verify.
The first four bytes of keccak256 of the canonical signature — the function name plus parameter types with no spaces and no parameter names. transfer(address,uint256) gives 0xa9059cbb.
OpenZeppelin's AccessControl identifies roles by bytes32, usually keccak256("MINTER_ROLE"). Converting between the string and the hash is how you check which role a transaction actually granted.
Not quite. Ethereum uses the original Keccak submission, which pads with 0x01; NIST's finalised SHA3-256 pads with 0x06. Same permutation, different digest. Using a SHA3-256 library where keccak256 is required is a classic integration bug.
Beyond automation
No tool reads your specification. We do.
The findings that drain protocols come from state assumptions, economic design and cross-contract interaction — none of which a scanner sees. Free scoping in under two working days.