A graphical overview of all active DNS record types

This is an overview of resource records (RRs) permissible in zone files of the Domain Name System (DNS). It also contains pseudo-RRs.

Resource records

TypeType id (decimal)Defining RFCDescriptionFunction
A1RFCAddress recordReturns a 32-bit IPv4 address, most commonly used to map hostnames to an IP address of the host, but it is also used for DNSBLs, storing subnet masks, etc.
AAAA28RFCIPv6 address recordReturns a 128-bit IPv6 address, most commonly used to map hostnames to an IP address of the host.
AFSDB18RFCAFS database recordLocation of database servers of an AFS cell. This record is commonly used by AFS clients to contact AFS cells outside their local domain. A subtype of this record is used by the obsolete DCE/DFS file system.
APL42RFCAddress Prefix ListSpecify lists of address ranges, e.g. in CIDR format, for various address families. Experimental.
CAA257RFCCertification Authority AuthorizationDNS Certification Authority Authorization, constraining acceptable CAs for a host/domain
CDNSKEY60RFCChild copy of DNSKEY record, for transfer to parent
CDS59RFCChild DSChild copy of DS record, for transfer to parent
CERT37RFCCertificate recordStores digital certificates in various forms (PKIX, SPKI, PGP, etc).
CNAME5RFCCanonical name recordAlias of one name to another: the DNS lookup will continue by retrying the lookup with the new name.
CSYNC62RFC 7477Child-to-Parent SynchronizationSpecify a synchronization mechanism between a child and a parent DNS zone. Typical example is declaring the same NS records in the parent and the child zone
DHCID49RFC 4701DHCP identifierUsed in conjunction with the FQDN option to DHCP
DLV32769RFC 4431DNSSEC Lookaside Validation recordFor publishing DNSSEC trust anchors outside of the DNS delegation chain. Uses the same format as the DS record. RFC 5074 describes a way of using these records.
DNAME39RFC 6672Delegation name recordAlias for a name and all its subnames, unlike CNAME, which is an alias for only the exact name. Like a CNAME record, the DNS lookup will continue by retrying the lookup with the new name.
DNSKEY48RFCDNS Key recordThe key record used in DNSSEC. Uses the same format as the KEY record.
DS43RFCDelegation signerThe record used to identify the DNSSEC signing key of a delegated zone
EUI48108RFC 7043MAC address (EUI-48)A 48-bit IEEE Extended Unique Identifier.
EUI64109RFC 7043MAC address (EUI-64)A 64-bit IEEE Extended Unique Identifier.
HINFO13RFC RFCPlaceholder record, or host informationRepurposed to be used while responding to ANY queries. Originally defined as "Host information", intended to inform about host's operating system and hardware. RFC 8482 did not obsolete this conventional meaning for explicit HINFO queries, but rather considers it rarely used.
HIP55RFC 8005Host Identity ProtocolMethod of separating the end-point identifier and locator roles of IP addresses.
HTTPS65RFCHTTPS BindingA specialised type of SVCB record. Provides connection information required to establish a secure connection via HTTPS, which would ordinarily be obtained and negotiated during connection to the host. Obtaining the information from the DNS server instead of negotiating it with the host allows for more secure connections (e.g. by using Encrypted Client Hello) and lower latency when the connection to the host is first established.
IPSECKEY45RFC 4025IPsec KeyKey record that can be used with IPsec
KEY25RFC 2535 RFC 2930Key recordUsed only for SIG(0) (RFC 2931) and TKEY (RFC 2930). RFC 3445 eliminated their use for application keys and limited their use to DNSSEC. RFC 3755 designates DNSKEY as the replacement within DNSSEC. RFC 4025 designates IPSECKEY as the replacement for use with IPsec.
KX36RFC 2230Key Exchanger recordUsed with some cryptographic systems (not including DNSSEC) to identify a key management agent for the associated domain-name. Note that this has nothing to do with DNS Security. It is Informational status, rather than being on the IETF standards-track. It has always had limited deployment, but is still in use.
LOC29RFC 1876Location recordSpecifies a geographical location associated with a domain name
MX15RFC RFC 7505Mail exchange recordList of mail exchange servers that accept email for a domain
NAPTR35RFC 3403Naming Authority PointerAllows regular-expression-based rewriting of domain names which can then be used as URIs, further domain names to lookups, etc.
NS2RFCName server recordDelegates a DNS zone to use the given authoritative name servers
NSEC47RFCNext Secure recordPart of DNSSEC—used to prove a name does not exist. Uses the same format as the (obsolete) NXT record.
NSEC350RFC 5155Next Secure record version 3An extension to DNSSEC that allows proof of nonexistence for a name without permitting zonewalking
NSEC3PARAM51RFC 5155NSEC3 parametersParameter record for use with NSEC3
OPENPGPKEY61RFC 7929OpenPGP public key recordA DNS-based Authentication of Named Entities (DANE) method for publishing and locating OpenPGP public keys in DNS for a specific email address using an OPENPGPKEY DNS resource record.
PTR12RFCPTR Resource Record[de]Pointer to a canonical name. Unlike a CNAME, DNS processing stops and just the name is returned. The most common use is for implementing reverse DNS lookups, but other uses include such things as DNS-SD.
RP17RFCResponsible PersonInformation about the responsible person(s) for the domain. Usually an email address with the @ replaced by a .
RRSIG46RFCDNSSEC signatureSignature for a DNSSEC-secured record set. Uses the same format as the SIG record.
SIG24RFC 2535SignatureSignature record used in SIG(0) (RFC 2931) and TKEY (RFC 2930). RFC 3755 designated RRSIG as the replacement for SIG for use within DNSSEC.
SMIMEA53RFC 8162S/MIME cert associationAssociates an S/MIME certificate with a domain name for sender authentication.
SOA6RFC RFC 2308Start of [a zone of] authority recordSpecifies authoritative information about a DNS zone, including the primary name server, the email of the domain administrator, the domain serial number, and several timers relating to refreshing the zone.
SRV33RFC 2782Service locatorGeneralized service location record, used for newer protocols instead of creating protocol-specific records such as MX.
SSHFP44RFC 4255SSH Public Key FingerprintResource record for publishing SSH public host key fingerprints in the DNS, in order to aid in verifying the authenticity of the host. RFC 6594 defines ECC SSH keys and SHA-256 hashes. See the for details.
SVCB64RFCService BindingThis resource record provides metadata and other information that can help clients connect to the host. The HTTPS record is a specialised SVCB record to help when establishing HTTPS connections. The more general SVCB record can provide other information such as supported protocols, alternative endpoints, and some types of aliasing not supported by CNAME records.
TA32768—N/aDNSSEC Trust AuthoritiesPart of a deployment proposal for DNSSEC without a signed DNS root. See the and for details. Uses the same format as the DS record.
TKEY249RFC 2930Transaction Key recordA method of providing keying material to be used with TSIG that is encrypted under the public key in an accompanying KEY RR.
TLSA52RFC 6698TLSA certificate associationA record for DANE. RFC 6698 defines "The TLSA DNS resource record is used to associate a TLS server certificate or public key with the domain name where the record is found, thus forming a 'TLSA certificate association'".
TSIG250RFC 2845Transaction SignatureCan be used to authenticate dynamic updates as coming from an approved client, or to authenticate responses as coming from an approved recursive name server similar to DNSSEC.
TXT16RFCText recordOriginally for arbitrary human-readable text in a DNS record. Since the early 1990s, however, this record more often carries machine-readable data, such as specified by RFC 1464, opportunistic encryption, Sender Policy Framework, DKIM, DMARC, DNS-SD, etc.
URI256RFC 7553Uniform Resource IdentifierCan be used for publishing mappings from hostnames to URIs.
ZONEMD63RFC 8976Message Digests for DNS ZonesProvides a cryptographic message digest over DNS zone data at rest.

Other types and pseudo-RRs

Other types of records simply provide some types of information (for example, an HINFO record gives a description of the type of computer/OS a host uses), or others return data used in experimental features. The "type" field is also used in the protocol for various operations.

TypeType id.Defining RFCDescriptionFunction
*255RFCAll cached recordsReturns all records of all types known to the name server. If the name server does not have any information on the name, the request will be forwarded on. The records returned may not be complete. For example, if there is both an A and an MX for a name, but the name server has only the A record cached, only the A record will be returned. Usually referred to as ANY (e.g., in dig, Windows nslookup, and Wireshark). In 2019, RFC standards-track publication led many DNS providers, including Cloudflare, to provide only minimal responses to "ANY" queries, instead of enumerating records.
AXFR252RFCAuthoritative Zone TransferTransfer entire zone file from the primary name server to secondary name servers.
IXFR251RFC 1996Incremental Zone TransferRequests a zone transfer of the given zone but only differences from a previous serial number. This request may be ignored and a full (AXFR) sent in response if the authoritative server is unable to fulfill the request due to configuration or lack of required deltas.
OPT41RFC 6891OptionThis is a pseudo-record type needed to support EDNS.
ALIAS / ANAME / apex CNAME / CNAME flattening / top-level redirection-draft-ietf-dnsop-aname-04Alias similar to DNAMEAn ANAME, ALIAS. apex CNAME, CNAME flattening, or sometimes also top-level redirection record is a pseudo record type is a commonly used but not RFC-standardized record type. Its implementation varies. It serves as an alternative to CNAMEs especially for the bare domain name and where such records should co-exist with others. It causes the DNS software vendor to synthetically generate A and AAAA records similar to the ones of the ANAME-records destination. If the destination changes these synthetic A and AAAA records change automatically as well. The actual mechanisms used are often considered proprietary.

Obsolete record types

Progress has rendered some of the originally defined record-types obsolete. Of the records listed at IANA, some have limited use, for various reasons. Some are marked obsolete in the list, some are for very obscure services, some are for older versions of services, and some have special notes saying they are "not right".

TypeType id. (decimal)Defining RFCObsoleted byDescription
MD3RFCRFCMail destination (MD) and mail forwarder (MF) records; MAILA is not an actual record type, but a query type which returns MF and/or MD records. RFC 973 replaced these records with the MX record.
MF4
MAILA254
MB7RFCNot formally obsoleted. Unlikely to be ever adopted (RFC 2505).MB, MG, MR, and MINFO are records to publish subscriber mailing lists. MAILB is a query code which returns one of those records. The intent was for MB and MG to replace the SMTP VRFY and EXPN commands. MR was to replace the "551 User Not Local" SMTP error. Later, RFC 2505 recommended that both VRFY and EXPN be disabled, making MB and MG unnecessary. They were classified as experimental by RFC 1035.
MG8
MR9
MINFO14
MAILB253
WKS11RFC RFCDeclared as "not to be relied upon" by RFC (more in RFC ).Record to describe well-known services supported by a host. Not used in practice. The current recommendation and practice is to determine whether a service is supported on an IP address by trying to connect to it. SMTP is even prohibited from using WKS records in MX processing.
NB32RFCMistakes (from RFC 1002); the numbers are now assigned to NIMLOC and SRV.
NBSTAT33
NULL10RFCRFCObsoleted by RFC 1035. RFC 883 defined "completion queries" (opcode 2 and maybe 3) which used this record. RFC 1035 later reassigned opcode 2 to be "status" and reserved opcode 3.
A638RFCRFCDefined as part of early IPv6 but downgraded to experimental by RFC 3363; later downgraded to historic by RFC 6563.
NXT30RFC 2065RFC 3755Part of the first version of DNSSEC (RFC 2065). NXT was obsoleted by DNSSEC updates (RFC 3755). At the same time, the domain of applicability for KEY and SIG was also limited to not include DNSSEC use.
KEY25
SIG24
HINFO13RFCUnobsoleted by RFC . Currently used by Cloudflare in response to queries of the type ANY.Record intended to provide information about host CPU type and operating system. It was intended to allow protocols to optimize processing when communicating with similar peers.
RP17RFCRP may be used for certain human-readable information regarding a different contact point for a specific host, subnet, or other domain level label separate than that used in the SOA record.
X2519Not in current use by any notable application
ISDN20Not in current use by any notable application
RT21Not in current use by any notable application
NSAP22RFC 1706Not in current use by any notable application
NSAP-PTR23Not in current use by any notable application
PX26RFC 2163Not in current use by any notable application
EID31—N/aDefined by the Internet Draft, but never made it to RFC status. Not in current use by any notable application
NIMLOC32—N/a
ATMA34—N/aDefined by The ATM Forum Committee.
APL42RFC 3123Specify lists of address ranges, e.g. in CIDR format, for various address families. Experimental.
SINK40—N/aDefined by the Internet Draft, but never made it to RFC status
GPOS27RFC 1712A more limited early version of the LOC record
UINFO100—N/aIANA reserved, no RFC documented them and support was removed from BIND in the early 90s.
UID101—N/a
GID102—N/a
UNSPEC103—N/a
SPF99RFC 4408RFC 7208Specified as part of the Sender Policy Framework protocol as an alternative to storing SPF data in TXT records, using the same format. It was discontinued in RFC 7208 due to widespread lack of support.
NINFO56—N/aUsed to provide status information about a zone. Requested for the IETF draft "The Zone Status (ZS) DNS Resource Record" in 2008. Expired without adoption.
RKEY57—N/aUsed for encryption of NAPTR records. Requested for the IETF draft "The RKEY DNS Resource Record" in 2008. Expired without adoption.
TALINK58—N/aDefined by the Internet Draft, but never made it to RFC status
NID104RFC 6742Not in use by any notable application and marked as "experimental"
L32105
L64106
LP107
DOA259—N/aDefined by the Internet Draft, but never made it to RFC status

Further reading

  • .
  • .