DNS

DNS Zone Parser

Inspect a supported BIND zone text subset

IP & Routing
🔒 100% client-side — your data never leaves this page
Maintained by Evan•Updated: September 30, 2026

Parse a common BIND text subset: $ORIGIN, $TTL, omitted owners, TTL units and A/AAAA/NS/CNAME/PTR/MX/SRV/SOA/TXT/CAA. CH/HS supports TXT only. No $INCLUDE/$GENERATE expansion, whole-zone validation or DNS queries. Limit: 1 MiB and 10,000 records. Without $TTL, a previous explicit TTL can be inherited; legacy SOA-minimum fallback is not implemented. Relative names inside RDATA keep their original spelling.

This tool processes input in the page, does not request embedded addresses, and does not save input drafts. Site analytics records actions and summary information only.

Page reading mode

The full guide also includes pitfalls, worked examples, snippets, FAQs, and related tools for checking results or troubleshooting.

About this tool

Parse a common BIND text subset into a record table and CSV. Supported types are A, AAAA, NS, CNAME, PTR, MX, SRV, SOA, TXT and CAA; CH/HS classes support TXT only. The parser handles $ORIGIN, $TTL, leading-whitespace owner inheritance, TTL units and escaped quoted strings. TTLs are shown in seconds; without $TTL a previous explicit TTL can be inherited, but legacy SOA-minimum fallback is not implemented. Original RDATA spelling is retained with field whitespace normalized, including relative names within RDATA. $INCLUDE, $GENERATE and other unsupported syntax are rejected. Limits are 1 MiB and 10,000 records. This does not validate a complete authoritative zone, DNSSEC, propagation or resolver answers. Inputs are processed in the page without DNS requests or saved input drafts; site analytics records actions and summary information.

Failure Clinic (Common Pitfalls)

Expecting an included file or generated records to appear

Cause: $INCLUDE and $GENERATE require behavior beyond this local parser’s supported subset.

Fix: Supply the expanded records, or run your DNS server’s zone-checking tools. The parser rejects unsupported directives explicitly.

Treating a parsed table as a DNS deployment approval

Cause: Record syntax checks do not establish authoritative-zone consistency, propagation, delegation or DNSSEC validity.

Fix: Review the exported data, then validate the complete configuration with the software that will serve it.

Scenario Recipes

01

Check owners and TTLs before comparing two exports

Goal: Turn a supported zone fragment into a table without losing owner, class or quoted TXT data.

  1. Set $ORIGIN and $TTL in the input, or enter an initial origin when the fragment needs one.
  2. Parse and compare the resolved Host, TTL in seconds, Class and original RDATA presentation.
  3. Copy/download CSV for a record comparison. Use your authoritative DNS software for complete-zone validation before publishing.

Result: A table of supported records with original source line numbers; relative names inside RDATA remain as written.

Production Snippets

A record owner can itself be named A

text

$ORIGIN example.test.
$TTL 1h
A 30m IN A 192.0.2.1
    IN AAAA 2001:db8::1
@ IN TXT "literal (parentheses); kept"

Owners: A.example.test., A.example.test., example.test.
TTLs: 1800, 3600, 3600 seconds.
The leading whitespace on the AAAA line reuses the previous owner.

Frequently Asked Questions

Does this validate a complete BIND zone?

No. It parses and checks the documented record subset. Use the DNS server’s own checker for full-zone consistency, includes, generated records and deployment validation.

How are omitted owners and relative origins handled?

A record starting with whitespace inherits the previous fully resolved owner. A relative $ORIGIN is appended to the current origin; an initial origin field is resolved relative to the DNS root.

How are TTLs and classes exported?

TTL values and w/d/h/m/s units become seconds. The default from $TTL takes precedence over inherited previous explicit TTLs. Class is preserved, including CH/HS TXT; unsupported class/type combinations fail.

Are TXT quotes and parentheses preserved?

Yes. Escapes, semicolons and parentheses inside quoted strings stay in RDATA. Comments and grouping parentheses outside quotes are syntax, and field whitespace is normalized.

Can I use the CSV as a provider import file?

The CSV is a review table with source lines, not a provider-specific import format. Relative names in RDATA remain as entered; verify the target provider’s required columns and normalization.

Is the input stored or sent to DNS servers?

This parser does not save input drafts or query DNS servers. Site analytics records actions and counts, without the zone text or origin.

Keep browsing