🛡️ DMARC Lookup

Check any domain's DMARC record, see exactly what every tag means, and find out whether the policy is actually protecting the domain — free, unlimited, browser-only.

Examples: gmail.com   microsoft.com   paypal.com
🕒 Recent Lookups
No recent lookups yet.

📚 What Is a DMARC Record?

DMARC (Domain-based Message Authentication, Reporting and Conformance) is a DNS TXT record published at _dmarc.yourdomain.com that tells receiving mail servers two things: what to do with mail claiming to be from your domain that fails authentication, and where to send reports about what they saw. It sits on top of SPF and DKIM rather than replacing either — DMARC's actual job is to require that at least one of them both passes and aligns with the visible From: address, then enforce a policy based on the result.

Before DMARC existed, SPF and DKIM could each fail independently with no consistent consequence, and there was no feedback loop telling a domain owner who was sending mail as their domain. DMARC closes both gaps: it defines pass/fail logic across SPF and DKIM together, and it adds a reporting channel (rua) so you actually find out about spoofing attempts, misconfigured vendors, and forgotten sending sources — instead of guessing.

📋 DMARC Tags Explained

TagRequired?PurposeExample
vYesProtocol version, always DMARC1v=DMARC1
pYesPolicy for the exact domain: none, quarantine, rejectp=reject
spNoPolicy for subdomains without their own recordsp=reject
pctNoPercentage of failing mail the policy applies to (default 100)pct=50
ruaNoAddress(es) for daily aggregate XML reportsrua=mailto:dmarc@example.com
rufNoAddress(es) for forensic (failure sample) reportsruf=mailto:forensic@example.com
adkimNoDKIM alignment mode: relaxed (default) or strictadkim=s
aspfNoSPF alignment mode: relaxed (default) or strictaspf=s
foNoWhen to generate forensic reports (0, 1, d, s)fo=1
rfNoFormat for forensic reports, typically afrfrf=afrf
riNoRequested aggregate report interval in seconds (default 86400)ri=86400

⚖️ DMARC Policy Comparison

PolicyProtectionUser ImpactRecommended UseRisk
p=noneMonitoring onlyNone — mail delivered normallyInitial rollout, gathering reportsNo protection yet
p=quarantineModerateFailing mail routed to spam/junkAfter reports confirm senders passSome legitimate mail may be flagged if senders are missed
p=rejectStrongFailing mail refused outrightFull enforcement, mature setupUndocumented senders will bounce completely

🔐 DMARC Alignment

Alignment is the part people skip over and then get confused by. DMARC does not just ask "did SPF pass?" — it asks "did SPF pass for the same domain shown in the From: header?" A message can pass SPF for a completely different domain (say, a marketing platform's own domain) while still failing DMARC, because the From: header says your company, not theirs. The same logic applies to DKIM: the signing domain in the DKIM signature has to align with the From: domain.

📆
Relaxed Alignment (default)
Accepts any subdomain match. mail.example.com aligns with example.com. Easier to maintain, works with most legitimate third-party senders out of the box.
🔒
Strict Alignment
Requires an exact domain match — mail.example.com does NOT align with example.com under strict mode. Set with adkim=s or aspf=s. More secure, but breaks more third-party senders.
🎓
Expert Tip
A domain can pass DMARC through SPF alone, DKIM alone, or both — it only needs one aligned pass. Don't assume a DKIM failure alone means DMARC will fail if SPF is correctly aligned.
⚠️
Common Beginner Mistake
Publishing p=reject on day one with no rua monitoring period first. Without aggregate reports you have no visibility into which legitimate services (billing tools, CRMs, help desks) will suddenly start bouncing.
📈
Rollout Strategy
none → quarantine at pct=10 → pct=25 → pct=50 → pct=100 → reject. Each step should sit for at least a week while you review aggregate reports for unexpected failures.

🛡️ Use Cases for DMARC Lookup

📧
Pre-Enforcement Audit
Before raising a domain's policy from none to quarantine or reject, confirm the current record, pct, and rua address are exactly what you expect — a stale or missing rua means you're enforcing blind.
🔍
Vendor Onboarding
When adding a new SaaS platform that sends mail on your behalf, check whether your DMARC policy is strict enough to reject their mail if they're not properly aligned — then fix SPF/DKIM before it breaks delivery.
⚠️
Spoofing Investigation
If someone reports a phishing email impersonating your domain, check your DMARC policy first. p=none explains why it wasn't blocked; the aggregate reports going to your rua address will show the source IP.
🔄
Post-Migration Verification
After switching email providers, re-check DMARC alongside SPF Lookup and DKIM Lookup to confirm alignment still holds under the new sending infrastructure.

⚖️ DMARC vs SPF vs DKIM: How They Divide the Work

A question that comes up constantly from anyone new to email authentication: if I already have SPF and DKIM, why do I need DMARC too? The honest answer is that SPF and DKIM were never designed to answer the question that actually matters to a recipient — does the domain shown in my inbox match what was actually authenticated? Each protocol solves a narrower, more mechanical problem, and DMARC exists specifically to tie their results back to the one thing a human being actually looks at.

TechnologyWhat It AuthenticatesPrimary PurposeRelationship to DMARC
SPFSending IP vs. the envelope (MAIL FROM) domainAuthorize which mail servers may send as a domainOne possible path to a DMARC pass, if it also aligns
DKIMCryptographic signature vs. the signing domainVerify the message wasn't altered and confirm sender identityThe other possible path to a DMARC pass, if it also aligns
DMARCWhether SPF/DKIM results align with the visible From: headerEnforce a policy on unaligned mail and report on resultsSits on top of both, has no authentication mechanism of its own

Because DMARC only needs one of the two to pass in alignment, a domain that has SPF configured correctly but no DKIM at all can still publish a working DMARC record — it just means every legitimate sending source depends entirely on SPF alignment holding up, with no DKIM fallback if a forwarding hop or infrastructure change breaks the SPF path. The safer, more resilient setup configures both, precisely because they tend to fail under different conditions.

🔧 Common DMARC Configuration Problems, In Order of Frequency

Certain misconfigurations show up in DMARC Lookup results far more often than others. Recognizing the pattern usually points straight at the fix.

1️⃣
No Record At All
By far the most common finding for a domain checked for the first time. The domain simply never had DMARC configured — the fix is publishing a monitoring-only p=none record with rua set, not jumping straight to enforcement.
2️⃣
p=none With No rua Address
A record exists but has no reporting address configured, meaning the domain owner gets zero visibility into who is sending mail as their domain — the entire operational value of DMARC is being left on the table.
3️⃣
Multiple DMARC Records
Usually leftover from a migration where an old record was never removed. Two or more TXT records at the same _dmarc name typically makes receivers disregard the record entirely.
4️⃣
Enforcing Reject With No Monitoring History
A domain jumps to p=reject without ever having reviewed aggregate reports first, and an overlooked legitimate sender's mail starts silently disappearing with no visible error.

📋 A Practical Pre-Enforcement Checklist

Before raising a domain's policy from monitoring to any level of enforcement, it's worth working through a short, concrete checklist rather than relying on a gut sense that "everything looks fine." This is the same sequence experienced email administrators run through before every policy change:

  • Confirm every known sending platform — primary mailbox provider, marketing tools, transactional email services, help desk systems, billing software — appears in at least two to three weeks of aggregate reports.
  • Verify each of those sources shows an aligned pass on either SPF or DKIM, not just a raw authentication pass for an unrelated domain.
  • Check for any source that's failing intermittently, since inconsistent results often point to a partially completed migration or an SPF record close to its 10-lookup limit.
  • Confirm the rua address is actively monitored by someone, not just technically configured and forgotten.
  • Re-run DMARC Lookup immediately after any DNS change to confirm the record parsed exactly as intended before assuming the change is live.

📡 Subdomain Considerations Worth Knowing

A DMARC policy published at the organizational (root) domain automatically covers every subdomain that doesn't publish its own separate record, using either the same p policy or a distinct one set via sp. This inheritance behavior surprises people who assume subdomains are unprotected by default — they aren't, but the level of protection they inherit is worth checking explicitly rather than assumed. A common, sensible pattern is running a more lenient policy on the root domain while setting sp=reject for subdomains, since most organizations send far less legitimate mail from subdomains and can afford to be stricter there sooner, closing off a subdomain as a potential spoofing vector without waiting for the root domain's full rollout to complete.

📊 Reading the Policy Strength Indicator

The Policy Summary card above this section translates the raw p value into a plain-language strength rating specifically so the practical impact is clear without needing to memorize DMARC terminology. A "None (monitor only)" result means the domain currently has zero enforcement — spoofed mail using the domain is delivered normally, though the domain owner does receive visibility through aggregate reports if rua is configured. A "Quarantine" result means failing mail is typically routed to spam, recoverable but easy to miss. A "Reject" result means the domain is under full enforcement, refusing delivery of anything that fails to authenticate and align.

📋 DMARC Deployment Timeline for a Typical Business

For a mid-sized business with two or three sending platforms — a primary mailbox provider, a marketing tool, and a transactional or billing system — a realistic DMARC deployment typically spans six to ten weeks from first publishing a monitoring record to reaching full enforcement. The first two to three weeks are pure observation: publishing p=none with rua configured and letting a complete picture of sending activity accumulate, including any monthly billing or reporting cycles that wouldn't show up in a single week's data. The next two weeks are typically spent correcting any misaligned senders identified during observation — usually a custom SPF include or DKIM CNAME configuration on whichever third-party platform turned up failing. The final phase moves through quarantine at increasing pct values over two to three weeks before reaching reject, assuming reports remain clean throughout.

🔐 Why Domain Owners Underestimate Their Own Sending Sources

A recurring pattern worth naming explicitly: almost every organization checking DMARC for the first time discovers at least one legitimate sending source they had genuinely forgotten about or never knew existed. This isn't a sign of poor IT management — it's simply a structural consequence of how modern organizations adopt tools. A marketing team signs up for an email platform independently of IT. A support team configures a helpdesk tool that sends on the company's behalf. A contractor sets up a mailing list years ago that's still technically active. None of this shows up anywhere except in DMARC aggregate reports, which is precisely why the discovery phase of a rollout matters as much as the enforcement phase that follows it.

⚖️ Interpreting a Clean vs. a Concerning First Result

When running a DMARC Lookup for the first time on an unfamiliar domain, it helps to know roughly what a healthy result looks like versus one that warrants a closer look. A clean, mature result typically shows a policy of quarantine or reject, a configured rua address, no duplicate records, and enforcement percentage at or near 100. A result worth investigating further shows p=none with no rua configured (meaning zero visibility despite a record existing), multiple conflicting DMARC records, or a policy of reject with no monitoring history — the latter being a red flag less about the domain's protection and more about whether that protection was rolled out responsibly.

🔗 More Ways to Investigate Email Authentication

DMARC depends entirely on SPF and DKIM being correctly configured underneath it — check both with SPF Lookup and DKIM Lookup before troubleshooting DMARC failures. For full mail server configuration, see MX Lookup, and for complete domain DNS investigation use DNS Lookup. For email address validation, try Email Checker. To go deeper on DMARC itself, read What Is DMARC?, DMARC Record Explained, DMARC Policies, DMARC Aggregate Reports, DMARC Alignment, DMARC Forensic Reports, DMARC Failure Reasons, and DMARC Monitoring.

ToolsNovaHub tools are built and independently maintained with a focus on accurate, no-signup network and security utilities. Spotted an error? Let us know.

📋 Related Tools & Guides Comparison

ResourceTypeLink
SPF LookupToolOpen Tool →
DKIM LookupToolOpen Tool →
MX LookupToolOpen Tool →
What Is DMARC?GuideRead Guide →
DMARC Record ExplainedGuideRead Guide →
DMARC PoliciesGuideRead Guide →

FAQ

DMARC (Domain-based Message Authentication, Reporting and Conformance) is a DNS TXT record published at _dmarc.yourdomain.com. It tells receiving mail servers what to do when a message fails SPF or DKIM alignment, and where to send reports about authentication results.
At the subdomain _dmarc of the domain being protected — for example _dmarc.example.com — as a single TXT record whose value starts with v=DMARC1.
p=none means monitor only. Mail that fails DMARC is delivered normally, but the domain owner still receives aggregate reports. It is the recommended starting policy before moving to quarantine or reject.
p=quarantine asks receiving servers to treat failing mail as suspicious, typically routing it to spam or junk folders instead of the inbox, rather than rejecting it outright.
p=reject asks receiving servers to refuse delivery of mail that fails DMARC entirely. It is the strongest policy and is recommended once a domain owner has confirmed, via reports, that all legitimate senders pass.
sp sets a separate policy for subdomains that do not have their own DMARC record. If omitted, subdomains inherit the p= policy of the organizational domain.
pct controls what percentage of failing mail the policy applies to, letting domain owners roll out enforcement gradually — for example pct=25 applies quarantine or reject to only a quarter of failing messages.
rua is the address that receives daily aggregate XML reports summarizing authentication results. ruf is the address that receives forensic (per-message failure) reports, which far fewer providers actually send.
Alignment checks whether the domain in the visible From: header matches the domain validated by SPF or DKIM. DMARC only passes if at least one of SPF or DKIM both succeeds and aligns with the From: domain.
Relaxed alignment (the default) accepts any subdomain match, for example mail.example.com aligning with example.com. Strict alignment (adkim=s or aspf=s) requires an exact domain match.
Most domains without DMARC simply never had one configured. Add a TXT record at _dmarc.yourdomain.com such as v=DMARC1; p=none; rua=mailto:reports@yourdomain.com; to start monitoring.
No. DMARC only controls mail that claims to be from your exact domain and only works if SPF or DKIM is correctly configured. Lookalike domains, compromised accounts, and social engineering fall outside its scope.
Multiple TXT records at _dmarc for the same domain make the record invalid. Receiving servers may ignore DMARC entirely for that domain, so only one record should exist.
Check after any DNS change, whenever adding a new email sending platform, and periodically (monthly is reasonable) as part of routine domain security hygiene.
Yes — unlimited free lookups, no signup, no rate limits. Queries run through a public DNS-over-HTTPS resolver directly from your browser.
fo controls when forensic failure reports are generated — for example fo=1 requests a report if either SPF or DKIM fails, while the default fo=0 only reports when both fail and the message fails DMARC overall.