---
name: "ldns-read-zone"
section: "1"
platform: "linux"
package: "ldns"
version: "1.9.2-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/ldns-read-zone"
---

# ldns-read-zone(1)

read a zonefile and print it

## NAME

ldns-read-zone - read a zonefile and print it

## SYNOPSIS

**ldns-read-zone** *ZONEFILE*

## DESCRIPTION

**ldns-read-zone** reads a DNS zone file and prints it. The output has 1 resource record per line, and no pretty-printing makeup.

## OPTIONS

- **-0**

  Print a (null) for the RRSIG inception, expiry and key data. This option can be used when comparing different signing systems that use the same DNSKEYs for signing but would have a slightly different timings/jitter.

- **-b**

  Include Bubble Babble encoding of DS's.

- **-c**

  Canonicalize all resource records in the zone before printing

- **-d**

  Only print DNSSEC data from the zone. This option skips every record that is not of type NSEC, NSEC3 or RRSIG. DNSKEY and DS records are not printed.

- **-e** *RR type*

  Do not print RRs of the given *rr type*. This option may be given multiple times. **-e** is not meant to be used together with **-E**.

- **-E** *RR type*

  Print only RRs of the given *rr type*. This option may be given multiple times. **-E** is not meant to be used together with **-e**.

- **-h**

  Show usage and exit

- **-n**

  Do not print the SOA record

- **-p**

  Pad the SOA serial number with spaces so the number and the spaces together take ten characters. This is useful for in file serial number increments.

- **-s**

  Strip DNSSEC data from the zone. This option skips every record that is of type NSEC, NSEC3 or RRSIG. DNSKEY and DS records are still printed.

- **-S** *\[\[+\|0\]number \| YYYYMMDDxx \| unixtime \]*

  Set serial number to the given *number*, or when preceded by a sign, offset the existing number with it. When giving the literal strings *YYYYMMDDxx* or *unixtime*, the serial number is tried to be reset in datecounter or in unixtime format respectively. Though is the updated serial number is smaller than the original one, the original one is simply increased by one.

  When updating a serial number, records of type NSEC, NSEC3, RRSIG and DNSKEY will be skipped when printing the zone.

- **-u** *RR type*

  Mark *RR type* for printing in unknown type format.

  **-u** is not meant to be used together with **-U**.

- **-U** *RR type*

  Mark *RR type* for **not** printing in unknown type format.

  The first occurrence of the **-U** option marks all RR types for printing in unknown type format except for the given *RR type*. Subsequent **-U** options will clear the mark for those *RR type*s too, so that only the given *RR type*s will be printed in the presentation  format specific for those *RR type*s.

  **-U** is not meant to be used together with **-u**.

- **-v**

  Show the version and exit

- **-z**

  Sort the zone before printing (this implies -c)

## AUTHOR

Written by the ldns team as an example for ldns usage.

## REPORTING BUGS

Report bugs to \<dns-team@nlnetlabs.nl\>.

## COPYRIGHT

Copyright (C) 2005 NLnet Labs. This is free software. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
