Skip to Main Content

TXT Record Lookup

Look up every TXT record at a domain or hostname, with SPF, DMARC, DKIM, BIMI and verification tokens identified and checked: free, no signup.

What is a TXT record lookup?

This TXT record lookup queries public DNS for one hostname and returns every TXT string published there, labelled by the protocol or service that reads it. Email authentication runs on those strings: SPF is a TXT record on the sending domain, DKIM keys are TXT records under a selector, DMARC is a TXT record at _dmarc, and BIMI, MTA-STS and TLS-RPT each have a hostname of their own. So do the verification strings that Google, Microsoft, Apple and dozens of other services ask you to publish. A raw lookup shows the strings; this one also tells you which protocol reads each string, whether it is at the host that protocol actually queries, and whether two of them are fighting.

How to read your result

ResultWhat it meansWhat to do
SPF recordA string starting v=spf1: the list of hosts allowed to send mail as this domain, and what receivers should do with everyone else.Confirm it ends in ~all or -all and lists every service you send with. The SPF checker counts its DNS lookups against the limit of ten.
DMARC recordA v=DMARC1 string. Only meaningful at _dmarc.yourdomain.com; anywhere else it is ignored.Read the p= tag. none reports only; quarantine and reject actually protect the domain.
DKIM public keyA v=DKIM1 or p= string at selector._domainkey.yourdomain.com. An empty p= means the key is revoked.Verify the key with the DKIM checker, which also probes common selectors when you do not know yours.
BIMI, MTA-STS, TLS-RPTPolicy indicators at default._bimi, _mta-sts and _smtp._tls respectively.Each has a dedicated checker that validates the parts a DNS string alone cannot: the logo file, the HTTPS policy, the report address.
Verification tokenA proof-of-ownership string for a third-party service. The tool names the service when the prefix is a known one.Nothing, unless a token names a service you no longer use. Removing it does not break anything already verified.
Two SPF or two DMARC recordsMore than one v=spf1 at a name, or more than one v=DMARC1 at _dmarc. Receivers treat this as an error, not a choice.Merge them into one record. Until you do, SPF returns permerror and DMARC is treated as absent.
No TXT recordsThe name resolves but publishes no text records, or does not resolve at all.Check the spelling. For a root domain that sends mail, publish SPF; for a subdomain that does not, this is normal.

Where each email record actually lives

The most common misreading of a TXT lookup is running it on the root domain and concluding DMARC is missing. It is not there because receivers never look for it there. Each protocol queries a specific hostname, and a lookup shows only the one you asked for:

  • SPF: yourdomain.com, the domain in the envelope sender.
  • DMARC: _dmarc.yourdomain.com.
  • DKIM: selector._domainkey.yourdomain.com, one per signing key.
  • BIMI: default._bimi.yourdomain.com.
  • MTA-STS: _mta-sts.yourdomain.com, and TLS-RPT: _smtp._tls.yourdomain.com.

Every result here ends with one-click lookups of the other hosts for the same domain, so the full picture is five clicks rather than five typed hostnames.

What this lookup can prove

It proves what public DNS returns for the name you entered, and it catches the structural errors visible in the strings themselves: a second SPF record, a DMARC record published on the wrong host, a DKIM key with an empty p= tag, an SPF ending in +all. It does not evaluate a record against real mail. An SPF record can be perfectly formed and still omit the service that sends your invoices, and a DKIM key in DNS does not prove the server is signing with it. The SPF checker, DKIM checker and DMARC checker each validate their record tag by tag once you know it is published.

From reading records to keeping them right

A lookup is a snapshot of one hostname. The records that decide whether your mail is trusted drift: a team adopts a new sending tool and the SPF record no longer covers it, a provider rotates a DKIM selector, a DMARC policy sits at p=none for a year because nobody read the reports. Palisade turns DMARC aggregate reports into a prioritized workflow so operators can identify every source sending as the domain, see which records each one needs, and move the domain to enforcement with evidence rather than guesswork.

For MSPs it's built multi-tenant: every client domain's SPF, DKIM and DMARC records checked, corrected and enforced from one console, with portfolio-based per-client-domain pricing whose rate improves as you scale.

Related checks and terms

What is DMARC? Email authentication explained

DMARC software that does the work

Palisade organizes DMARC report evidence into prioritized sender and record work, so every SPF, DKIM and DMARC string a lookup shows is the one that should be there.

Get startedBook a demo

1 domain free up to 1,000 emails/month

Email authentication knowledge base

What is a TXT record lookup?

This TXT record lookup queries public DNS for one hostname and returns every TXT string published there, labelled by the protocol or service that reads it. TXT records carry SPF policies, DKIM public keys, DMARC policies, BIMI pointers, and the verification tokens services like Google Workspace and Microsoft 365 use to prove you control a domain. This tool runs that query and then labels each string by which system reads it.

Why does my DMARC record not show up when I look up my domain?

Because DMARC is not published on the domain itself. Receivers read it from the hostname _dmarc.yourdomain.com, so a lookup of yourdomain.com never returns it. Enter _dmarc.yourdomain.com here, or use the related-hosts links under any result. The same applies to DKIM, which lives at selector._domainkey.yourdomain.com, and BIMI at default._bimi.yourdomain.com.

How do I check a TXT record with dig or nslookup?

On macOS or Linux run dig TXT example.com, and add +short to print only the values. On Windows run nslookup -type=TXT example.com, or Resolve-DnsName -Name example.com -Type TXT in PowerShell. Replace example.com with the exact hostname you need, such as _dmarc.example.com. The output is the same raw strings this tool shows, without the classification. The full command reference, including resolver flags and PowerShell variants, is in the dig and nslookup guide linked below.

How many TXT records can a domain have?

DNS places no limit on the number of TXT records at a name, but the protocols that use them do. SPF allows exactly one record starting v=spf1 (RFC 7208), and DMARC allows exactly one v=DMARC1 record at _dmarc (RFC 9989, which replaced RFC 7489). Two SPF records return permerror, which DMARC counts as an SPF failure; two DMARC records make receivers discard the lookup and treat the domain as having no policy. Verification tokens have no such limit; a busy domain often carries ten or more.

Why is my TXT record split into several quoted strings?

A single TXT character-string is capped at 255 octets by RFC 1035. Anything longer has to be published as multiple strings inside one record, which resolvers and mail receivers join back together. Long SPF records and 2048-bit DKIM keys routinely need this. Most DNS providers split a long value automatically; this tool shows how many strings each record was published as, so you can tell a correctly split record from a truncated one.

Which DNS resolvers does this lookup use?

Queries go through Google's public resolver at 8.8.8.8, falling back to Cloudflare's 1.1.1.1. That shows you roughly what an independent third party sees, rather than what your office resolver has cached. It also means a change you made moments ago may not appear until the record's TTL expires on those resolvers.

What are all these verification tokens in my TXT records?

Strings like google-site-verification=..., MS=ms..., or apple-domain-verification=... are proof-of-ownership tokens. A service asks you to publish one, then reads it to confirm you control the domain. They are harmless to leave in place and this tool names the service behind the common ones. They are also a quiet inventory of the services you connected to this domain at some point.

Can a TXT lookup tell me whether my email is authenticated?

It tells you what is published, which is necessary but not sufficient. A perfect SPF record does nothing for a message sent from a server it does not list, and a DKIM key in DNS does not prove the mail server is signing with it. The findings here flag structural problems in the records themselves. Whether your real mail passes is settled by DMARC aggregate reports, which is what Palisade reads.

Why do I see no TXT records at all?

Either the hostname is misspelled, the domain is not registered, its name servers are not answering, or it genuinely publishes none. A root domain with no TXT records has no SPF, which matters if it sends mail. A subdomain with none is normal unless that subdomain sends mail in its own name. Check the spelling first: a missing underscore in _dmarc is the most common cause.