ENS Namehash Calculator

Compute the ENS namehash (EIP-137) for any .eth domain client-side

Ad placeholder (leaderboard)

The ENS Namehash Calculator computes the 32-byte node identifier that Ethereum Name Service contracts use to resolve a name. It implements the EIP-137 algorithm, including the recursive keccak-256 hashing, entirely in your browser.

How it works

ENS contracts cannot store arbitrary strings cheaply, so every name is reduced to a fixed 32-byte node via the namehash algorithm. The recursive definition from EIP-137 is:

namehash([]) = 0x0000...0000   (32 zero bytes)
namehash([label, ...rest]) =
    keccak256( namehash(rest) || keccak256(label) )

In practice you process labels from right to left. Starting from 32 zero bytes, for each label you compute its labelhash = keccak256(label), concatenate it after the running node, and hash again with keccak-256.

Labelhash vs namehash

The labelhash is the keccak-256 of a single label between dots — for example keccak256("vitalik"). The namehash combines every labelhash down the tree. A .eth second-level registration’s NFT token ID is the labelhash of its second-level label, while resolvers are keyed by the full namehash.

Example and notes

For eth, namehash is keccak256(0x00…00 || keccak256("eth")), and vitalik.eth then becomes keccak256(namehash("eth") || keccak256("vitalik")). This tool uses keccak-256, not NIST SHA3-256 — they differ by a single padding byte and are not interchangeable. For full ENS compliance, names should also be UTS-46 normalised; this tool lowercases input but does not perform full normalisation.

Ad placeholder (rectangle)