You just pointed your domain to a new hosting server and updated your DNS records. But hours later, your website still shows the old version — or shows nothing at all. Your friend in another city says it works fine for them. This confusing experience is caused by DNS propagation, and once you understand how it works, it becomes much less mysterious.
What Is DNS?
DNS stands for Domain Name System. Think of it as the internet's phone book. When you type google.com into your browser, your computer does not actually know where that website is — it only knows a domain name, which is a human-friendly label. DNS translates that label into an IP address like 142.250.80.46, which is the actual address of the server where the website lives.
This translation happens automatically every time you visit a website, usually in milliseconds. The system that makes this possible is a global network of thousands of DNS servers distributed around the world.
What Are DNS Records?
DNS records are instructions stored at your domain registrar or hosting provider that tell the world how to reach your website, email, and other services. The most common types are:
- A Record — maps your domain to an IPv4 address (e.g.,
yourdomain.com → 192.168.1.1) - CNAME Record — points your domain to another domain name (e.g.,
www.yourdomain.com → yourdomain.com) - MX Record — directs email to your mail server
- TXT Record — stores text information, used for SPF, DKIM, and domain ownership verification
- NS Record — identifies which name servers are authoritative for your domain
What Is DNS Propagation?
When you make a change to your DNS records — for example, pointing your domain to a new hosting server — that change does not happen instantly across the entire internet. Instead, it has to spread from your authoritative name server to thousands of DNS resolvers (caching servers) worldwide. This spreading process is called DNS propagation.
Here is what happens step by step when you update a DNS record:
- You update the A record for
yourdomain.comat your registrar or hosting control panel. - The change is saved to your authoritative name server — the one that holds the “official” copy of your DNS records.
- DNS resolvers around the world (run by ISPs, Google, Cloudflare, etc.) have cached the old record. They will continue serving the old IP address until their cache expires.
- Once a resolver's cache expires, it fetches the new record from your authoritative name server and starts serving the correct IP.
Because different DNS resolvers have different cache expiry times and schedules, some users will see your new server immediately while others continue to see the old one for hours or even days. This is why your website might work for a friend in another city but not for you.
What Is TTL and Why Does It Matter?
TTL stands for Time to Live. It is a value attached to every DNS record that tells DNS resolvers how long to cache that record before fetching a fresh copy. TTL is measured in seconds.
A TTL of 3600 means resolvers will cache your record for one hour. A TTL of 86400 means they will cache it for 24 hours. The higher the TTL, the longer propagation takes after a change.
Pro tip: If you know you are going to migrate your website or change your hosting, lower your TTL to 300 (5 minutes) at least 24–48 hours before making the change. This ensures that when you do update the record, the world picks up the new value much faster. After the migration is complete and stable, you can raise the TTL back to a higher value.
How Long Does DNS Propagation Take?
The commonly quoted timeframe is 24 to 48 hours, but in practice:
- With a low TTL (300–600 seconds), most of the world will see your new records within 5–30 minutes.
- With a standard TTL (3600 seconds / 1 hour), propagation typically completes within 1–4 hours for most users.
- With a high TTL (86400 seconds / 24 hours) or after a nameserver change, it can take up to 48–72 hours in rare cases.
Nameserver (NS record) changes generally take longer than A record changes because registrars need to update the root zone — the top level of the DNS hierarchy — which has its own caching schedule.
How to Check DNS Propagation
Several free tools let you check how your DNS records appear from different locations around the world:
- whatsmydns.net — shows your DNS records as seen from dozens of countries simultaneously. The most beginner-friendly option.
- dnschecker.org — similar to whatsmydns.net with a clean interface and support for all record types.
- MXToolbox DNS Lookup (mxtoolbox.com) — more advanced, useful for checking MX, SPF, and DKIM records.
- Google Admin Toolbox Dig (toolbox.googleapps.com/apps/dig/) — uses Google's own DNS infrastructure to look up your records.
To check using your terminal or command prompt, run:
nslookup yourdomain.com 8.8.8.8This queries Google's public DNS server (8.8.8.8) for your domain's A record. If it returns the new IP, Google's DNS has propagated. Repeat with 1.1.1.1 to check Cloudflare's DNS.
Why Does DNS Propagation Seem Random?
Different people see different results during propagation because they use different DNS resolvers. Your ISP in Indonesia might use a resolver that cached your old record and has a long TTL. Someone in the Netherlands using Cloudflare's 1.1.1.1 might have already picked up the new record.
You can bypass your own ISP's DNS resolver temporarily by switching your computer's DNS settings to use Google's DNS (8.8.8.8) or Cloudflare's DNS (1.1.1.1). These public resolvers tend to propagate changes faster than many ISP resolvers.
You can also clear your browser's DNS cache. In Chrome, type chrome://net-internals/#dns in the address bar and click Clear host cache.
Summary
DNS propagation is not a problem — it is simply how the distributed DNS system works. The key takeaways are:
- Lower your TTL 24–48 hours before planned DNS changes
- Use whatsmydns.net to monitor propagation progress worldwide
- Switch your device DNS to 8.8.8.8 or 1.1.1.1 to see updated records sooner
- Expect 1–4 hours for most changes, up to 48 hours for nameserver changes
- Never change nameservers without first copying all your existing DNS records