When you make a change to your DNS records, such as pointing a domain to a new hosting account, changing nameservers, or updating an MX record, that change does not take effect instantly everywhere in the world. The time it takes for your changes to spread across the internet's DNS system is called propagation.
How long does it take?
The honest answer is: it depends on the type of change you made.
| Change type | Typical propagation time | Maximum |
|---|---|---|
| Nameserver change (moving to a new host) | 4 to 24 hours | 48 hours |
| A record (pointing domain to new IP) | 1 to 4 hours | 24 hours |
| MX record (changing email provider) | 1 to 4 hours | 24 hours |
| CNAME record | 30 minutes to 2 hours | 24 hours |
| TXT record (SPF, DKIM, verification) | 30 minutes to 2 hours | 24 hours |
Nameserver changes tend to take longest because they involve updating records held by your domain registrar, which then need to propagate through the global DNS hierarchy. Changes to individual records (A, MX, CNAME) within an existing zone are typically faster.
Why does propagation take time at all?
The DNS system works by caching. When someone visits your website, their device asks a nearby DNS resolver (usually run by their internet provider) for your domain's IP address. That resolver stores the answer in its cache for a set period of time, defined by a value called TTL (Time To Live), measured in seconds.
Until that cached record expires, the resolver will keep returning the old answer regardless of what changes you have made. Once the TTL expires, the resolver fetches fresh information and your change becomes visible from that location.
TTL tip: If you know a DNS change is coming, you can speed up propagation by lowering your TTL well in advance, ideally 24 hours before you make the change. Set it to 300 seconds (5 minutes). After the change is complete and propagated, you can increase it again. To check or change your TTL, log in to wherever your DNS is managed (your domain registrar, cPanel, or Cloudflare).
How to check if propagation is complete
Rather than guessing, you can check the current DNS state of your domain from multiple locations worldwide:
- dnschecker.org, shows what IP address or record value is resolving for your domain across dozens of locations globally. Use the A record check for website hosting changes, or MX for email.
- whatsmydns.net, similar tool with a clean interface, useful for checking propagation progress in real time.
Once you see your new values resolving consistently across most locations, propagation is effectively complete. A few outliers in remote locations taking slightly longer is normal.
Why it might look different on different devices
During propagation it is entirely normal for your website to appear on the new server on your phone but still show the old site on your laptop, or for colleagues in different offices to see different results. This is because each device, network, and internet provider has its own DNS cache with its own expiry time.
If you need to see the new version on your own computer before propagation is complete, you can either:
- Flush your local DNS cache, on Windows, open Command Prompt and run
ipconfig /flushdns. On Mac, runsudo dscacheutil -flushcachein Terminal. - Edit your hosts file, this lets you force your computer to use a specific IP for a domain, bypassing DNS entirely. See our guide: How to edit your hosts file to preview your site.
If propagation seems to be taking longer than expected
If 48 hours have passed and your domain is still not resolving correctly worldwide, something else is likely the issue rather than propagation still being in progress. Common causes include:
- The DNS change was not saved correctly, double-check your records in your registrar or DNS management panel
- The nameservers entered at your registrar do not exactly match the ones provided in your Host Media welcome email, even a small typo will prevent resolution
- There is a conflicting record elsewhere, for example an old A record pointing to a different IP sitting alongside a new one
If you have checked all of the above and propagation still appears incomplete, open a support ticket and include your domain name along with a screenshot from dnschecker.org showing the current resolution. Our team will take a look.