Skip to main content

How do I add a decentralised website to my ENS name?

Point your ENS name at an IPFS site by setting the Content Hash record. Visitors then reach your site at yourname.eth.limo from any browser.

You set the Content Hash record on your ENS name. It points at a site you've already hosted on IPFS (or another decentralised storage protocol), and once it's set, visitors can reach your site at yourname.eth.limo from any browser. The whole thing is one transaction.

Good to know

  • You need a site already hosted on IPFS, Arweave, or Swarm. ENS doesn't build or host websites — it links your name to a site you've hosted elsewhere.

  • The Manager is the wallet that controls a name's records — it can change the ETH Address, set text records, and so on. For wrapped names, the Manager role is merged into the Owner role. Only the Manager can set the Content Hash.

  • Needs ETH on Ethereum Mainnet for gas — no other cost.

  • The ENS App only handles .eth names and onchain subnames. For project subnames like base.eth or uni.eth, use the project's own site.

Steps

  1. Open Edit Profile. Go to app.ens.domains and connect your wallet. Search for your name, open the Profile tab, and click Edit Profile.

  2. Paste your IPFS CID into the Content Hash field. Open the Other section. The Content Hash field is there. Paste in your CID and click Save.

  3. Approve in your wallet. Most confirm in 1–2 blocks (12–24 seconds); busy networks can take longer. Once it lands, you'll see the Content Hash record on your profile.

Open yourname.eth.limo in a browser to check it's working.

How visitors reach your site

Two routes, depending on what they're using:

  • yourname.eth.limo in any browser — eth.limo is a free public gateway that reads your Content Hash and loads the content from IPFS. Anyone can use it; there's nothing to sign up for. eth.link works the same way.

  • yourname.eth in ENS-aware browsers — Brave reads the Content Hash directly and loads the site, no gateway needed.

The Content Hash is the same in both cases — the gateway is just what makes it accessible from a regular browser.

Supported storage protocols

The Content Hash record supports identifiers for:

  • IPFS / IPNS — the most common. Most decentralised-site tooling targets IPFS.

  • Arweave — permanent storage with a one-off fee.

  • Swarm — Ethereum's storage layer.

IPFS is what most projects use. If you haven't hosted yet, pinning services like Fleek upload to IPFS without needing you to run a node yourself.

Where the Content Hash record lives

The Content Hash is a record on your Resolver, alongside your ETH Address, avatar, and other records. Same Resolver, same Edit Profile flow, same Manager-only edit permission. If your Resolver isn't set or is on an older contract, the ENS App can't edit records on it — see What is the Resolver on my ENS name? for the full picture.

Common questions

What's eth.limo?

A free public gateway run by the community. Append .limo to any ENS name and you get a regular URL — yourname.eth.limo — that loads the decentralised site in any browser. See eth.limo for details.

How do I update or remove the Content Hash?

Open Edit Profile, find the Content Hash field in the Other section, and either paste a new CID or click the to remove it. Click Save and approve in your wallet. Once it lands, the record updates.

Why does my CID look different in the ENS App?

The ENS App converts older CIDv0 format to CIDv1 automatically. Both point to the same content — just a different encoding. Verify at the IPFS CID Checker.

Does ENS host my website?

No. ENS only holds the pointer (the Content Hash record). The site itself lives on IPFS, Arweave, or wherever you hosted it.

What's next?

Did this answer your question?