Free tool · live DNS

SPF record checker

Validate the SPF record of a domain, count its DNS lookups against the limit of 10 and see every include it pulls in.

Live DNS lookup over DNS-over-HTTPS. You can also paste an email address.

SPF record examples

Sending throughSPF record
Google Workspacev=spf1 include:_spf.google.com ~all
Microsoft 365v=spf1 include:spf.protection.outlook.com -all
Google + Mailchimpv=spf1 include:_spf.google.com include:servers.mcsv.net ~all
Own serverv=spf1 ip4:203.0.113.10 mx ~all
Domain that never sendsv=spf1 -all

SPF mechanisms

  • ip4: / ip6: – an address or range (no DNS lookup)
  • a / mx – the domain’s A or MX hosts (1 lookup each)
  • include: – another domain’s SPF record (1 lookup plus its own)
  • all – everything else; the qualifier decides: - fail, ~ soft fail, ? neutral, + pass
  • redirect= – use another domain’s record instead

SPF alone does not stop spoofing of the visible From address; combine it with DKIM and DMARC.

Frequently asked questions

What is SPF?

Sender Policy Framework is a TXT record that lists the servers allowed to send email for your domain. Receivers compare the sending server with this list.

What is the SPF 10 lookup limit?

Evaluating an SPF record may cause at most 10 DNS lookups (include, a, mx, ptr, exists and redirect each count). Above that, SPF returns a permanent error and the check fails. Remove unused includes or replace them with ip4/ip6 ranges.

Should I use ~all or -all?

~all (soft fail) is the common, safe choice, especially with DMARC in place. -all (fail) is stricter; use it once you are sure every legitimate sender is listed. Never use +all.

Can I have two SPF records?

No. A domain must have exactly one TXT record starting with v=spf1. Merge the mechanisms of both into one record.

Email validation API

Validate emails in your app

emailvalidation.io checks syntax, MX records and the mailbox over SMTP, flags disposable, role and free addresses and returns a quality score, in one request.

Read the docs

100 free validations every month. No credit card required.

GET https://api.emailvalidation.io/v1/info?email=name@company.com

{
  "email": "support@emailvalidation.io",
  "domain": "emailvalidation.io",
  "format_valid": true,
  "mx_found": true,
  "smtp_check": true,
  "disposable": false,
  "role": true,
  "free": false,
  "score": 0.64,
  "state": "deliverable",
  "reason": "valid_mailbox"
}

Free email tools

Start using our email validation software today!

Get 100 validations per month for free