TTL and DNS propagation
DNS does not "propagate" like a broadcast. Resolvers simply keep the old answer until its time is up.
TTL
Every record has a TTL, a time to live in seconds. RFC 1035 defines it as the time interval that the record may be cached before it should be discarded, and says that zero means the record can be used only for the transaction in progress. A resolver that has your old record will keep giving it out until its TTL runs out. The DNS lookup tool shows the TTL of every answer. Because resolvers count down from the moment they got the answer, a second lookup may show a smaller number.
Negative answers are kept too
RFC 2308 describes negative caching: the fact that a name or a record does not exist can also be remembered, for a time taken from the SOA record. So if you look a record up before you create it, a resolver may keep saying "no such record" for a while after you add it.
How long to wait
GitHub's documentation for custom domains says DNS changes can take up to 24 hours to propagate. That is an upper bound, and most changes show within minutes to hours.
Plan a change
- Lower the TTL first (for example to 300 seconds) a day before a planned move, so that old answers expire quickly.
- Make the change.
- Check with the lookup tool, using both resolvers, and with
nslookup name 1.1.1.1from a command line. - Raise the TTL again afterwards to reduce the load on your DNS.
Common mistakes
- Testing with a browser that has its own DNS cache. Close and reopen it, or use another device.
- Changing records at a provider that is not the one named in the NS records. Check with the lookup tool which name servers are in charge.
Is there a way to force everyone to update?
No. You can only lower the TTL ahead of time.
Does the lookup tool show the live record?
It shows what the chosen resolver has now, which is the same as what its users see.
Sources
- RFC 1035 (rfc-editor.org/rfc/rfc1035), the TTL field
- RFC 2308: Negative caching of DNS queries (rfc-editor.org/rfc/rfc2308)
- GitHub Docs: Managing a custom domain for your GitHub Pages site (docs.github.com)
Read on 14 November 2026.
This is an independent guide. It is not connected with Cloudflare, Google, ICANN, IANA, GitHub or any registry named here. Facts were read on 14 November 2026 from the documents named on each page. Lookups are made from your browser to the services named in the result.