DMARC Record Generator
- Runs in your browser
- No DNS lookups
Build your DMARC record
Names the _dmarc host and checks whether reports go to another domain.
One email address per line. Receivers send summary reports of mail using your domain here.
More options
Added by RFC 9989.
Leave it empty for the default of 100. RFC 9989 made pct historic.
Optional. Failure reports describe individual messages and can contain personal data.
Your record
- Host
_dmarc- Type
TXT- Value
v=DMARC1; p=none
Checks
Warning
Without rua, receivers send no aggregate reports, so you cannot see who sends mail as your domain before you enforce a policy.
Warning
p=none is monitoring only: receivers take no action on mail that fails DMARC. Move to quarantine once your reports show every legitimate sender passing.
What is a DMARC record generator?
A DMARC record generator writes the TXT record you publish at _dmarc followed by your domain. Pick a policy for mail that fails DMARC and add the addresses that should receive reports; the generator puts v=DMARC1 first and p second, as RFC 7489 requires, and leaves out tags that only repeat a default.
It follows RFC 7489 and the changes in RFC 9989, which obsoleted it in May 2026: np and t are available and pct is marked historic. It builds the record in your browser and makes no DNS lookups.
A safe DMARC rollout
- 1
Start with p=none and rua
Collect aggregate reports and fix SPF and DKIM for every legitimate sender they show.
- 2
Move to p=quarantine
Receivers treat failing mail as suspicious. Keep reading the reports for problems you missed.
- 3
Move to p=reject when you are ready
Make sure every sender signs with DKIM first, because forwarding often breaks SPF. RFC 9989 advises domains whose users post to mailing lists not to publish p=reject.
- 4
Check the published record
Run the DMARC checker once DNS has propagated.
DMARC tags
v=DMARC1- The version. It must be the first tag.
p=- The policy for mail that fails DMARC: none, quarantine or reject.
sp=- The policy for subdomains. Without it, subdomains follow p.
rua=- Where aggregate reports go, as mailto: addresses separated by commas.
ruf=- Where failure reports about individual messages go. Many large mailbox providers do not send them.
adkim= / aspf=- DKIM and SPF alignment: r (relaxed, the default) accepts a subdomain of the From domain, s (strict) needs an exact match.
fo=- Which failures trigger failure reports: 0, 1, d or s. Ignored without ruf.
pct=- The percentage of failing mail the policy applies to, 100 by default. RFC 9989 made it historic.
np= / t=- Added by RFC 9989: a policy for subdomains that do not exist, and t=y to test a policy without applying it in full.
Example record
v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.com
Sources
More email authentication tools
- SPF CheckerLook up a domain's SPF record and its DNS lookup count.
- DMARC CheckerCheck a domain's DMARC policy and reporting address.
- DKIM CheckerFind DKIM public keys under common selectors.
- BIMI CheckerCheck a BIMI record and its DMARC requirement.
- MTA-STS CheckerCheck the MTA-STS policy, its mode and TLS-RPT.
- SPF Record GeneratorBuild an SPF record and count its DNS lookups.
- Email Security AnalyzerGrade every email authentication record at once.
Beyond DNS records
These records stop other people sending mail as your exact domain. They do not stop phishing from lookalike domains or from compromised accounts, which send authenticated mail. Vigilbase OS connects the security tools you already pay for, including Microsoft 365, Google Workspace, Proofpoint and Mimecast. The Vigil agent investigates high-severity incidents and Vigilbase analysts handle exceptions.