deftools.io Domain & Network

DNS Record Composer

Build DNS zone files visually — compose A, AAAA, CNAME, MX, TXT, and SRV records with RFC validation and export to BIND, Route53, or Cloudflare

No records yet. Add one above to start building your zone.
Export:

About this tool

The DNS Record Composer is a visual builder for DNS zone data. Add A, AAAA, CNAME, MX, TXT, and SRV records with real-time RFC validation — each field checks for valid IPs, properly formatted hostnames, MX priority ranges, and SRV port numbers.

Example: set the zone to example.com, add an A record with name @ and value 93.184.215.14, then add an MX record with name @, priority 10, and value mail.example.com. Export to BIND format and you get a complete zone file ready for named.

Export formats: BIND (standard zone file with $ORIGIN and $TTL), Route53 (JSON ResourceRecordSets array for the AWS CLI or CloudFormation), Cloudflare (JSON as expected by the Cloudflare API POST /zones/:id/dns_records), and Terraform (HCL cloudflare_record resources). Use the copy button to grab the output.

FAQ

What does the "@" symbol mean in a record name?

It is shorthand for the zone apex (the domain itself). When your zone is example.com, "@" means the record applies to example.com directly, without any subdomain prefix. In a BIND zone file the @ expands to $ORIGIN.

Why does the MX record need a priority number?

Mail eXchanger priority tells sending mail servers which server to try first. Lower numbers have higher priority — mail is delivered to the server with priority 10 before the one with priority 20. The priority must be an integer between 0 and 65535.

What is the difference between the export formats?

BIND format is the standard zone file used by ISC BIND (named). Route53 JSON matches the AWS ResourceRecordSet schema. Cloudflare JSON matches the Cloudflare DNS API. Terraform HCL uses the cloudflare provider. Pick the one that matches your DNS infrastructure — the data is the same.

Can I have a CNAME at the zone apex (@)?

RFC 1912 and RFC 1034 forbid a CNAME at the zone apex because the apex must have SOA and NS records, and a CNAME cannot coexist with other records. The composer flags this as a validation error — consider using an ALIAS/ANAME record instead (supported by Cloudflare and Route53, though not RFC standard).

Related domain & network tools

Copied!