# DefaultTTL

DefaultTTL sets the TTL for all subsequent records following it in a domain that do not explicitly set one with [`TTL`](https://docs.dnscontrol.org/~/revisions/T4Wre387kGCjR4Bh4mfN/language-reference/record-modifiers/ttl). If neither `DefaultTTL` or `TTL` exist for a record, the record will inherit the DNSControl global internal default of 300 seconds. See also [`DEFAULTS`](https://docs.dnscontrol.org/~/revisions/T4Wre387kGCjR4Bh4mfN/language-reference/top-level-functions/defaults) to override the internal defaults.

NS records are currently a special case, and do not inherit from `DefaultTTL`. See [`NAMESERVER_TTL`](https://docs.dnscontrol.org/~/revisions/T4Wre387kGCjR4Bh4mfN/language-reference/domain-modifiers/nameserver_ttl) to set a default TTL for all NS records.

{% code title="dnsconfig.js" %}

```javascript
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
  DefaultTTL("4h"),
  A("@","1.2.3.4"), // uses default
  A("foo", "2.3.4.5", TTL(600)) // overrides default
);
```

{% endcode %}

The DefaultTTL duration is the same format as [`TTL`](https://docs.dnscontrol.org/~/revisions/T4Wre387kGCjR4Bh4mfN/language-reference/record-modifiers/ttl), an integer number of seconds or a string with a unit such as `"4d"`.
