One-on-one deliverability consultationBook

Free DMARC Record Generator

Create a secure DMARC record to protect your domain from spoofing and phishing.

1Domain
2ESP
3Email
4DMARC value

Let's get started!
Please provide the domain for which you'd like to generate a DMARC record

Warmy’s free DMARC record generator gives you a ready-to-paste value in four simple steps, plus instructions for publishing and checking it — no signup required.

What Is a DMARC Record?

A DMARC record is a text entry in your domain’s DNS settings at _dmarc.yourdomain.com that helps email providers check the domain in your From address using SPF or DKIM. It also tells them how to handle emails that fail and lets you request reports on the results.

A DMARC TXT record has three parts: the type, the host, and the value. The value sets the version, the policy, and where reports go.

DMARC record example:

Type
TXT
Host
_dmarc
Value
v=DMARC1; p=none; rua=mailto:reports@example.com

The policy (p) can take one of three values:

none
Monitor only.
quarantine
Request spam-folder placement.
reject
Request rejection.

A message passes DMARC when SPF or DKIM is verified, and that domain matches the visible From domain. For example, a valid DKIM signature for example.com passes DMARC for mail sent from you@example.com. Our SPF generator helps authorize senders.

Gmail and Yahoo have required DMARC for bulk senders (5,000 messages a day) since February 2024. Outlook.com introduced high-volume requirements in May 2025. Gmail also increased rejections in November 2025.

What Is a DMARC Generator?

A DMARC generator is a tool that converts your policy and reporting address into a DNS value without you having to write syntax manually. It’s useful for first-time setup or new outreach and agency domains.

Warmy DMARC dashboard showing the policy moving from none to reject

How to Generate a DMARC Record in 4 Steps

  1. Enter your domain
    Type example.com, without @ or www. Create a separate record for each domain you send emails from.
  2. Choose your provider
    Select the service you use to send emails. The record is the same for every provider, but DMARC passes only if that service’s SPF or DKIM aligns with your domain. For Google Workspace or Microsoft 365, turn on DKIM for your domain in the admin settings.
  3. Choose a policy and reporting address
    Start with p=none to collect reports without changing how providers handle your mail. Enter an email address you check regularly. Reports arrive as XML files. If the address uses another domain, that domain needs an authorization record, or reports may not arrive.
  4. Copy and publish the record
    This is the text that goes in the Value field of your DNS record.

What Your Generated Record Means

Example output for a monitoring policy:

v=DMARC1; p=none; pct=100; rua=mailto:reports@example.com; sp=none

You choose the policy (p) and reporting address (rua). The DMARC record generator adds v=DMARC1 to identify the DMARC version and sets the subdomain policy (sp) to match your chosen policy. The pct=100 tag is retired and equals the default, so delete it before you publish; this won’t affect your policy.

See all DMARC tags below.

How to Publish Your DMARC Record in DNS

Enter Type, Host, and Value in separate DNS fields.

  1. Log in to the service that manages your DNS (your domain registrar or Cloudflare).

  2. Edit any existing _dmarc policy instead of adding another. Two records break DMARC. If you don’t have one, add a new TXT record.

  3. Set Type: TXT, Host/Name: _dmarc, and Value: your generated text without pct=100.

  4. Keep the default TTL and save. Results appear within a few minutes to 48 hours.

If your DNS panel appends the domain, enter only _dmarc.

How to Check Your DMARC Record

Use a DMARC record checker or query DNS:

Substitute your domain.

Warmy DMARC traffic categorization and sender IPs with SPF and DKIM results

To verify DMARC record publication, confirm that exactly one TXT entry starts with v=DMARC1.

Use each of your sending services to send a test email to a Gmail account. Then, in every email that you receive, select Show original from the three-dot menu and look for DMARC: PASS. Use our free email header analyzer to review authentication results, or run a free email deliverability test to check inbox and spam placement.

If the Check Fails

No record found
Check the DNS host and allow time for caching.
Multiple policies
Merge them into one and delete the rest.
Syntax error
Check separators, accidental quotation marks, and v=DMARC1 placement.
SPF passes, DMARC fails
Check alignment. Enable DKIM signing with your domain if your provider uses its own return address.

DMARC Is Set. Let Adeline Check the Rest

For DMARC to pass, your SPF or DKIM needs to be aligned for every platform sending as your domain. Authentication may fail when even one sender is misconfigured, and a DNS check won’t show which one or why.

Adeline, Warmy’s AI email deliverability agent, can help diagnose the problem by connecting with platforms like SendGrid or Mailgun and determining the cause of the issue. Trained on billions of deliverability data points, Adeline can help you find fixes as you work with her in the chat.

What to Do Next: From p=none to p=reject

Monitor for 2–4 weeks

Identify all senders. Allow longer for infrequent campaigns.

Example value:

v=DMARC1; p=none; rua=mailto:reports@example.com
Monitor for 2–4 weeks

Fix failures

Configure DKIM and alignment for legitimate senders.

Fix failures

Move to quarantine

Regenerate and replace your existing value.

Example value:

v=DMARC1; p=quarantine; rua=mailto:reports@example.com; sp=quarantine
Move to quarantine

Consider reject

Confirm consistent passes first. Subdomains inherit the policy unless you set sp or np tags.

Example value:

v=DMARC1; p=reject; rua=mailto:reports@example.com
Consider reject

Reading raw XML reports across several domains is slow. Warmy’s DMARC monitoring turns them into a dashboard showing passing and failing senders. Once you’re at reject, you can also set up BIMI, which requires DMARC at enforcement. Try our BIMI Generator.

DMARC Tags Explained

vVersionDMARC1; required, firstNever
pDomain policynone/quarantine/reject; default: noneAs you move toward enforcement
spExisting subdomainsSame policies; inherits pWhen subdomains need a different policy
npNonexistent subdomainsSame policies; inherits sp, then pOnly to be stricter than p, after every sending subdomain has DNS records
ruaAggregate reportsmailto:; unsetAlways set one
rufFailure reportsmailto:; unsetOptional diagnostics
foFailure-report triggers0 default; 1/d/sWith ruf
adkimDKIM alignmentr default; sStrict only if every sender signs with your exact domain
aspfSPF alignmentr default; sSame as adkim
tLower-policy testingn default; ySupported tests
psdPublic-suffix statusu default; y/nRegistry setups

Relaxed (r) permits the same main domain and its subdomains; strict (s) requires identical domains. np covers nonexistent DNS names (NXDOMAIN). With t=y, reject becomes quarantine, and quarantine becomes none. Older receivers may ignore new tags.

You can manually add tags the generator doesn’t produce. Remove pct, rf, and ri; they were retired in RFC 9989. For more, see our DMARCbis guide. Some receivers don’t send ruf reports.

FAQ

Yes. DMARC stops others from spoofing your domain and gives you report data on who sends mail as you. Gmail’s bulk threshold is around 5,000 messages per day, and Yahoo doesn’t have a published threshold.
Get started

25-Second Setup
Vs Weeks Of Frustration

No Credit Card Required | Cancel Anytime