SPF record generator

Create one SPF record for every service that sends as your domain. Pick your services, add your own servers and choose how the record ends; the generator counts the DNS lookups. It runs in your browser and saves nothing.

Who sends email as your domain?

Includes your other services gave you, separated by spaces or commas, for example spf.example.net.

IPv4 or IPv6 addresses or ranges, for example 192.0.2.10 or 2001:db8::/32.

What should happen to mail from other servers?

Your SPF record

Type
TXT
Name
@ (the domain itself)
Value
v=spf1 include:_spf.google.com ~all

Uses 1 of the 10 DNS lookups SPF allows.

  • include:_spf.google.com1 lookup

Publish it as a TXT record at @ (the domain itself), in place of any SPF record already there.

Create your record in four steps.

  1. Pick your senders

    Choose your mailbox provider and every service that sends mail as your domain: newsletters, invoicing, helpdesk.

  2. Add the rest

    Type the other includes your services gave you and the addresses of your own mail servers.

  3. Choose the ending

    Start with ~all. Move to -all when you know every sender.

  4. Publish and check

    Publish the record as one TXT record at the root of your domain, then check it with the SPF checker.

Each service's include costs a different number of lookups.

The generator counts these costs for you. They were measured on live DNS; services change their records, so check the published record with the SPF checker.

Measured on live DNS on 18 October 2026: the include plus every lookup inside it.
ServiceIncludeLookups
Google Workspaceinclude:_spf.google.com1 lookup
Microsoft 365include:spf.protection.outlook.com1 lookup
Fastmailinclude:spf.messagingengine.com1 lookup
Amazon SESinclude:amazonses.com1 lookup
Mailchimpinclude:servers.mcsv.net1 lookup
Postmarkinclude:spf.mtasv.net1 lookup
Brevoinclude:spf.brevo.com1 lookup
Zendeskinclude:mail.zendesk.com1 lookup
Zoho Mail (zohomail.com)include:zohomail.com2 lookups
Zoho Mail (zohomail.eu)include:zohomail.eu2 lookups
Proton Mailinclude:_spf.protonmail.ch2 lookups
SendGridinclude:sendgrid.net2 lookups
Salesforceinclude:_spf.salesforce.com2 lookups
Mailguninclude:mailgun.org5 lookups

Start with ~all, and move to -all when you know every sender.

With ~all, mail from a server you forgot is marked as suspicious but usually still arrives, and your DMARC reports show it. With -all, receivers may refuse it. Most domains start with ~all and change only after reading their DMARC reports.

Publish one record at the root of your domain.

Add it as a TXT record with the name @ (the domain itself). If a record that starts with v=spf1 is already there, replace it instead of adding a second one: two SPF records break SPF for the whole domain.

Common questions about creating an SPF record

Is the SPF record generator free?

Yes. It runs in your browser, needs no sign-up and saves nothing.

Which services should I include?

Every service that sends mail with your domain in the From address: your mailbox provider, newsletter tool, invoicing or helpdesk software. A service that sends from its own domain does not need to be in your record.

Why is the lookup count higher than the number of includes?

Many services' includes contain further includes, and each one costs a lookup. The table above shows the full cost of each listed service.

Can I add two SPF records, one for each service?

No. A domain can have only one SPF record. Put all services into the same record.

Do I still need DKIM and DMARC?

Yes. SPF alone does not prove that a message came from you. Switch DKIM on in each service and publish a DMARC record; the DMARC record generator writes one for you.