
Security News
CVE Volume Surges Past 48,000 in 2025 as WordPress Plugin Ecosystem Drives Growth
CVE disclosures hit a record 48,185 in 2025, driven largely by vulnerabilities in third-party WordPress plugins.
Generic DNS zone file parser and stringifier
All current and future record types are supported as the module makes no effort to parse a record's content. It is highly configurable and has no dependencies.
npm i dnsz
import {parseZone, stringifyZone} from "dnsz";
const data = parseZone("example.com 60 IN A 1.2.3.4");
// => {records: [{name: "example.com", ttl: 60, class: "IN", type: "A", content: "1.2.3.4"}]}
stringifyZone(data);
// => ";; A Records\nexample.com.\t60\tIN\tA\t1.2.3.4\n"
Parse a string of a DNS zone file and returns a data object.
opts.replaceOrigin string: When specified, replaces any @ in name or content with it. Default: null.opts.crlf boolean: When true, emit \r\n instead of \n in header. Default: false.opts.defaultTTL number: Default TTL when absent and $TTL is not present. Default: 60.opts.defaultClass string: Default class when absent. Default: "IN".opts.dots boolean: Ensure trailing dots on FQDNs in content. Supports a limited amount of record types. Default: false.Parse a data object and return a string with the zone file contents.
opts.sections boolean: Whether to group records into sections. Default: true.opts.crlf boolean: When true, emit \r\n instead of \n for the resulting zone file. Default: false.opts.dots boolean: Ensure trailing dots on FQDNs in content. Supports a limited amount of record types. Default: false.data objectrecords: Array of record with these props:
name: The lowercase DNS name without a trailing dot, e.g. "example.com".ttl: The TTL in seconds, e.g. 60.class: The DNS class, e.g. "IN".type: The record type, e.g. "A".content: The record content, e.g. "2001:db8::1" or "example.com.".comment: A comment, e.g. "a comment", null if absent.origin: The value of $ORIGIN in the zone file.ttl: The value of $TTL in the zone file.header: An optional header at the start of the file. Can be multiline. Does not include comment markers.If data.origin is specified, the following things happen in the zone file output:
$ORIGIN variable is added.data.origin within content are replaced with @.data.origin matches the name of a record, name is replaced with @.$ORIGIN originzone.com.
;; SOA Records
@ 3600 IN SOA originzone.com. root.originzone.com. 2031242781 7200 3600 86400 3600
;; A Records
@ 60 IN A 1.2.3.4 ; a comment
mx 60 IN A 1.2.3.4 ; another comment
;; AAAA Records
@ 120 IN AAAA 2001:db8::1
mx 120 IN AAAA 2001:db8::1
{
"origin": "originzone.com",
"records": [
{
"name": "originzone.com",
"ttl": 3600,
"class": "IN",
"type": "SOA",
"content": "originzone.com. root.originzone.com. 2031242781 7200 3600 86400 3600",
"comment": null
},
{
"name": "originzone.com",
"ttl": 60,
"class": "IN",
"type": "A",
"content": "1.2.3.4",
"comment": "a comment"
},
{
"name": "mx",
"ttl": 60,
"class": "IN",
"type": "A",
"content": "1.2.3.4",
"comment": "another comment"
},
{
"name": "originzone.com",
"ttl": 120,
"class": "IN",
"type": "AAAA",
"content": "2001:db8::1",
"comment": null
},
{
"name": "mx",
"ttl": 120,
"class": "IN",
"type": "AAAA",
"content": "2001:db8::1",
"comment": null
}
]
}
© silverwind, distributed under BSD licence
FAQs
Generic DNS zone file parser and stringifier
We found that dnsz demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
CVE disclosures hit a record 48,185 in 2025, driven largely by vulnerabilities in third-party WordPress plugins.

Security News
Socket CEO Feross Aboukhadijeh joins Insecure Agents to discuss CVE remediation and why supply chain attacks require a different security approach.

Security News
Tailwind Labs laid off 75% of its engineering team after revenue dropped 80%, as LLMs redirect traffic away from documentation where developers discover paid products.