📄 DNS Zone File Syntax Checker

Paste a BIND-style zone file to do a quick line-by-line sanity check: it flags lines with no recognized record type/directive, or a record type with no data. This is a basic syntax scan, not a full RFC 1035 zone-file parser — always test with your DNS provider before publishing.

What the scan checks, line by line

Everything runs in your browser; the zone is never uploaded. Each line is cut at the first ;, blank lines are skipped, and anything starting with $ is accepted as a directive. Otherwise the line must contain one of fourteen known types - A, AAAA, CNAME, MX, TXT, NS, SOA, CAA, SRV, PTR, NAPTR, DNSKEY, DS, TLSA - and at least one token after it. So it catches typos and truncated lines, not bad data:

@    IN  A     93.184.216.34    ; passes
www  IN  CNAM  example.com.     ; flagged: no recognized record type
@    IN  A                      ; flagged: type A has no data after it
@    IN  A     999.1.2.3        ; passes - the address is never validated

The fields, in order

A record line is owner name, optional TTL, class (nearly always IN), type, then the data. @ stands for the zone's own name, so @ IN A is the apex. A name with no trailing dot has the zone appended, which is why www becomes www.example.com. but example.com written without its dot becomes example.com.example.com. - the classic zone-file bug this scan cannot see.

A wrapped SOA record is flagged. The scan reads one line at a time, so the continuation lines inside ( ... ) look like lines with no record type. Put the SOA on one line to check it here.

Frequently asked questions

What does @ mean in a zone file?

The current origin - the zone's own name. In a zone for example.com, @ IN A 93.184.216.34 sets the address of example.com itself.

Why is my SOA record showing an error?

Almost always because it is split across several lines inside brackets. Each bracketed line on its own has no record type, so it is flagged. Join it into one line to test it, then re-wrap it for your provider.

Does a passing check mean the zone will load?

No. This is a sanity scan, not a parser. It does not verify IP addresses, trailing dots, serial numbers or duplicate names. Load it into your DNS provider or run named-checkzone before publishing.