Skip to content

Add a TXT Record on Namecheap

Short answer

In Namecheap, open Domain List, click Manage on the domain, then the Advanced DNS tab. Under Host Records click Add New Record, choose TXT Record, put @ in Host for the apex or just the subdomain label, paste the value unquoted, then click the green checkmark to commit the row.

Check it yourself
TXT Record Lookup
All TXT records — SPF, verification, and more

Namecheap trips people up in two specific ways: the Advanced DNS tab only controls your records when the domain is using Namecheap's own nameservers, and every row you add has to be individually committed with a small checkmark button before it exists. Get past those two and TXT records are straightforward.

Where is the Advanced DNS tab?

Sign in, open Domain List from the left sidebar, and click Manage next to the domain. The tabs across the top include Domain, Products, Sharing & Transfer, and Advanced DNS. The Advanced DNS tab holds the Host Records table — that is the zone. Use Add New Record and pick TXT Record from the type dropdown.

If the Domain tab's Nameservers setting says *Custom DNS* and lists someone else's nameservers, the Host Records table on Advanced DNS is inert — Namecheap is not answering queries for the domain. Confirm what is actually authoritative with the NS Record Lookup and add the record there instead.

This bites hardest on domains registered at Namecheap but hosted elsewhere: the customer edits Namecheap, the record never appears, and everyone blames propagation. It is not propagation. A record added to a zone nobody is querying will never propagate, no matter how long you wait.

What goes in the Host field?

The Host field takes a label relative to your domain. Namecheap appends the domain for you and displays the result as label.example.com beside the row. Type the label only — never the fully-qualified name.

Record needed atHost field valueWhat it is for
example.com@SPF, Google Workspace or Microsoft 365 domain verification
_dmarc.example.com_dmarcDMARC policy
google._domainkey.example.comgoogle._domainkeyDKIM key for Google Workspace
_acme-challenge.example.com_acme-challengeDNS-01 certificate validation
*.example.com*Wildcard TXT (rarely what you want)

Type _dmarc.example.com into Host and Namecheap stores a record at _dmarc.example.com.example.com. Nothing warns you. The row will display the doubled name, so read it after saving — that one glance catches the mistake before you spend twenty minutes wondering why the DMARC checker says "record not found".

Does the value need quotes?

No. Paste the raw string into the Value field. Quotation marks belong to zone-file presentation format, not to the value itself — dig prints them, dashboards do not want them. If you paste quotes, they become literal characters inside the record and every parser that reads it fails.

# Host: @        Value:
v=spf1 include:spf.efwd.registrar-servers.com include:_spf.google.com ~all

# Host: _dmarc   Value:
v=DMARC1; p=none; rua=mailto:[email protected]; adkim=r; aspf=r

# Do NOT paste this — the quotes end up inside the record
"v=DMARC1; p=none; rua=mailto:[email protected]"
Namecheap Host and Value pairs, entered without surrounding quotes

Two Namecheap-specific value notes. First, semicolons are safe — DMARC records are mostly semicolons and need no escaping. Second, if you have Namecheap Email Forwarding switched on, Namecheap adds its own MX records and expects include:spf.efwd.registrar-servers.com in your SPF; if you replace the SPF wholesale with a provider's value you can break forwarded mail. Build the merged record with the SPF Record Generator rather than overwriting.

Why did my record disappear when I navigated away?

Because you did not commit the row. Namecheap edits rows inline: after you fill in Type, Host, Value, and TTL, a small green checkmark appears at the right of the row. Clicking it is what saves. Navigating away, pressing Enter in the wrong field, or clicking elsewhere on the page can drop the uncommitted row silently. Some Namecheap layouts also show a Save All Changes button above the table — if it is there, click it too.

The reliable test is a page refresh. Reload the Advanced DNS tab; if the record is still in Host Records after the reload, it is stored server-side. If it vanished, it was never committed.

What TTL should you pick?

The TTL dropdown offers Automatic plus a set of fixed intervals. Automatic is fine for records you are not about to change. If you are iterating — testing an SPF change, rotating a DKIM key, tightening a DMARC policy — pick the shortest interval the dropdown offers so resolvers stop caching the old answer quickly. Set it short *before* the change matters, not after: lowering a TTL only takes effect once the previously-cached record with the old, longer TTL expires. That timing is covered in Lower Your TTL Before a DNS Migration.

How long does a Namecheap TXT record take to appear?

Namecheap's own documentation describes a short lag between committing a record and their nameservers serving it — typically minutes, occasionally up to about half an hour on the free BasicDNS tier. That is a genuinely different thing from resolver caching, and it is why a dig against Google's resolver can lag your own dashboard. Query Namecheap's nameservers directly to see the authoritative truth immediately.

# Find the authoritative nameservers for the domain
dig +short NS example.com

# Ask one of them directly — no caching involved
dig @dns1.registrar-servers.com +short TXT _dmarc.example.com

# What public resolvers are currently handing out
dig +short TXT _dmarc.example.com
host -t TXT _dmarc.example.com
Separating "not published yet" from "cached old answer"

If the authoritative answer is correct and the public resolver is not, you are waiting on cache and there is nothing to fix. If the authoritative answer is empty, the record is not committed, is at the wrong host, or the domain is not on Namecheap's nameservers at all. Check the global picture with the DNS Propagation Checker, which queries resolvers in many networks at once.

TXT Record Lookup
All TXT records — SPF, verification, and more

Common Namecheap mistakes

  • Custom DNS is set. The Advanced DNS tab does nothing when the domain points at third-party nameservers. This is the number one cause of "I added it and it did not work".
  • The row was never committed. No green checkmark, no record. Refresh the page to confirm.
  • A doubled host name. _dmarc.example.com in the Host field becomes _dmarc.example.com.example.com. Read the row after saving.
  • Two SPF records at `@`. Only one TXT record beginning v=spf1 may exist per name. A second one is a permanent error at receivers and SPF fails entirely — validate with the SPF Checker.
  • A leftover parking or redirect record. Namecheap adds URL Redirect Record or CNAME entries for parked domains. They do not conflict with TXT records directly, but a leftover redirect on @ explains a lot of unrelated confusion.
  • Trailing whitespace on paste. Copying a verification token out of a provider's UI often picks up a trailing space or newline. Paste into a plain text editor first if a token keeps failing.

Once the record is live, validate its meaning rather than just its presence: the DMARC Checker for _dmarc, the DKIM Checker for a _domainkey selector, or the Email Deliverability Test for everything at once. Doing the same job on another provider? See Add a TXT Record on Cloudflare and Add a TXT Record on GoDaddy, or the TXT record reference for the format itself.

Frequently asked questions

Why is my Advanced DNS tab greyed out or ignored?
The domain is almost certainly set to Custom DNS on the Domain tab, meaning another provider runs the zone. Namecheap still shows you the Host Records table, but nothing there is served. Look up the live nameservers and add your TXT record at whichever provider owns them.
Do I put `example.com` or `@` in the Host field?
Use @. Namecheap appends your domain to whatever you type, so entering the domain name produces example.com.example.com. The same applies one level down — enter _dmarc, not _dmarc.example.com.
Can I add a DKIM key longer than 255 characters?
Yes. Paste the whole key as one value. A single TXT character-string is limited to 255 bytes, so longer values are stored as multiple concatenated strings, and the provider handles that split. Do not insert your own quotes or line breaks into the key — that is what actually breaks it.
How long should I wait before declaring it broken?
Give Namecheap's nameservers up to about half an hour to pick up a committed change, then query them directly with dig @dns1.registrar-servers.com. If the authoritative answer is right, any remaining delay is resolver caching and will clear on its own within the TTL. If the authoritative answer is empty after thirty minutes, something in the entry is wrong.
Will adding a TXT record affect my website or email?
Adding a new TXT record at a new name is safe. The risk is replacing an existing one — overwriting your SPF record, or adding a second v=spf1 record, changes how receivers authenticate your mail immediately. Check the resulting record with the SPF Checker before you walk away.

Last updated: 2026-09-01