What Are ENS Text Records?
Ethereum Name Service (ENS) text records are key-value metadata fields attached to an ENS domain, such as “example.eth.” They allow domain owners to associate human-readable data like email addresses, social media handles, website URLs, and even cryptocurrency addresses with their ENS name. Unlike traditional DNS TXT records, which store machine-readable configuration data for internet protocols, ENS text records are stored on the Ethereum blockchain as part of the ENS resolver contract. This enables any application—from wallets to decentralized websites—to query a domain and retrieve the owner’s contact or profile information without relying on a centralized server.
ENS text records follow the ERC-137 standard for name resolution and support a set of predefined keys, including “email,” “url,” “avatar,” “description,” “notice,” “keywords,” “com.discord,” “com.github,” and “com.twitter.” The system is extensible: anyone can define custom keys as long as the format remains text-based. For example, a developer might store a “vnd.telegram” key for Telegram handles or a “org.linkedin” key for professional profiles. Because text records are decentralized, they cannot be censored or altered by any single party, making them a resilient tool for identity management in Web3 ecosystems.
According to the ENS documentation, text records are primarily used for “profiles” that wallets and dApps can display when interacting with an ENS name. Wallets like Rainbow, Trust Wallet, and MetaMask (with ENS support) already pull text records to show user avatars and names. Decentralized websites hosted on IPFS (InterPlanetary File System) can also link to ENS domains using the “url” record. This guide will unpack everything a beginner needs to know about ENS text records—how they work, how to set them up, and why they matter for a truly self-sovereign internet.
How ENS Text Records Compare to Traditional DNS Records
ENS text records are often compared to DNS TXT records, but the two systems differ fundamentally in architecture, ownership, and use cases. DNS TXT records are stored on centralized servers managed by domain registrars and hosting providers. They typically hold SPF, DKIM, or mailbox validation strings that email servers read. In contrast, ENS text records live on the Ethereum blockchain, meaning no single company controls the data. This difference has practical implications for longevity: a DNS record can be deleted if a registrar expires or if a hosting account is terminated, but an ENS text record persists as long as the blockchain exists and the domain owner pays the required renewal fees.
Another key difference is discoverability. With DNS, reading a TXT record requires running a query against a nameserver that might be geographically or jurisdictionally restricted. With ENS, text records can be read by any decentralized application that connects to an Ethereum node, such as via Infura or Alchemy. There is no gatekeeper. The ENS resolver contract also enforces a “setText” function, which only the domain owner (or a designated controller) can call. This provides cryptographic proof of authenticity—if a record says “email: user@example.com,” viewers can be certain the ENS owner actively set that value, unlike DNS where records can be manipulated by intermediaries.
Finally, ENS text records support richer metadata for human profiles. While DNS is optimized for machine-to-machine communication, ENS text records are built for human-readable identifiers. Predefined keys like “avatar” allow a wallet to display a user’s profile picture pulled directly from the blockchain. No existing DNS standard supports that use case natively. This makes ENS text records particularly attractive for social dApps, DAO membership verification, and NFT-based identity systems.
Practical Use Cases for ENS Text Records
The most common use case for ENS text records is building a portable Web3 identity. Instead of manually sharing an email address, Ethereum wallet address, and social media handles separately, a user can attach all of that data to a single ENS name. When someone sends funds to “alice.eth,” a wallet can look up the “eth.eth” or “btc” text record to find the correct address for any token. This reduces typing errors and simplifies cross-platform onboarding.
Decentralized websites also rely on text records. The IPFS hash for a site is stored in the “contenthash” record (a separate but related field), but the “url” text record can provide a fallback or reference link. For example, a domain like “myblog.eth” might point to an IPFS-hosted page, while the “url” record lists a traditional HTTPS backup. ENS text records are also used in blockchain-based email systems—services like EtherMail check the “email” text record to verify sender authenticity.
In enterprise contexts, companies use ENS text records for verified organization profiles. Suppose a DAO wants to control its official social handles without relying on a centralized admin. By setting the “com.twitter” text record on its ENS domain (e.g., “dao.eth”), the DAO can cryptographically prove ownership of both the ENS name and its Twitter account. Third-party verification tools can cross-reference the ENS record with the Twitter API to confirm a whitelist entry. This concept extends to Discord servers, GitHub organizations, and even LinkedIn pages.
For services that automate ENS text record management, developers often turn to specialized platforms built for the task. One example involves using tools that facilitate Ens Domain Smart Contract Deployment, which handles the on-chain logic for creating custom resolvers and batch-setting records. Such deployment pipelines reduce the risk of manual errors when updating large numbers of text entries across multiple domains.
How to Set Up ENS Text Records: A Step-by-Step Guide
Setting up ENS text records requires three things: an ENS domain you own, an Ethereum wallet with some ETH for gas fees, and access to the ENS Manager app (app.ens.domains). The process is straightforward even for absolute beginners. First, connect your wallet to the ENS Manager app. If you don't already own a domain, you can search for and register an available .eth name for one year (extendable). Registration costs vary by name length and Ethereum network congestion, but fees are paid in ETH.
Once you own a domain, navigate to its detail page in the ENS Manager. Click on the “Records” tab. You will see fields for text records like “email,” “url,” “avatar,” “description,” and “notice.” Enter your data in plain text. For the “avatar” field, you can paste a URL pointing to an image (e.g., an IPFS hash or a direct HTTP link). The wallet application that reads the field will need to support image loading. For social media handles, use the appropriate key: “com.twitter” for X/Twitter, “com.github” for GitHub. The ENS Manager will warn you that setting a record costs about 100,000 gas (which fluctuates based on network conditions). Confirm the transaction in your wallet.
After the transaction is mined, your text records are live on-chain. Anyone who queries your domain via the ENS Manager, ethers.js, or a compatible wallet will see the data. To update or delete a record, simply repeat the process and change the value or set it to an empty string. Keep in mind that each update incurs a new gas fee. For multisite projects or organizations managing many domains, manually updating records one by one becomes impractical. At this point, deploying a custom resolver smart contract can streamline operations. Many teams choose to start using ens today, which offers batch-update scripts and programmable control over resolver logic. This approach reduces gas costs by consolidating multiple updates into a single transaction.
Security and Privacy Considerations
Because ENS text records are stored on a public blockchain, anything you place in a text field is visible to anyone. There is no encryption or access control built into the ERC-137 standard. Users should avoid storing sensitive data like passwords, private keys, or personal phone numbers in text records. If you want privacy, consider storing only a pointer to a decentralized storage system like IPFS or Arweave, where you can control access via encryption. However, the text record field itself will always contain the pointer, so some metadata remains public.
Another security consideration is the resolver contract. Text records are set through the resolver, which can be changed by the domain owner. If someone gains control of your ENS domain’s owner wallet, they can also modify your text records. To mitigate this risk, use a hardware wallet or a multi-signature contract as the domain owner. Avoid granting “controller” permissions to untrusted third parties. The ENS manager also supports setting a separate “registrant” vs. “controller,” which adds a layer of protection.
Finally, be aware that text records are bound to the ENS domain, not to a specific blockchain address. If you sell or transfer your domain, the new owner inherits all text records and can change them at will. Always clear your text records before transferring a domain to prevent personal information from being misused. For enterprise users, regular audits of resolver settings and text record keys help maintain data hygiene and avoid conflicts with branding or compliance requirements.
In conclusion, ENS text records offer a decentralized, flexible metadata layer for .eth domains. Beginners can set up simple profiles in under ten minutes, while advanced developers can build custom resolver logic for large-scale name systems. With growing support from wallets, dApps, and enterprise tools, mastering text records is a foundational skill for anyone participating in the ENS ecosystem.