DNS Propagation: Why Your Domain Takes Time to Activate

You just added your custom domain to Jottings. You've set the DNS records. You hit refresh on your browser.

Nothing.

Welcome to DNS propagation—one of the internet's most mysterious and frustrating concepts. After nearly a decade of building products on the internet, I still find myself waiting for DNS changes to take effect, refreshing my browser, then forgetting about it for 20 minutes. In this post, I'll explain why it takes time, what's actually happening behind the scenes, and how to know when it's finally live.

What Is DNS Propagation?

DNS propagation is the time it takes for your DNS record changes to spread across all the nameservers on the internet. When you add a custom domain to Jottings, we create DNS records that tell the internet where your site lives. But those records don't magically update everywhere at once—they get cached by thousands of servers worldwide, and those caches have to expire before your new records take effect.

Think of it like printing a new phone book. If everyone in the world has a printed copy from last week, and you update the central database today, not everyone will have the new information until their copy expires and they request a fresh one.

The Role of TTL: The Expiration Timer

The culprit here is something called TTL (Time To Live). Every DNS record has a TTL value—a number (in seconds) that tells DNS caches: "Keep this record for this long, then forget it and ask the original source again."

For example:

  • TTL of 300 seconds = caches expire in 5 minutes
  • TTL of 3600 seconds = caches expire in 1 hour
  • TTL of 86,400 seconds = caches expire in 24 hours

Here's the problem: if your DNS record had a TTL of 24 hours before you made the change, caches worldwide will keep serving the old record for up to 24 hours after your update. That's why some people report waiting a full day for changes to take effect.

Multiple Layers of Caching

There's another reason DNS propagation feels slow: there's not just one cache—there are dozens.

Your DNS query travels through several layers before reaching your site:

  1. Your browser cache - Stores recent lookups
  2. Your operating system cache - Windows or macOS caches DNS results
  3. Your router cache - Your home WiFi router caches queries
  4. Your ISP's resolvers - Your internet service provider caches results (sometimes ignoring TTL!)
  5. Public DNS resolvers - Google's 8.8.8.8, Cloudflare's 1.1.1.1, etc.
  6. Authoritative nameservers - The actual source of truth

Every single one of these caches needs to expire before you see the new record. If even one of them is hanging onto the old data, you'll still see the old result. This is why different people in different locations might see different results for the same domain at the same time.

Typical Timelines: What to Expect

At Jottings, our custom domain feature usually works like this:

  • DNS propagation: 5-60 minutes (typical), up to 24 hours in extreme cases
  • SSL certificate issuance: 5-15 minutes after DNS validation completes

In my experience, most of the time it's closer to 5-15 minutes. But I've also had changes take 3 hours because an ISP was aggressively caching old records. The real world is messier than the theory.

Why the wide range? It depends on:

  • Your TTL values (lower is faster)
  • Your ISP's caching policies (some ignore TTL entirely)
  • When was the last time anyone requested that domain
  • Whether your nameserver is slow to respond

How to Check if Your Domain Has Propagated

Here are three ways to check if your DNS changes have actually taken effect:

1. Use a DNS Propagation Checker (Easiest)

Visit whatsmydns.net and enter your domain. It queries DNS servers from around the world and shows you the status. This is the fastest way to know if propagation is complete.

2. Use the dig Command (Most Reliable)

If you're comfortable with the terminal, use dig:

dig yourdomain.com

# Look for the CNAME or A record that points to your site
# If you see your new record, it's propagated for that server

For Jottings custom domains, you're looking for a CNAME record pointing to jottings.me.

3. Use nslookup

A simpler alternative if you prefer:

nslookup yourdomain.com

This will show you what IP address (or CNAME) the system is currently resolving your domain to.

Why You Can't Speed It Up (Really)

I get asked this all the time: "Can I just flush my DNS cache?"

You can clear your local caches (your browser, OS, router), and you should if you want to see the result faster on your machine. But you can't force the entire internet to refresh. There's no master clock coordinating DNS updates. Each server operates independently.

The one thing that does help is to lower your TTL value before you make the change:

  • A few days before switching your domain: Set TTL to 300 seconds (5 minutes)
  • After the change is live: Set TTL back to 86,400 seconds (24 hours)

This means new caches expire much faster. But you have to plan ahead—lowering the TTL after you've already made the change does nothing.

The technical reason you can't speed this up is fundamental to how DNS works. The whole system is built on the principle that caching is okay, even if it's slightly stale. This trade-off makes DNS much faster for the vast majority of lookups. The 5-60 minutes you wait is the price of that speed.

What This Means in Practice

When you add a custom domain to Jottings:

  1. We set up the DNS records on Cloudflare's nameservers
  2. We give you the CNAME record to add to your domain registrar
  3. You add it
  4. Wait 5-60 minutes while caches expire globally
  5. We automatically check Cloudflare's API for verification
  6. Once verified, your SSL certificate is issued
  7. Your site is live at your custom domain

During that waiting period, your site is already live for people who've never visited your domain before (no cached records to expire). But for people who looked it up recently and got the old record cached, they'll need to wait for their cache to expire.

My advice? Add your DNS records, set a timer for 15 minutes, do something else, and come back. Odds are it'll be live by then. And if it's not, check whatsmydns.net—there's a small chance your ISP is being stubborn, but even they usually catch up within an hour.

The Bottom Line

DNS propagation isn't actually slow—it's a fundamental feature of how the internet works. Caching makes DNS incredibly fast and efficient. The 5-60 minute wait is just the occasional reminder that we're relying on millions of distributed servers that don't talk to each other in real time.

Next time you're waiting for your domain to go live, remember: every second of delay is buying you milliseconds of speed for every other DNS query you make. That's a trade-off I'm willing to make.


Have a custom domain that's still not working after an hour? Reach out to us—we're happy to help debug it. And if you haven't tried Jottings yet, we handle all of this for you automatically. Start your microblog today.