DNS Zone File Generator
Create RFC-compliant DNS zone files with validation, templates, and export options.
What It Does
Generate complete DNS zone files for BIND, PowerDNS, or any RFC 1035-compliant nameserver. Includes:
- Visual editor for all record types (A, AAAA, MX, TXT, CNAME, etc.)
- Real-time syntax validation
- SOA record auto-generation with serial number management
- Templates for common setups (email, CDN, load balancer)
- Export to BIND format or JSON
Quick Start
- Go to DNS Zone Generator
- Enter your domain name (e.g., example.com)
- Choose a template or click "Add Record"
- Fill in record details (type, name, value, TTL)
- Click "Validate" to check syntax
- Export as BIND zone file or save to library
Supported Record Types
| Type | Use Case | Example |
|---|---|---|
| A | IPv4 address | @ IN A 192.0.2.1 |
| AAAA | IPv6 address | @ IN AAAA 2001:db8::1 |
| MX | Mail server | @ IN MX 10 mail.example.com. |
| TXT | SPF, DKIM, verification | @ IN TXT "v=spf1 include:_spf.google.com ~all" |
| CNAME | Alias | www IN CNAME example.com. |
| NS | Nameserver | @ IN NS ns1.example.com. |
| SRV | Service record | _sip._tcp IN SRV 10 60 5060 sipserver.example.com. |
| CAA | Certificate Authority | @ IN CAA 0 issue "letsencrypt.org" |
Templates
1. Basic Website
; Basic website setup
@ IN A 192.0.2.1
www IN CNAME @
@ IN MX 10 mail.example.com.
@ IN TXT "v=spf1 mx ~all"2. Email Server
@ IN MX 10 mail.example.com.
mail IN A 192.0.2.2
@ IN TXT "v=spf1 a mx ~all"
_dmarc IN TXT "v=DMARC1; p=quarantine; rua=mailto:[email protected]"3. CDN with Cloudflare
@ IN A 104.21.0.1
@ IN AAAA 2606:4700::1
www IN CNAME @
@ IN CAA 0 issue "letsencrypt.org"Validation Rules
The generator checks for:
- ★ SOA record presence (required)
- ★ Valid IP addresses (IPv4/IPv6 format)
- ★ FQDN format (ending with dot for absolute names)
- ★ MX priority values (0-65535)
- ★ TTL values (60-86400 seconds recommended)
- ★ CNAME conflicts (can't coexist with other records for same name)
- ★ SPF TXT record syntax (v=spf1 ...)
Best Practices
- ✅ Use TTL 300-600 during testing, 3600+ in production
- ✅ Always end absolute hostnames with a dot (mail.example.com.)
- ✅ Test zone file in staging nameserver before production
- ✅ Increment SOA serial number on every change
- ✅ Keep MX records pointing to A records, not CNAMEs
- ❌ Don't mix relative and absolute names (confusing)
- ❌ Don't set TTL < 60 seconds (causes excessive queries)
Export & Import
Export: Click "Export" → Choose format (BIND, JSON, CSV) → Download
Import: Click "Import" → Paste existing zone file → System parses and loads records
Save Template: After creating a config, click "Save as Template" for reuse on other domains.