What Is a TXT Record and Why Namecheap Needs One
A TXT (text) record is a DNS record type that stores arbitrary text data at a hostname, defined in RFC 1035 §3.3.14. Each character-string inside a TXT record is capped at 255 bytes, so longer values — DKIM public keys in particular — get split into multiple quoted segments that Namecheap and every other DNS provider concatenate back together when serving the answer. Namecheap stores whatever string you paste in and returns it verbatim on lookup; it doesn't parse or validate the contents.
Namecheap's Advanced DNS tab uses TXT records for the same set of jobs any DNS provider handles: proving domain ownership to Google Search Console, Microsoft 365, or Zoho, publishing SPF/DKIM/DMARC email authentication policy, and satisfying ACME DNS-01 challenges for wildcard SSL certificates. Because a domain can carry many TXT records simultaneously, it's easy to accumulate duplicates at the same host — most commonly a second v=spf1 record added instead of merging into the existing one, which is the classic SPF failure covered further down. If you're building an SPF value from scratch, use the SPF Record Generator guide to get the syntax right before pasting it into Namecheap.
Namecheap's DNS management doesn't distinguish "verification TXT" from "SPF TXT" in its interface — every TXT record appears in the same list, identified only by Host and Value. That flat structure is convenient but means you have to read carefully before adding a new row instead of editing an existing one.
Step-by-Step: Adding a TXT Record in Namecheap
-
Sign in to your Namecheap account and click Domain List in the left sidebar. Find the domain you're configuring and click Manage next to it.
-
Open the Advanced DNS tab. This is the same screen where A, CNAME, and MX records live, listed under Host Records.
-
Click Add New Record, then set the Type dropdown to TXT Record. Namecheap uses TXT Record for SPF, DKIM, DMARC, and domain-verification strings alike — there's no separate SPF or DKIM record type.
-
Enter the Host exactly as given, without your domain name. For a root-domain record, use
@. For a subdomain-style host like_dmarcor a DKIM selector likegoogle._domainkey, enter only that value — Namecheap appends your zone's root domain automatically. Typinggoogle._domainkey.example.cominstead ofgoogle._domainkeyis the single most common Namecheap TXT record mistake, since it produces a record at the wrong, doubled hostname. -
Paste the Value exactly, including any existing quote splits. Copy-paste rather than retype — TXT values are case-sensitive and a single dropped character breaks SPF, DKIM, and most verification tokens.
-
Leave TTL on Automatic (Namecheap's default, equal to 30 minutes) unless you're actively troubleshooting, in which case drop it to the shortest available option, confirm the change resolves correctly, then raise it back once verification succeeds.
-
Click the green checkmark icon to save that row, or Save All Changes at the bottom of the table if you queued multiple edits. Namecheap pushes saved changes to its authoritative nameservers immediately — there's no separate publish step.
-
Confirm propagation before re-checking with the third-party service — see the CLI and tool checks below. Namecheap's own knowledgebase states host record changes normally take effect within 30 minutes, though full global propagation can take up to 48 hours as downstream resolvers expire cached answers.
Host Field Reference Table
| Purpose | Host field (in Namecheap) | Example Value | Typical caller |
|---|---|---|---|
| Root domain verification | @ | google-site-verification=abc123... | Google Search Console |
| SPF record | @ | v=spf1 include:spf.efwd.registrar-servers.com ~all | Any mail provider |
| DKIM selector | [selector]._domainkey | v=DKIM1; k=rsa; p=MIGfMA0G... | Google Workspace, M365 |
| DMARC policy | _dmarc | v=DMARC1; p=quarantine; rua=mailto:... | DMARC report tools |
| ACME wildcard cert challenge | _acme-challenge | [token from CA] | Let's Encrypt, cert clients |
| Domain ownership (generic) | @ or subdomain given by tool | tool-specific token string | GitHub Pages, Netlify, Zoho |
The Host field is the most common point of failure for Namecheap TXT records — leaving the domain name attached to a subdomain-style host produces a record that saves without error but never matches what the verifying service actually queries.
Verifying the Record with dig and nslookup
Run these from a terminal after saving, substituting your actual domain for example.com:
# Query the TXT record directly to see the live authoritative answer
dig TXT _dmarc.example.com +short
# Query a specific resolver (e.g., Google Public DNS) to bypass local caching
dig TXT example.com @8.8.8.8 +short
# Windows/macOS equivalent
nslookup -type=TXT _dmarc.example.com
If an external resolver like 8.8.8.8 returns the record but your own machine doesn't see it yet, the record itself is correct and you're waiting on local resolver cache TTL — not a Namecheap misconfiguration. Cross-check global visibility with the DNS Propagation Checker, or confirm the exact record set with the DNS Lookup tool.
Common Issues & Troubleshooting
Problem: The verifying service says the TXT record isn't found, but Namecheap shows it saved. Cause: usually a Host field mismatch — the domain name left attached to a subdomain-style host, a wrong DKIM selector, or the record added to the wrong domain if your account manages several. Fix: re-open Advanced DNS and compare the Host character-for-character against what the third party specified, then re-verify with dig.
Problem: SPF stopped working after adding a new TXT record.
Cause: two v=spf1 records now exist at the same host. RFC 7208 §4.5 requires exactly one SPF record per domain — two or more produces a PermError, which most mail receivers treat as an outright SPF fail.
Fix: merge both include: mechanisms into a single v=spf1 string instead of keeping a second record. See the SPF Record Generator guide for building one merged value.
Problem: Long DKIM key gets rejected or looks truncated in Namecheap's Value field. Cause: DKIM public keys frequently exceed the 255-byte limit for a single TXT string, and some providers hand you the value already pre-split into quoted segments, which Namecheap expects verbatim. Fix: paste the full string exactly as your provider gave it, including any existing quote splits. Don't manually re-wrap or shorten it. See the DKIM Selector guide for selector-naming specifics.
Problem: Record shows correctly in Namecheap but a global checker still reports NXDOMAIN. Cause: the domain's nameservers at the registrar level don't actually point to Namecheap's BasicDNS/PremiumDNS — this happens when a domain was registered at Namecheap but DNS was migrated to a third-party provider (or vice versa). Fix: confirm delegation with the NS Lookup tool before troubleshooting the TXT record itself — a correct record in the wrong authoritative zone will never resolve publicly.
Problem: Namecheap's URL Redirect or Parking Page setting interferes with verification. Cause: some verification flows expect an A or CNAME to exist alongside the TXT record, and a Namecheap redirect/parking configuration on the root domain can mask the underlying DNS state a checker sees. Fix: check Advanced DNS for conflicting redirect records, and confirm the actual published records with the DNS Lookup tool rather than relying on what the browser shows.
Key Takeaways
- ✓ Namecheap's Host field for a root-domain TXT record is
@— and for subdomain-style hosts, never append your domain name again. - ✓ Per RFC 1035, each string in a TXT record is capped at 255 bytes; long values (DKIM keys) get split into quoted segments that must be pasted verbatim.
- ✓ A domain must have exactly one
v=spf1TXT record (RFC 7208 §4.5) — a second one causes PermError, not stacking. - ✓ Namecheap's default TTL is Automatic (30 minutes); changes usually apply within 30 minutes but can take up to 48 hours to fully propagate globally.
- ✓ Verify the Host field character-for-character — leaving the domain name attached is the single most common cause of "saved but not found" verification failures.
Frequently Asked Questions
Q: How long does a TXT record take to propagate in Namecheap?
Namecheap's knowledgebase states host record changes normally take effect within 30 minutes, but full global propagation can take up to 48 hours as downstream resolvers expire cached answers. Use a shorter TTL temporarily while troubleshooting to reduce that window on your next edit.
Q: Can I add multiple TXT records with the same Host in Namecheap?
Yes, Namecheap allows multiple TXT records at the same host. But for SPF specifically, having two v=spf1 records causes a PermError per RFC 7208; other TXT uses (DKIM selectors, verification tokens) coexist fine as long as their hosts don't collide.
Q: What do I enter in the Host field for a root-domain TXT record?
Enter @. Namecheap interprets @ as the zone apex (your bare domain), the same convention used for root-level A records.
Q: Why does my SPF record still fail after I fixed the TXT record?
Check for a duplicate v=spf1 record first — that's the most common cause. If there's only one, confirm you're under the 10 DNS-lookup limit per RFC 7208 §4.6.4, since include: mechanisms count toward it even after the syntax itself is correct.
Q: Should I include my domain name in the Host field for a subdomain TXT record?
No. Enter only the subdomain portion, such as _dmarc or google._domainkey — Namecheap automatically appends the root domain. Adding it manually produces a doubled, incorrect hostname.
Q: What TTL does Namecheap use by default for TXT records?
Automatic, which Namecheap's documentation defines as 30 minutes. You can override it with a specific value from the TTL dropdown if you need faster or slower cache expiry.
Q: What's the difference between adding a TXT record for SPF vs. for domain verification?
None at the DNS level — both are just TXT records with different Host and Value entries. The distinction only matters for which service reads the record and what syntax it expects inside the value.
Next Steps
Once the record is saved, confirm it resolves correctly with the DNS Lookup tool and check global propagation with the DNS Propagation Checker. If verification still fails after the record looks correct, confirm your domain's nameservers actually point to Namecheap using the NS Lookup tool, or check for a stale reverse mapping with Reverse DNS Lookup. For deeper background on TXT record syntax and other record types, see DNS TXT Records Explained, and if you're migrating this domain's DNS entirely, read How to Change DNS Servers first.