How can I check if my DNS records have propagated?

Still have a question, spotted an error, or have a better explanation or a source we should cite?

You've just added your SPF record, or updated your DMARC policy, and now you're wondering whether it's actually live. That's what DNS propagation checking is all about.

When you change a DNS record, that change doesn't appear everywhere instantly. DNS resolvers around the world cache records for a period of time defined by something called TTL (time-to-live). Until that cache expires, some resolvers will still return the old value. So "did my record propagate?" really means "have enough resolvers around the world picked up the new version?"

The fastest way to check: use an online propagation tool. These query dozens of resolvers from different countries and show you which ones have the new record and which are still holding the old one.

  • whatsmydns.net shows a world map of results across global locations
  • dnschecker.org gives you a similar multi-resolver view with pass/fail indicators

Type in your domain, select the record type (TXT for SPF, DKIM, or DMARC), and you'll see which parts of the world have caught up.

If you're comfortable with the command line, you can query specific resolvers directly using dig. This is useful when you want to know what a particular DNS provider is returning right now.

  • dig @8.8.8.8 TXT yourdomain.com queries Google's public DNS
  • dig @1.1.1.1 TXT yourdomain.com queries Cloudflare's public DNS
  • dig @9.9.9.9 TXT yourdomain.com queries Quad9

If you get different results from different resolvers, propagation is still in progress. That's normal. It's not a sign something broke.

To check the authoritative source directly (the DNS server that holds the actual record, before any caching), run this:

dig @ns1.yourprovider.com TXT yourdomain.com

Replace ns1.yourprovider.com with your actual nameserver. If the authoritative server shows the correct record, your update is saved correctly. Other resolvers will catch up once their TTL expires.

How long does propagation take? Usually between a few minutes and 48 hours, depending on what TTL was set on the old record. Most records propagate much faster than the 48-hour worst case people quote. If it's been more than a day and some resolvers still show the old value, it's worth double-checking that the record was saved correctly at the source.

But you can also check your SPF record and DMARC record specifically with our free tools if you want a quick syntax check on top of confirming they're live.

And if something still looks off after 48 hours, drop us a message on the SOS hotline. It's free and we're happy to take a look.

Contributors

Who worked on this answer

Every name links to their profile. Every company links to their site. Real people, real accountability.

Ask an AI · tailored to your setup

Check your DNS propagation

I just updated a DNS record on your domain (for example, SPF / DKIM / DMARC / MX). I want to check whether the change has fully propagated. My domain registrar or DNS host is provider name. How do I verify the record is live, what resolvers should I check, and how long should I expect to wait?

Edit the yellow boxes, then send to the AI of your choice.