DMARC Record Generator
Generate a DMARC TXT record from policy and report settings.
DMARC (Domain-based Message Authentication, Reporting & Conformance) is an email authentication policy that builds on top of SPF and DKIM. It tells receiving servers how to handle messages that fail authentication (do nothing, quarantine, or reject) and lets you collect reports about who is sending mail using your domain. This generator lets you pick the policy (p), subdomain policy (sp), application percentage (pct), aggregate/forensic report addresses (rua/ruf), and alignment modes (adkim/aspf) to build a valid DMARC TXT record instantly.
Publish the generated value as a TXT record on the _dmarc subdomain of your domain. When rolling DMARC out, start with p=none to monitor, confirm legitimate mail passes via the reports, then gradually tighten to quarantine and reject. Everything runs in your browser and no input is sent anywhere.
v=DMARC1; p=none
DMARC tags at a glance
A DMARC record is a set of tag=value pairs separated by semicolons. The most common tags are:
- v: Version. Always
DMARC1and must come first. - p: Domain policy.
none(monitor only) /quarantine(send to spam) /reject(refuse delivery). - sp: Subdomain policy. If omitted, it inherits the value of p.
- pct: Percentage of mail the policy applies to (0–100). For example
pct=25applies quarantine/reject to only 25% of messages for a gradual rollout. - rua: Address for aggregate reports, published as a
mailto:URI. - ruf: Address for forensic (failure) reports. Many receivers no longer support it due to privacy concerns.
- adkim / aspf: DKIM/SPF alignment mode.
r(relaxed, default) ors(strict).
How to publish
- Set the DNS host name to
_dmarc.example.com(for the root domain). For a subdomain use_dmarc.sub.example.com. - Choose record type TXT.
- Paste the value this tool generates and save.
- After propagation, verify with a lookup such as
dig TXT _dmarc.example.com.
A staged rollout strategy
Jumping straight to p=reject risks blocking legitimate mail. The recommended order is none → quarantine → reject. When moving to quarantine or reject, start pct at a low value and raise it toward 100 while watching the reports. The key prerequisite is making sure SPF and DKIM are aligned across every sending source first. After publishing the record, confirm it took effect with DMARC Record Lookup.