DMARC Record Checker
Check, Validate & Understand Your DMARC Record
Instantly check any domain’s DMARC record, syntax, policy, alignment, and reporting tags.
Check, Validate & Understand Your DMARC Record
Instantly check any domain’s DMARC record, syntax, policy, alignment, and reporting tags.
The following tags have been configured in the published DMARC record.
| Tag | Description |
|---|
The following default values will be used for the tags that have not been explicitly configured in the published DMARC record:
| Tag | Description |
|---|
Enter your domain name without the http:// prefix (e.g., company.com).
Initiate the live DNS mapping process by clicking the primary lookup action button.
Analyze your detailed security posture and the clean tag-by-tag record breakdown.
The tool works on any domain. You do not need to own it to run a check.
Your result falls into one of three categories. Here’s how to read each one and what to do next.
A valid result means your domain publishes a correctly formatted _dmarc TXT record that mail receivers can read and act on. Check the policy (p=) value, because it determines whether the record actually protects you:
An invalid result means a record exists but contains errors that prevent it from working as intended. The most common causes:
v=DMARC1 and include a p= policy tag. If either is absent, the record fails validation.mailto: prefix (e.g. rua=mailto:[email protected]). A bare email address without mailto: is invalid.Fix the specific error, or regenerate a clean record from scratch using our free DMARC record generator tool.
No record means your domain has no DMARC protection at all. The implications:
A DMARC record is a DNS TXT record that tells receiving mail servers how to handle emails that fail DMARC authentication. It builds on SPF and DKIM by defining your domain's email authentication policy and providing instructions for reporting authentication results.
A DMARC record is published as a DMARC DNS record at the _dmarc subdomain of your domain. For example, if your domain is example.com, the record is stored at:
The record itself is stored as a DMARC TXT record containing a series of tags and values that define your policy, reporting preferences, and alignment settings.
When a receiving mail server gets an email claiming to come from your domain, it:
Depending on your configuration, emails that fail authentication can be:
DMARC also allows mailbox providers to send reports back to the domain owner, helping identify legitimate email sources, unauthorized senders, and configuration issues.
A DMARC record can be as simple or as detailed as your deployment requires. Below are some common examples.
v=DMARC1; p=none;
v=DMARC1; p=none; rua=mailto:[email protected];
v=DMARC1; p=quarantine; pct=50; rua=mailto:[email protected];
v=DMARC1; p=reject; rua=mailto:[email protected]; ruf=mailto:[email protected]; adkim=s; aspf=s;
A DMARC record follows a specific syntax. Even small formatting mistakes can cause mailbox providers to ignore the record.
v=DMARC1. _dmarc subdomain. For example, this is a correctly formatted record:
v=DMARC1; p=reject; rua=mailto:[email protected]; adkim=s; aspf=s;
| Tag | What is does | Example value | Optional/Required |
|---|---|---|---|
| v | Protocol version. Must be the first tag. | v=DMARC1 | Required |
| p | Policy for the main domain to instruct how receivers handle failing mail. | p=reject | Required |
| rua | Address(es) for aggregate (summary) reports. | rua=mailto:[email protected] | Optional (recommended) |
| ruf | Address(es) for forensic (per-failure) reports. | ruf=mailto:[email protected] | Optional (recommended) |
| sp | Policy for subdomains. Defaults to the p value if omitted. | sp=quarantine | Optional |
| np | Policy for non-existent subdomains (DNS returns NXDOMAIN). Closes a subdomain-spoofing gap. | np=reject | Optional |
| adkim | DKIM alignment mode | adkim=s | Optional |
| aspf | SPF alignment mode | aspf=r | Optional |
| t | Testing mode (RFC 9989). Asks receivers to apply the next less strict policy. | t=y | Optional |
| psd | Public suffix domain flag, used during the DNS Tree Walk. Most domains should omit it. | psd=y | Optional |
| fo | Forensic reporting options, when failure reports are generated. | fo=1 | Optional |
Pick the path that matches your result:
nslookup -type=TXT _dmarc.yourdomain.com
dig TXT _dmarc.yourdomain.com
If a valid DMARC record exists, these commands will return the TXT record published under your domain. If no record is returned, your domain may not have DMARC configured.
Pick the path that matches your result:
Create a valid DMARC record in under 2 minutes with the free generator — no manual editing required.
DMARC Generator →PowerDMARC's hosted DMARC guides you safely from monitoring to full p=reject enforcement with real-time visibility.
Hosted DMARC →PowerDMARC automatically parses aggregate reports and alerts you when new senders appear or authentication issues arise.
Start Free →Want ongoing monitoring instead of one-off checks? PowerDMARC automatically parses your DMARC aggregate reports and alerts you when issues arise.
10,000+
ORGANISATIONS WORLDWIDE
100+
FORTUNE 100 & GOVERNMENTS
130+
COUNTRIES SERVED