---
title: "DNS TTL: what it is and why propagation is just cache expiring | StreetHosting"
description: "Learn what a DNS record TTL is, why propagation is really cache expiring on resolvers, how to lower the TTL before migrating and how to check it with dig."
url: "https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained"
type: "page"
language: "en-US"
---

Infrastructure · 7 min · Intermediate

Published on Nov 13, 2026 · Updated on Nov 13, 2026

# DNS TTL and propagation: why a change takes time and how to control it

When you change a domain's IP, nothing spreads across the internet. Each resolver keeps the old answer until the TTL runs out. Whoever lowers the TTL before the migration controls how long that window lasts.

By [Equipe StreetHosting](https://streethosting.com.br/en/autores#equipe-streethosting) · StreetHosting infrastructure and support team

[Network, DNS and domains](https://streethosting.com.br/en/guides/topics/networking) [Migration](https://streethosting.com.br/en/guides/topics/migration) [Getting started](https://streethosting.com.br/en/guides/topics/getting-started)

Summarize with:

[](https://chat.openai.com/?q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fdns-ttl-propagation-explained.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "ChatGPT") [](https://claude.ai/new?q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fdns-ttl-propagation-explained.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Claude") [](https://www.google.com/search?udm=50&aep=11&q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fdns-ttl-propagation-explained.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Google AI Mode") [](https://x.com/i/grok?text=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fdns-ttl-propagation-explained.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Grok") [](https://www.perplexity.ai/search/new?q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fdns-ttl-propagation-explained.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Perplexity")

Share:

[](https://x.com/intent/tweet?text=DNS%20TTL%3A%20what%20it%20is%20and%20why%20propagation%20is%20just%20cache%20expiring&url=https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fdns-ttl-propagation-explained "Share on X") [](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fdns-ttl-propagation-explained "Share on Facebook") [](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fdns-ttl-propagation-explained "Share on LinkedIn") [](https://wa.me/?text=DNS%20TTL%3A%20what%20it%20is%20and%20why%20propagation%20is%20just%20cache%20expiring%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Finfrastructure%2Fdns-ttl-propagation-explained "Share on WhatsApp")

For agents: Copy as Markdown [.md](https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained.md)

In this guide 7 sections

* [What TTL is](https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained#o-que-e-ttl)
* [Propagation is cache expiring](https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained#propagacao)
* [Lowering the TTL before migrating](https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained#baixar-ttl)
* [Checking with dig, nslookup and PowerShell](https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained#consultar)
* [System and browser cache](https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained#caches-locais)
* [Negative TTL](https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained#ttl-negativo)
* [When migrating to a VPS](https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained#onde-rodar)

Quick answer

**TTL**(Time To Live) is the number of seconds a DNS resolver may keep a record's answer before asking the nameserver again. What people call DNS propagation is not a change traveling across the internet: it is the sum of old caches expiring on each resolver. To migrate without pain, lower the record's TTL to 300 seconds, wait for the old TTL to pass, switch the IP and check with `dig`, `nslookup` or `Resolve-DnsName`.

## What TTL is[](https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained#o-que-e-ttl)

Every DNS record has a TTL, in seconds, set by whoever manages the zone. It tells whoever receives the answer how long it can be reused without asking again. An A record with TTL 3600 can be kept for one hour. This exists so DNS can handle the scale of the internet: without cache, every visit to a website would require a query that reaches all the way to the domain's nameserver.

Caching happens in layers. When you open a website, the browser checks its own cache, then the operating system, then the resolver your network configured (your provider's, your router's or a public one such as 1.1.1.1). Only if none of them has a valid answer does the query continue to the domain's authoritative nameserver. Every layer respects the TTL, and the TTL a resolver returns on repeated queries keeps counting down to zero.

| TTL   | Equals    | When it makes sense                             |
| ----- | --------- | ----------------------------------------------- |
| 60    | 1 minute  | Automatic failover, tests, short switch windows |
| 300   | 5 minutes | Migration preparation, services that change IP  |
| 3600  | 1 hour    | A common, balanced value for websites           |
| 14400 | 4 hours   | Records that almost never change                |
| 86400 | 1 day     | Stable records, such as MX and verification TXT |

## Propagation is cache expiring[](https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained#propagacao)

When you change a record in the DNS panel, the authoritative nameserver starts answering with the new value immediately. Nothing is pushed to the rest of the world. What happens is that resolvers that already had the old answer keep serving it until its TTL runs out. When it does, the next query fetches the new value.

That is why the same change can look done to one person and broken to another. Each resolver stored the answer at a different moment, so each one expires at a different moment. The maximum wait is the TTL the record had before the change.

Changing a domain's nameservers at the registrar (the NS records) is a different case. That information lives in the top level domain's zone, and its TTL is usually 1 to 2 days, set by whoever runs that extension and not by you. If the migration involves changing nameservers, plan for more slack.

Some provider resolvers also enforce their own minimum or ignore very low TTLs. A TTL of 60 seconds does not guarantee that everyone will respect 60 seconds, but it usually gives a much smaller window than a TTL of hours.

## Lowering the TTL before migrating[](https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained#baixar-ttl)

The trick is to prepare the ground. The TTL that counts is the one on the record at the moment each resolver stored the answer, so lowering the TTL at switch time does not help. The steps:

1. **Note the current TTL** of the records that will change (A, AAAA and CNAME for the domain and for www). That number is your waiting time.
2. **Lower the TTL to 300** on those records, without changing the IP yet.
3. **Wait for the old TTL to pass.** If it was 86400, that is 24 hours. Only after that is every resolver working with the short value.
4. **Bring up the new server and test**without touching DNS, for example by pointing the domain to the new IP in your computer's hosts file.
5. **Switch the IP.** Within 5 minutes almost everyone will be on the new server. Keep the old server up for a while.
6. **Raise the TTL again** to 3600 or more, once everything is stable.

The full migration plan, with database, certificates and verification, is in the guide on [how to migrate a server without downtime](https://streethosting.com.br/en/guides/infrastructure/migrate-server-without-downtime), and creating the records from scratch is in [pointing a domain to your VPS](https://streethosting.com.br/en/guides/vps/point-domain-to-vps).

## Checking with dig, nslookup and PowerShell[](https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained#consultar)

To know what each side sees, query the authoritative nameserver and a public resolver separately. The difference between the two shows what is still cached.

`# Linux or macOS: answer and TTL coming from the public resolver dig +noall +answer exemplo.com.br A @1.1.1.1 # which nameservers the domain uses dig +short exemplo.com.br NS # ask the authoritative server directly (no cache) dig +noall +answer exemplo.com.br A @ns1.seuprovedor.com # Windows (Command Prompt) nslookup -type=A exemplo.com.br 1.1.1.1 # Windows (PowerShell): shows the TTL column Resolve-DnsName exemplo.com.br -Type A -Server 1.1.1.1 -DnsOnly`

In `dig` output, the second field of each answer line is the TTL still remaining. Run the same command twice a few seconds apart: if the number drops, the answer came from cache and is counting down. When you query the authoritative server, the value is always the full TTL, because it does not cache its own zone. `Resolve-DnsName` shows the same information in the TTL column.

To compare regions, query several public resolvers in sequence (1.1.1.1, 8.8.8.8, 9.9.9.9). If all of them return the new IP, most of the internet is already updated. What is left is provider cache, router cache or your own computer. Since those public addresses are [anycast](https://streethosting.com.br/en/guides/infrastructure/what-is-anycast), each person talks to a different point, which is why an online test result is never a snapshot of the whole world.

## System and browser cache[](https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained#caches-locais)

Even with the resolver updated, your computer may keep showing the old IP. The operating system and the browser store their own answers. The commands to flush them:

`# Windows (Command Prompt as administrator) ipconfig /flushdns # Windows (PowerShell) Clear-DnsClientCache # Linux with systemd-resolved (Ubuntu 24.04) resolvectl flush-caches # macOS sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder`

* **Browser:** Chrome and other browsers based on it have their own DNS cache, which can be cleared at `chrome://net-internals/#dns`. Closing and reopening the browser completely also works.
* **Hosts file:** if the domain still shows the old IP after everything is flushed, check the `/etc/hosts` file on Linux and macOS or `C:\Windows\System32\drivers\etc\hosts` on Windows. It applies before any DNS query, and it is common to forget a test line there.
* **Router and provider:**some home routers have their own cache. Restarting the router or switching the computer's DNS to a public resolver helps rule that layer out.

## Negative TTL[](https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained#ttl-negativo)

Resolvers also cache negative answers: an NXDOMAIN, which says the name does not exist, or an empty answer, which says the name exists but has no record of that type. This negative cache has its own lifetime, defined by the zone's SOA record. In practice the smaller of the SOA's own TTL and its minimum field applies.

The classic scenario: you create a new subdomain, such as `painel.exemplo.com.br`, but someone (or you, while testing) had already queried that name before it existed. The result: the resolver remembers that the name did not exist and keeps answering that for a while, even with the record already created. The way out is to wait for the negative TTL to pass, query another resolver or flush the local cache. To avoid it, create the record before you start testing the address.

`# zone SOA: the last number is the minimum field; the negative TTL # is the smaller value between it and the SOA's own TTL dig +noall +answer exemplo.com.br SOA`

## When migrating to a VPS[](https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained#onde-rodar)

TTL control is yours, in the domain's DNS panel, and it applies to any hosting provider. What hosting gives you is the new IP and the speed to have the server ready before switching DNS. On [StreetHosting VPS](https://streethosting.com.br/en/vps), activated about 60 seconds after Pix or card approval, you can bring up the new server, test it through the hosts file and only then switch the record, with the TTL already lowered.

Each VPS has a dedicated IPv4, so the IP you put in the A record does not change on its own over time. All of them are in São Paulo, with root access and AntiDDoS included.

In this guide

* [What TTL is](https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained#o-que-e-ttl)
* [Propagation is cache expiring](https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained#propagacao)
* [Lowering the TTL before migrating](https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained#baixar-ttl)
* [Checking with dig, nslookup and PowerShell](https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained#consultar)
* [System and browser cache](https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained#caches-locais)
* [Negative TTL](https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained#ttl-negativo)
* [When migrating to a VPS](https://streethosting.com.br/en/guides/infrastructure/dns-ttl-propagation-explained#onde-rodar)

## Frequently asked questions

How long does DNS propagation take?

At most the TTL the record had before the change, counted from the last time each resolver queried it. If the old TTL was 3600, within an hour most resolvers will have picked up the new value. When changing nameservers at the domain registrar, the wait can reach a day or two.

Which TTL should I use?

For a stable record, something between 3600 and 86400 seconds cuts queries and works well. Before a migration, lower it to 300 and wait for the old TTL to pass. Once everything is stable, raise it again.

Why does my domain open on my phone but not on my computer?

Almost always they are different caches. The computer may hold the old answer in the system cache, in the browser or in the provider's resolver, while the phone uses another path. Flush the system cache and check with dig or nslookup pointing at a public resolver.

Does lowering the TTL speed up propagation?

Only for future changes. A resolver that already stored the old answer keeps it until the end of the TTL that came with it. That is why the TTL has to be lowered in advance, at least as long as the old TTL before the switch.

What is negative TTL?

It is how long a resolver keeps the answer saying that a name does not exist. If someone queried the domain or subdomain before you created the record, that negative answer can stay cached and delay the new record. The value comes from the zone's SOA record.

Next step

See VPS plans

Root VPS in Brazil with NVMe and Anti-DDoS.

[See VPS plans](https://streethosting.com.br/en/vps)

## Related guides

[VPS Beginner How to point a domain to a VPS: A, AAAA and CNAME records Your site is on the VPS, but people can only reach it by IP. DNS fixes that: an A record ties the domain to the server. Learn when to use AAAA and CNAME, how TTL controls propagation, how to test with dig and what the Cloudflare proxy does not do. 9 min Read guide](https://streethosting.com.br/en/guides/vps/point-domain-to-vps) [Infrastructure Advanced How to migrate a server to another provider with no downtime Switching hosts is scary because you might lose data or go offline. With preparation, testing and DNS under your control, the cutover happens with minimal interruption for your users. 3 min Read guide](https://streethosting.com.br/en/guides/infrastructure/migrate-server-without-downtime) [Infrastructure Intermediate What is reverse DNS (PTR) and why your server needs it Regular DNS turns a name into an IP; reverse DNS goes the other way, through the PTR record. See who controls that record, why it weighs so heavily on email delivery, how to look it up and how to request the PTR for your server. 11 min Read guide](https://streethosting.com.br/en/guides/infrastructure/what-is-reverse-dns)

[← Back to the Guide Center](https://streethosting.com.br/en/guides)
