DNS Zone File Validator

Paste your BIND-format DNS zone file to validate its syntax and detect common configuration errors before deploying to a nameserver.

Frequently Asked Questions

What is a DNS zone file?

A DNS zone file is a text file in BIND format (RFC 1035) that contains all the DNS records for a domain. It starts with an SOA record defining the zone's properties, followed by NS records, and then all other record types (A, AAAA, MX, TXT, CNAME, etc.). Zone files are used by authoritative DNS servers to answer queries. They are also used when migrating DNS between providers — export from one, import to another.

What is $ORIGIN in a zone file?

$ORIGIN sets the base domain name used to complete relative (non-fully-qualified) hostnames in the zone file. For example, if $ORIGIN is set to example.com., then a record for www refers to www.example.com. Fully-qualified domain names end with a dot (example.com.) to indicate they are absolute; names without a trailing dot are relative to $ORIGIN. Forgetting the trailing dot is a common source of zone file errors.

What are the most common zone file mistakes?

The most common zone file errors include: missing trailing dots on fully-qualified domain names (causing them to be treated as relative); incorrect SOA serial number format; missing or duplicate SOA records; MX records pointing to IP addresses instead of hostnames; CNAME records at the zone apex; mismatched parentheses in multi-line SOA records; and incorrect TTL formats. A zone file validator checks for these issues before you deploy changes.

What is $TTL in a zone file?

$TTL sets the default Time to Live for all records in the zone file that do not have an explicit TTL. It appears near the top of the file, before the SOA record. Records can override the default by specifying their own TTL value inline. For example, 3600 IN A 203.0.113.1 uses the $TTL default, while 300 IN A 203.0.113.1 overrides it to 300 seconds regardless of $TTL.