DMARC checker: look up and explain any DMARC record
Enter a domain to fetch the live _dmarc TXT record, copy the raw value, read every tag in plain English, and see whether your policy actually blocks spoofing or only monitors it.
What the DMARC checker shows
The lookup hits public DNS at _dmarc.yourdomain.com, the same host receivers use. You get the full TXT string, a row-by-row breakdown of each tag, warnings for common gaps (missing rua=,p=none, partial pct=), and a badge that summarizes enforcement. Rate limits match our other DNS tools so the checker stays fast for everyone.
Need a record from scratch? Use the DMARC record generator. Already have SPF and DKIM? Confirm them with the SPF checker and DKIM checker, or run the email deliverability checker for all three at once.
DMARC tags explained
| Tag | Meaning |
|---|---|
v | DMARC version; must be DMARC1. |
p | Policy for failing mail: none, quarantine, or reject. |
sp | Subdomain policy when different from p=. |
pct | Percentage of failing mail that gets p= (default 100). |
rua | Aggregate report destination (mailto: addresses). |
ruf | Forensic failure report destination. |
adkim | DKIM alignment: r=relaxed or s=strict. |
aspf | SPF alignment: r=relaxed or s=strict. |
fo | When to send forensic reports (0, 1, d, or s). |
rf | Report format (often afrf). |
ri | Seconds between aggregate reports (default 86400). |
Full definitions: DMARC in the glossary.
How to move from p=none to p=reject
- Publish
p=nonewith a workingrua=address and fix SPF/DKIM for every legitimate sender your reports mention. - Confirm alignment — relaxed is fine for most form backends; strict (
adkim=s/aspf=s) only when you control every From domain exactly. - Move to
p=quarantineatpct=100, watch reports, then raise top=rejectwhen failures are only spoofing attempts.
Why DMARC matters for contact form emails
Form notifications often fail DMARC when the From address uses your brand domain but the SMTP server is not listed in SPF and does not sign with DKIM. Receivers then treat the message as spoofed. Read why contact form emails go to spam, run the email deliverability checker, and send From an address on a domain you control with all three records in place.
FAQ
Where is a DMARC record published?
As a TXT record at _dmarc.yourdomain.com (not on the root @ host). It must start with v=DMARC1 and include p=none, quarantine, or reject. This checker queries that exact name live.
What is the difference between p=none, quarantine, and reject?
p=none tells receivers to monitor only — failing mail is still delivered. p=quarantine sends failures to spam or junk. p=reject tells strict receivers to block failing mail. Most teams start at none with rua= reports, then tighten.
Do I need rua= on my DMARC record?
You should add rua=mailto:you@yourdomain.com (or a dedicated reports inbox) so mailbox providers send daily XML summaries. Without rua= you are flying blind while spoofed mail may still arrive under p=none.
How does DMARC relate to SPF and DKIM?
DMARC passes when SPF or DKIM passes and aligns with the domain in the From address. SPF alone breaks on forwards; DKIM survives forwarding. Publish all three so contact-form and marketing mail authenticate cleanly.
Why check DMARC before sending form emails?
If notifications use From: you@yourdomain.com but your server is not authorized, DMARC fails and inboxes spam-folder the message. Fix SPF, DKIM and DMARC, send From your domain, and put the visitor in Reply-To.
All free form tools · DMARC record generator · SPF checker · DKIM checker
More free form tools
Form backend cost calculator
Enter monthly submissions and compare the cheapest listed plan across eight form backends.
Email deliverability checker
Enter a domain to check its SPF, DMARC and MX records and get a plain-English fix for each.
SPF record checker
Look up a domain's SPF record, see each mechanism explained and count DNS lookups against the 10-lookup limit.
DMARC record generator
Pick a policy and report address and copy a ready _dmarc TXT record.
DKIM record checker
Enter a domain and selector to check its DKIM key, with presets for common senders.
SPF record generator
Tick your email providers and copy one SPF TXT record with a lookup count.
Contact form spam checker
Paste form HTML to audit its honeypot, endpoint, CAPTCHA markers and spam resistance.
Honeypot field generator
Generate a hidden anti-spam input with your chosen name and hiding technique.
Form action URL tester
Check a form action URL for reachability, CORS headers, POST acceptance and backend.
Email obfuscator
Encode your email so spam scrapers can't read it but people can still click it.
Mailto link generator
Build a mailto: URL with recipients, CC, BCC, subject and a pre-filled body.
Alphanumeric regex tester
Test letters and numbers only, spaces, handles and Unicode; copy validation patterns.
Email regex tester
Test the WHATWG email regex and two other patterns against edge cases and your own list.
Phone number regex tester
Test numbers against E.164, US/Canada and digits-only patterns and copy code snippets.
ZIP code regex tester
Test US ZIP, ZIP+4, Canadian and UK postal codes and copy the regex or HTML pattern.
Number regex tester
Test digits, decimals, money and thousands separators and copy validation patterns.
Date regex tester
Test dd/mm/yyyy, mm/dd/yyyy and ISO dates with leap-year checks and copy JS or HTML patterns.
Name regex tester
Test name patterns for O'Brien, accents and Unicode letters; copy JS or HTML pattern snippets.
Username regex tester
Test username presets for GitHub, Instagram and X; check reserved names and copy JS or HTML patterns.
IP address regex tester
Test IPv4, IPv6, CIDR and private-range patterns and copy JS or HTML pattern snippets.
URL regex tester
Test website URLs against http(s) regex patterns and new URL(), and copy JS, HTML or PHP code.
HMAC-SHA256 generator
Generate and verify webhook signatures for common providers in your browser.
URL encoder and decoder
Encode text, build an x-www-form-urlencoded body or parse a query string.
Password regex generator
Pick strength rules, test passwords live and copy the regex or HTML pattern.
UTM builder
Build campaign URLs with UTM parameters, tag a CSV in bulk and check tagged links.
HTML to JSX converter
Paste HTML and get JSX or a working React/Next.js form component.
Image to Base64 converter
Convert images to Base64 data URLs in your browser and copy HTML and CSS snippets.
Base64 to image converter
Paste a Base64 data URI to preview and download the decoded image.
Base64 decode & encode
Decode Base64 to readable UTF-8 text or encode text to Base64, locally in your browser.
URL to Base64 converter
Fetch a direct image URL in your browser and get its Base64 data URL.
HTML form generator
Build a form visually and copy HTML, React JSX or Tailwind code.
AI form generator
Describe your form in plain English and copy working HTML.
Time regex tester
Test 24-hour, AM/PM and ISO time patterns and copy JavaScript, Python or HTML snippets.
Credit card regex tester
Test Visa, Mastercard 2-series, Amex and more card patterns with brand detection and a Luhn check.
Hex color regex tester
Test #RGB, #RRGGBB and alpha hex colors plus rgb() and hsl() values with live color swatches.
UUID regex tester
Test UUID v1-v8, nil/max and GUID formats with version and variant checks; copy JS or HTML patterns.
Terms explained in the form glossary: DMARC, SPF, DKIM