You've just updated a DNS record and immediately tested it. Your phone shows the new IP. Your colleague in another city is still hitting the old server. A third person reports it's working. This inconsistency has a name: propagation, and it's a fundamental property of how DNS works - not a bug or a delay on anyone's part.

The resolver chain

DNS is a hierarchy of caches. Your device asks a recursive resolver. That resolver has its own cache. If the answer is cached and the TTL hasn't expired, it returns the cached answer without asking Cloudflare at all. The old answer persists until every resolver that cached it reaches its TTL expiry.

Resolvers worldwide cached your record at different times. Some cached it two minutes ago; others cached it 23 hours ago. They all expire at different moments. That's why propagation looks inconsistent - it literally is, until every cache in the world has refreshed.

"Propagation" is a misnomer

Nothing is actively being pushed out. You're waiting for caches to expire, not for a wave to travel around the globe. The old "propagation takes 24-48 hours" advice is outdated and usually wrong - with a modern CDN like Cloudflare and a short TTL, a change can be visible everywhere in under five minutes.

What you can control

Set a low TTL before making changes (see our TTL guide). Use 1.1.1.1 or 8.8.8.8 for testing - they tend to re-query quickly. Clear your local DNS cache: sudo systemd-resolve --flush-caches on Linux, or simply restart your browser.