📍 Introducing MapLeads: Turn Google Maps, Bing Maps & Apple Maps into your lead list.Try MapLeads
Free DMARC checker

DMARC Checker

A free DMARC record checker that resolves the live record at _dmarc for any domain, parses every DMARC tag, and reports the effective policy. A DMARC record checker and validator in one, no signup.

What the DMARC checker does

A DMARC checker resolves the TXT record your DNS serves at _dmarc.yourdomain and reads it the way a receiving mail server would. That is not always the DMARC record you think you published — panels split long values, and plenty of records end up at the domain root by mistake.

The free DMARC record checker parses v, p, sp, pct, rua, ruf, aspf, and adkim, then reports what a receiver would actually do with failing mail. It is a DMARC record checker and validator rather than a raw TXT lookup.

Run the DMARC checker after every publish and at every policy change. DMARC fails silently: nothing tells you a record stopped parsing except spoofed mail arriving in inboxes weeks later.

DMARC tags the DMARC checker parses

  • p= (Policy)

    The policy. What the DMARC checker reports as the effective action on failing mail: none, quarantine, or reject.

  • sp= (Subdomain Policy)

    Subdomain policy. Without it subdomains inherit p; the DMARC checker reports the inherited value explicitly.

  • pct= (Percentage)

    Share of failing mail the policy applies to. A DMARC checker reads pct=25 as a partial rollout, not a full one.

  • rua= (Aggregate Reports)

    Aggregate report address. A DMARC checker flags a p=none record with no rua as monitoring that reports nothing.

  • ruf= (Forensic Reports)

    Forensic report address. Optional, and increasingly ignored by receivers, so the DMARC checker treats it as informational.

  • adkim= (DKIM Alignment)

    DKIM alignment mode. Strict breaks subdomain signing, and the DMARC checker calls that out.

  • aspf= (SPF Alignment)

    SPF alignment mode, relaxed or strict. The DMARC checker reports which one is in force.

  • fo= (Failure Options)

    Forensic reporting options. Rarely load-bearing, but the DMARC checker parses it for completeness.

What gets resolved

What a DMARC checker actually queries

A DMARC checker resolves the TXT record your DNS serves at _dmarc.yourdomain and reads it the way a receiving mail server would. That is not always the record you think you published, which is the whole reason to run a DMARC checker rather than trust the panel.

It reads the live record at _dmarc

The DMARC record checker queries the _dmarc subdomain specifically. A record published at the domain root instead is the single most common DMARC mistake, and a DMARC checker finds it in one query.

DNS panels also split and truncate long TXT values, so a record that looks correct in the control panel can resolve broken. Only a live DMARC record checker sees what receivers see.

It parses every tag

v, p, sp, pct, rua, ruf, aspf, adkim, fo. A DMARC record checker and validator reports each one with its effective meaning rather than echoing the raw string back at you.

Tag order matters at the start: v must come first and p second, or receivers discard the record entirely. The free DMARC record checker flags that before anything else.

It reports the effective policy

What a receiver would actually do with failing mail, including how sp changes the answer for subdomains and how pct reduces the share affected.

This is the useful output. The raw record is easy to read; the resolved behaviour is what decides whether spoofed mail gets through.

It checks the reporting addresses

A DMARC record with p=none and no rua is a record that tells you nothing. The DMARC checker calls that out rather than reporting a valid record and moving on.

It also flags external reporting destinations, which need an authorisation record on the receiving domain before reports will actually arrive.

Findings

What each DMARC checker result means

Five findings cover almost everything, and each has a specific fix.

No DMARC record found

Nothing published at _dmarc.yourdomain. Receivers have no policy to apply, so SPF and DKIM results are never checked for alignment with the visible From address.

Generate one at p=none with a rua address. A DMARC record checker cannot validate a record that does not exist.

Record published at the wrong host

A DMARC record at the domain root does nothing. It must live at _dmarc.yourdomain. This is the mistake the free DMARC record checker catches most often.

Move it, wait for propagation, and re-run the DMARC checker.

p=none with no reporting address

Technically valid, operationally useless. Monitor mode with nowhere to send the aggregate reports means you learn nothing and can never safely tighten.

Add rua and wait for a couple of weeks of data before touching p.

Stuck at p=none for months

A DMARC record checker will report this as valid, because it is. It is also doing nothing: p=none instructs receivers to take no action.

Read the reports, fix the failing legitimate senders, then move to quarantine and reject.

Malformed tag or wrong order

A stray semicolon, a tag before p, an unknown tag name. Receivers discard records they cannot parse, so the domain is effectively unprotected.

Fix the token the DMARC record checker and validator names and re-query after propagation.

When to run it

Four moments worth running a DMARC checker

DMARC fails silently. Nothing announces that a record stopped parsing except spoofed mail landing in inboxes, so a DMARC checker in the routine beats a DMARC checker in an emergency.

  1. 1

    Right after publishing

    Propagation plus DNS panel mangling means the string you saved and the string served are not reliably identical. Run our free DMARC record checker as soon as propagation finishes.

    This one habit catches most DMARC problems before they matter.

  2. 2

    At every policy change

    Moving none to quarantine, quarantine to reject, or raising pct. Each change is a live edit to how receivers treat your mail.

    Confirm with a DMARC checker that the intended policy is the one actually serving.

  3. 3

    When adding a sending provider

    A new platform that is not SPF or DKIM aligned will start failing DMARC immediately, and under an enforcing policy that means lost mail.

    Check alignment for the new source before it starts sending, not after.

  4. 4

    When spoofed mail is reported

    If someone forwards you a phish claiming to be from your domain, the DMARC record checker is the first thing to run.

    Then verify your own recipient lists too — for that, use Email Verifier, because authentication and list hygiene are two halves of the same sending workflow.

Limits

What a DMARC checker cannot tell you

DMARC coordinates two other records and reports on nothing else.

It does not validate SPF or DKIM themselves

A DMARC record checker resolves one record. Whether your SPF record is under the ten-lookup limit, or your DKIM key is published correctly, are separate checks.

A perfect DMARC policy on top of a broken SPF record enforces failure, not protection.

It cannot read your aggregate reports

The DMARC checker tells you the rua address is set. It does not fetch or parse the XML that arrives there.

Reading those reports is the actual work of a DMARC rollout, and it needs a report processor.

It does not stop lookalike domains

DMARC protects your exact domain. A domain registered one character away is untouched by any policy you publish.

That threat needs monitoring, not a DNS record.

It says nothing about your recipients

Sender authentication and recipient verification are different problems. A clean DMARC checker result does not mean the addresses you send to exist.

Run both before a campaign.

Reference

The specification and the neighbouring tools

DMARC is defined by the IETF, and the tools beside this DMARC checker cover what a DMARC checker does not.

RFC 7489 defines DMARC

The IETF's RFC 7489 defines DMARC, its tags, alignment, and the reporting format this DMARC record checker validates against.

Every finding this free DMARC record checker reports maps back to a rule in that document.

Build or repair the record

If the DMARC checker finds nothing, the DMARC Record Generator builds a valid record with policy, alignment, and reporting tags.

Generate there, verify with the DMARC record checker here. Neither tool catches DNS-panel mangling alone.

The two records DMARC depends on

DMARC reads SPF and DKIM results. The SPF Checker covers the record a DMARC policy depends on most.

A clean DMARC record checker result on top of a broken SPF record enforces failure rather than protection.

Frequently Asked Questions

1. Is the DMARC checker free?

Yes — a free DMARC record checker with no signup and no account. Run the DMARC checker on as many domains as you need. It resolves live DNS on every request rather than serving a cached DMARC verdict.

2. What does the DMARC record checker report?

The resolved record, every parsed tag with its effective meaning, the policy a receiver would apply, how sp changes it for subdomains, whether rua is set, and any malformed or misordered tags. That is what makes it a DMARC record checker and validator rather than a lookup.

3. The DMARC checker says no record found, but I published one.

It is almost certainly at the wrong host. A DMARC record lives at _dmarc.yourdomain, not at the domain root. That is the mistake this free DMARC record checker catches most often. Move it, wait for propagation, and re-run the DMARC checker.

4. Is p=none good enough?

Only as a starting point. A DMARC record checker will call p=none valid because it is, but none instructs receivers to take no action at all. Read the aggregate reports, fix failing legitimate senders, then move to quarantine and reject.

5. Does the DMARC checker read my aggregate reports?

No. The DMARC record checker confirms the rua address is set and syntactically valid. Fetching and parsing the daily XML that arrives there is a separate job, and it is the actual work of a DMARC rollout.

6. My DMARC record looks right but the checker disagrees.

Usually a DNS panel splitting or truncating the TXT value on save, or a stray semicolon. The DMARC checker reports what your nameservers actually serve, which is the only string receivers ever see. Re-publish and check again after propagation.

DMARC Checker

Run the DMARC checker now

A free DMARC record checker, no signup. Resolve the live DMARC record, parse every tag, see the effective policy.

Free DMARC record checker · DMARC checker, live DNS · Every DMARC tag parsed · DMARC checker, no account

99.9%
Accuracy
Real-time
API Speed
$0.00014
Per Email
600/mo
Free Forever