SPF Record Generator
Build a correct SPF record in a minute. Tick the services that send email for your domain, add your own servers, choose how strict to be, and check the real DNS lookup count before you publish.
SPF Record Generator
Live check: your browser follows each include through Cloudflare's DNS-over-HTTPS resolver (1.1.1.1) and counts the lookups. Nothing passes through ToolFeather. Cloudflare resolver privacy.
Queries your browser sent (0)
These are the exact requests, each one a link. Open one to see the raw JSON answer from the resolver.
The record is built on this page. The optional live count asks Cloudflare DNS directly from your browser.
Scratchpad auto-saved
How it works — in four simple steps
No signup and nothing to install — it all runs in your browser.
Enter your domain
Used for the host name and the live check.
Tick your senders
Add every service that sends mail as you.
Pick a policy
~all with DMARC, or -all for strict.
Check and publish
Run the live count, then replace your existing SPF record.
Publish one SPF record only. Edit the existing one instead of adding another.
Features
22 services built in
Google Workspace, Microsoft 365, Zoho, Proton, Fastmail, SendGrid, Mailgun, Amazon SES, Postmark, Brevo, Salesforce, Zendesk, Shopify and more.
Your own servers
ip4/ip6 addresses and ranges, the domain's a and mx, and any other include.
Live lookup count
Follows each include through DNS and reports the true lookup total before you publish.
Validation
Checks addresses, CIDR ranges and include domains as you type.
Ready to publish
Shows the exact type, host and value to enter at your DNS provider.
About the SPF Record Generator
An SPF record is a single TXT record on your domain listing every service that sends email as you. Your mailbox provider is one, but so are your newsletter tool, help desk, CRM, online shop and any server that sends notifications. Leave one out and its mail may fail SPF. Hosted services are added with include: and the value from their help pages. Your own servers go in as ip4: or ip6: addresses, or as a and mx to reuse the domain's existing records.
The record ends with an all term that says what happens to everyone else. ~all (soft fail) is the common choice alongside DMARC, which does the enforcing. -all (hard fail) asks receivers to reject outright. For a domain that never sends mail, publish v=spf1 -all and nothing else. That's one of the simplest anti-spoofing steps there is.
Every include costs DNS lookups, and an SPF record may use at most 10 in total, nested includes included. The estimate updates as you tick boxes. Count DNS lookups live then follows each include through Cloudflare's resolver from your browser and reports the real number. The record is built on this page. Publish it as a TXT record at the root of your domain (host @), replacing any SPF record that's already there, because two SPF records break SPF.