XiaTools

Namecheap Private DNS: Configuring TXT Records Correctly

Updated 10 Oct 2026

Configuring namecheap private dns txt records correctly is essential for verifying domain ownership, setting up email authentication like SPF, DKIM, and DMARC, and enabling security policies such as DNSSEC. When you use Namecheap's BasicDNS, PremiumDNS, or custom private name servers, managing these DNS text records requires careful attention to syntax, TTL settings, and host naming conventions. This guide walks you through the exact process from accessing your dashboard to verifying your changes with the TXT Lookup tool, ensuring your configurations resolve globally without common propagation delays or formatting errors.

Understanding Namecheap DNS Infrastructure

Namecheap offers multiple DNS management tiers, including default BasicDNS, paid PremiumDNS with Anycast protection, and Custom DNS/Private DNS setups where you point domains to your own nameservers (such as ns1.example.com and ns2.example.com). Regardless of whether you use Namecheap's default interface or a custom control panel for your private nameservers, TXT records are fundamentally non-executable text strings used by mail servers, certificate authorities, and security scanners to query metadata about your domain.

The Anatomy of a TXT Record

Every TXT record consists of three core components:

  • Host (Name): The subdomain or root indicator (often @ or left blank for the root domain example.com, or a specific string like _dmarc or mail._domainkey).
  • Type: The DNS record type, which must be set to TXT.
  • Value (Text): The payload string provided by your service vendor, such as an SPF inclusion string or a domain verification token.

Step-by-Step Configuration Guide

Adding a TXT record in Namecheap requires navigating the Advanced DNS tab. If you are using Namecheap's infrastructure with private nameservers, make sure your domain's registrar settings point properly to your hosting infrastructure.

Step 1: Log In and Locate Domain Management

  1. Log into your Namecheap account dashboard.
  2. Navigate to the Domain List on the left sidebar and find your target domain.
  3. Click the Manage button next to your domain name.
  4. Select the Advanced DNS tab at the top of the page.

Step 2: Add a New Record

  1. Scroll down to the Host Records section.
  2. Click the red Add New Record button.
  3. Select TXT Record from the Type dropdown menu.
  4. Enter the appropriate values in the Host and Value fields.
Record Field Example Input (Root Domain Verification) Example Input (DMARC Policy) Example Input (SPF Record)
Type TXT Record TXT Record TXT Record
Host @ (or leave blank) _dmarc @ (or leave blank)
Value google-site-verification=abc123xyz v=DMARC1; p=reject; rua=mailto:admin@example.com v=spf1 include:_spf.example.com ~all
TTL Automatic Automatic Automatic
  1. Click the green checkmark icon to save your changes.

Managing TXT Records on Private Nameservers

If your Namecheap domain uses custom private nameservers hosted on your own VPS or dedicated server (such as ns1.example.com pointing to 192.0.2.1), Namecheap's Advanced DNS interface will no longer manage your active zone files. Instead, you must manage your TXT records directly on your local DNS server software (such as BIND, PowerDNS, or Windows Server DNS).

BIND Zone File Example

If you run BIND on your private nameserver, your zone file (/var/named/example.com.db) must include TXT entries using standard RFC syntax:

$TTL 3600
@   IN  SOA ns1.example.com. admin.example.com. (
        2023102401 ; Serial
        7200       ; Refresh
        3600       ; Retry
        1209600    ; Expire
        3600 )     ; Negative Cache TTL

@   IN  NS  ns1.example.com.
@   IN  NS  ns2.example.com.

@   IN  A   192.0.2.10
ns1 IN  A   192.0.2.1
ns2 IN  A   192.0.2.2

; TXT Records
@   IN  TXT "google-site-verification=abc123xyz"
@   IN  TXT "v=spf1 ip4:192.0.2.0/24 ~all"
_dmarc IN TXT "v=DMARC1; p=none;"

After updating your zone file, remember to increment your zone serial number and reload the BIND service:

sudo named-checkzone example.com /var/named/example.com.db
sudo systemctl reload named

Verifying and Troubleshooting Your TXT Records

Once your TXT records are saved, you need to confirm that global nameservers are returning them correctly. Use the TXT Lookup tool to instantly query multiple global DNS resolvers and check your record syntax without dealing with local cache pollution.

Command Line Verification Tools

You can also verify your records using standard command-line utilities.

Using dig on Linux/macOS:

dig TXT example.com +short
dig TXT _dmarc.example.com +short

Using PowerShell on Windows:

Resolve-DnsName -Name example.com -Type TXT
Resolve-DnsName -Name _dmarc.example.com -Type TXT

Common Mistakes and How to Fix Them

Even experienced administrators make errors when configuring DNS text records. Watch out for these pitfalls:

  • Redundant Quotes: Namecheap's interface automatically handles string encapsulation. Do not wrap your TXT values in double quotes unless your specific registrar or private DNS control panel explicitly requires raw zone file syntax.
  • Multiple SPF Records: Domains can only have one active SPF record. If you have multiple services (like Google Workspace and Mailgun), combine them into a single TXT record: v=spf1 include:_spf.google.com include:mailgun.org ~all.
  • Incorrect Host Suffixing: When adding _dmarc, do not enter _dmarc.example.com in the Host field. Namecheap automatically appends your domain name, so entering _dmarc is sufficient.
  • Caching Delays: If your changes do not appear immediately, check your TTL settings. Changes can take up to the TTL duration (or your ISP's cache duration) to propagate globally.

Quick Configuration Checklist

  • Identified whether domain uses Namecheap DNS or custom private nameservers.
  • Formatted the host field correctly (using @ for root, subdomains without root suffix).
  • Ensured TXT string values do not contain conflicting quotation marks.
  • Combined multiple SPF policies into a single TXT record.
  • Verified global propagation using online lookup tools and command-line utilities.

Frequently asked questions

Why is my Namecheap TXT record not showing up immediately?

DNS changes require time to propagate across global recursive resolvers. If you recently updated your records, caching by your local internet service provider or previous TTL values on your DNS records can delay visibility. Use a public DNS lookup tool to check if the record is already visible globally.

Should I include quotes around my Namecheap TXT record value?

In Namecheap's web-based Advanced DNS interface, you should paste the raw string provided by your service without quotation marks. The system wraps the text appropriately in the backend zone file. Adding manual quotes often results in literal quotation marks appearing in DNS queries, which breaks validation.

Can I have multiple TXT records for the same host?

Yes, you can have multiple TXT records on the same host (such as multiple verification tokens for Google, Microsoft, and SSL providers). However, you cannot have multiple SPF records; multiple SPF entries will cause authentication failures and must be merged into one.

What is the correct host value for a DMARC TXT record on Namecheap?

The host value for a DMARC record must always be exactly `_dmarc`. Namecheap automatically appends your root domain name to this prefix, creating the correct `_dmarc.example.com` query target in the zone file.

How do TXT records behave when using custom private nameservers?

When you configure custom private nameservers (like ns1.example.com) at Namecheap, Namecheap's default DNS servers stop answering queries for your domain. You must configure your TXT records directly within the zone configuration files on your own hosting nameserver infrastructure.

Related articles

Free tools