SPF.Guru
Thou shalt heed caution with “-all”, for a single misstep may close the gates of deliverability.

Does your SPF record need more than ten DNS lookups?

Ten is the limit, and crossing it means permerror: SPF stops working and you are not told. Enter a domain to see what its record really costs. If it is under the limit, we will say so and you can leave it alone.

Reads public DNS only. Nothing is changed for you.

What the change looks like, if you need it

Before five includes, and every one of them costs a lookup

v=spf1 include:_spf.google.com include:spf.protection.outlook.com include:mailgun.org include:_spf.freshdesk.com include:servers.mcsv.net ~all

costs one DNS lookup.

After one guru lookup and your own policy, everything else left exactly where it was

v=spf1 exists:i.%{ir}._d.%{d}.my.spf.guru ~all include:_spf.google.com include:spf.protection.outlook.com include:mailgun.org include:_spf.freshdesk.com include:servers.mcsv.net

is what a receiver looks up. Everything after the all is read by SPF Guru instead, and costs nothing.

A receiver resolves one name and stops: authorised senders match and pass, everything else falls through to your own all. If SPF Guru cannot answer, that is also just "no match", so your own policy still decides rather than the record breaking. The rest is left untouched because that is what SPF Guru reads on your behalf. How that works.

Not flattening

Your includes stay includes, resolved at query time. Nothing goes stale when a vendor renumbers.

One lookup, always

Twelve includes or thirty, a receiver performs the same one and gets a definitive answer.

Nothing to install

One TXT record at your DNS provider. No agent, no account.