Email DNS checker

Check a domain's MX, SPF, DKIM and DMARC records in one go. Each check says whether it passes, what's wrong in plain English, and how to fix it.

You can paste an email address or a web address. We'll use just the domain part.

We try common selectors automatically. If yours is different, it's the s= value in the DKIM-Signature header of an email you've sent.

Only the domain name is sent, straight from your browser to Cloudflare's public DNS service (or Google Public DNS if Cloudflare doesn't answer). Nothing is stored.

How this tool works

Your browser looks up the domain's public DNS records using DNS over HTTPS, the same lookups any mail server does when it delivers or checks an email. It then reads the records and checks them against the standards:

DNS changes can take a while to reach every resolver, up to the record's TTL (often an hour). If you've just made a change and it doesn't show yet, try again later.

Tips for reliable email

Frequently asked questions

What's the difference between SPF, DKIM and DMARC?

SPF lists the servers allowed to send for your domain. DKIM adds a digital signature to each email so receivers can tell it hasn't been changed and really came from you. DMARC ties them together: it says an email must pass SPF or DKIM for a domain that matches the From address, and tells receivers what to do if it doesn't.

Should SPF end in -all or ~all?

Both are fine once DMARC is in place. -all (fail) is stricter; ~all (soft fail) is the common default from Microsoft and Google and relies on DMARC to decide what happens. Avoid ?all (neutral) and never use +all.

Why does the SPF 10-lookup limit matter?

The SPF standard (RFC 7208) lets a receiver make at most 10 DNS lookups while checking a record, counting every include, a, mx, ptr, exists and redirect, including those inside included records. Go over and SPF returns a permanent error, which usually counts as a fail under DMARC.

Why didn't you find my DKIM record?

DKIM keys live under a selector name that your provider chooses, and there's no way to list them from DNS. We try the common ones. Open an email you sent, view its headers, find DKIM-Signature and enter the s= value as your own selector.

Is p=none bad?

It's a sensible first step, because it gets you reports without affecting delivery. But it doesn't protect anyone: spoofed email using your domain is still delivered. Plan to move to quarantine or reject.

Do you store the domains I check?

No. The lookups go straight from your browser to Cloudflare's public DNS resolver (1.1.1.1), or to Google Public DNS as a fallback. Like any DNS lookup, they see the domain name and your IP address. Nothing passes through our server and nothing is kept.