Reverse DNS Lookup Explained: How PTR Records Work + Free Tools
Reverse DNS (rDNS) maps an IP address back to a hostname using PTR records stored under the in-addr.arpa zone for IPv4 and ip6.arpa for IPv6. It exists mainly for mail server reputation, readable logs, and abuse tracing. Anyone can query it with dig -x, nslookup, or host -t PTR. It is often missing, wrong, or generic because only the IP block owner (usually the ISP) can publish the PTR, not the website operator.
Reverse DNS (rDNS) answers the question: which hostname does this IP address claim to be? Normal DNS goes from a name like example.com to an IP. Reverse DNS goes the other way, from an IP back to a name, using a special record type called PTR stored in a dedicated tree of the DNS hierarchy. It is one of the oldest and least glamorous parts of the internet, and it still decides whether your email lands in the inbox or the void.
What reverse DNS actually is
Forward DNS is what most people picture when they think of the domain name system. You ask a resolver for news.ycombinator.com, it walks the hierarchy, and you get back an A record (IPv4) or AAAA record (IPv6). Reverse DNS works on the same machinery but flips the direction: given an IP, return a name. The record type used for this is PTR, defined in RFC 1035 alongside the rest of the original DNS specification from 1987.
The trick is that PTR records do not live in the normal forward zones. They live in two special pseudo-domains:
in-addr.arpafor IPv4 addressesip6.arpafor IPv6 addresses
An IPv4 address like 8.8.8.8 becomes the DNS name 8.8.8.8.in-addr.arpa, with the octets reversed so the most specific part comes first (matching how DNS is read right to left). Query that name for a PTR record and Google returns dns.google. For IPv6 the format is even more verbose: each hex nibble of 2001:4860:4860::8888 becomes its own label under ip6.arpa, producing a 32-label name.
Forward DNS vs reverse DNS at a glance
| Property | Forward DNS | Reverse DNS |
|---|---|---|
| Question answered | Name to IP | IP to name |
| Main record type | A, AAAA | PTR |
| Zone | example.com | in-addr.arpa, ip6.arpa |
| Controlled by | Domain owner | IP block owner (usually the ISP) |
| Defined in RFC | 1034, 1035 | 1035, 3596 (for IPv6) |
| Required to exist | No (but expected) | No (but often expected for mail) |
That fourth row is the one most people miss. If you rent a server from a hosting provider, you control the forward DNS for your domain, but the PTR for the IP belongs to whoever IANA delegated the block to. Some providers expose a self-service panel to edit PTRs; others require a support ticket; cheap shared hosts often refuse entirely. If you want context on who can publish what about an IP, our breakdown of what someone can find with your IP address covers the WHOIS and ASN side of the same question.
Why reverse DNS still matters
Mail server reputation
This is the big one. Almost every modern mail server checks whether the sending IP has a valid PTR record, and ideally one whose forward lookup resolves back to the same IP (called forward-confirmed reverse DNS, or FCrDNS). Receivers like Gmail, Outlook, and most corporate filters will downgrade or outright reject mail from IPs with no PTR, generic PTRs (think 1-2-3-4.dyn.isp.example.net), or mismatched ones. If you have ever wondered why your self-hosted mail goes straight to spam, missing rDNS is usually one of the reasons.
Readable logs
Web servers, SSH daemons, and firewalls all log connections by IP. Tools that show crawl-66-249-66-1.googlebot.com instead of just 66.249.66.1 are doing a PTR lookup on each line. It makes log review dramatically faster because you can see at a glance whether a hit came from Googlebot, an AWS instance, a residential ISP, or a known cloud range. The downside is the extra DNS traffic, which is why busy servers usually disable inline rDNS and resolve in post-processing instead.
Abuse tracing
Incident responders use PTR records as a first cheap hint about who runs an IP before pulling full WHOIS or ASN data. A PTR like tor-exit.example.org or scan.shadowserver.org tells you the operator is at least being honest about what the machine does. This connects directly to topics like how streaming services detect VPN traffic, where datacenter PTRs are one of the cheapest signals to flag.
💡 A PTR record proves nothing about the actual server. The IP block owner can put any string they want there, and a forward lookup of that string may go to an unrelated IP. Always verify with FCrDNS before trusting a PTR.
How to query reverse DNS yourself
Every major operating system ships with at least one tool that can do PTR lookups. Here are the most useful commands.
- dig -x on Linux and macOS:
dig -x 8.8.8.8 +shortreturns the PTR in one line. Add@1.1.1.1to query a specific resolver. - nslookup on Windows, Linux, and macOS:
nslookup 8.8.8.8handles the in-addr.arpa rewriting for you. - host -t PTR:
host 8.8.8.8or explicitlyhost -t PTR 8.8.8.8.in-addr.arpa. - PowerShell:
Resolve-DnsName -Type PTR 8.8.8.8. - Online tools: MXToolbox, ViewDNS, and our own IP lookup homepage all expose PTR data without installing anything.
For IPv6, the address has to be expanded to its full form first. Most tools handle that automatically, but if you ever need to build the name by hand, reverse every hex nibble and append .ip6.arpa. It is exactly as tedious as it sounds, which is why dig -x exists.
Why reverse DNS is often missing or wrong
You will hit broken or generic PTRs constantly. There are three main reasons.
- The block owner never bothered. Many residential ISPs publish only auto-generated PTRs based on the IP itself, or no PTR at all. CGNAT pools complicate this further because thousands of customers share the same external IP.
- Delegation is hard. An ISP that wants to let a customer control PTRs for a /29 block must delegate that small slice of in-addr.arpa, which uses the awkward classless delegation pattern from RFC 2317. Plenty of ISPs simply do not offer it.
- Stale records. When an IP block is sold or reassigned, the old PTRs sometimes linger for years. This is one source of the geolocation errors covered separately: a PTR claiming a Frankfurt datacenter on an IP that physically lives in São Paulo.
FCrDNS: the version that mail servers actually trust
A bare PTR is easy to forge in the sense that the IP block owner can write anything. Forward-confirmed reverse DNS adds a second step: take the hostname returned by the PTR, do a normal A or AAAA lookup on it, and check that the result includes the original IP. If both directions match, the relationship is verified. This is what Gmail and other large mail receivers actually check, and it is documented in RFC 8601 alongside other authentication results.
⚠️ Setting a PTR without a matching forward record is worse than no PTR at all for mail. Receivers treat the mismatch as a sign of misconfiguration or spoofing.
Free online reverse DNS tools
| Tool | Bulk lookups | FCrDNS check | API | Notes |
|---|---|---|---|---|
| MXToolbox | Limited free | Yes (via SMTP test) | Paid | Strong on mail reputation |
| ViewDNS.info | Yes | Manual | Free key | Old-school, still works |
| DNSChecker | Single IP | No | No | Multi-region propagation view |
| HackerTarget | Yes (rate-limited) | No | Free + paid | Useful for recon work |
| Local dig + scripts | Unlimited | Yes (scripted) | N/A | Best for large lists |
If you only need a handful of lookups, any of these work. For thousands of IPs, write a small loop around dig or use a library like Python's dnspython. Public DNS resolvers like 1.1.1.1 and 8.8.8.8 rate-limit aggressive bulk PTR scans, so for serious work either spread the queries or run a local recursor.
Reverse DNS and privacy
From the privacy angle, PTR records are a one-way street: they leak information about an IP, not about a user. A hostname like mob-178-32-1-5.proxad.net reveals that the IP is part of a French mobile pool from Free Mobile, which is more than the IP alone tells you, but it does not identify a person. If you are thinking about your own footprint, the better levers are covered in our guide on hiding an IP address and the related rundown of nine concrete techniques. Reverse DNS is downstream of whichever IP you present to the network.
Worth knowing too: PTR records do not interact with browser fingerprinting, cookies, or any of the tracking layers described in what your IP actually reveals. They are a server-side artifact, not something your browser exposes.
When to set a PTR yourself
If you run any of the following, take the time to publish a proper FCrDNS-compliant PTR:
- An outbound mail server (mandatory in practice)
- A web crawler or scraper that wants to be identifiable
- A monitoring node that hits third-party APIs (helps avoid being mistaken for an attacker)
- Any server whose connections show up in other people's abuse logs
For everything else, including most websites and personal servers, reverse DNS is nice to have but rarely critical. The bigger DNS reliability problems usually live elsewhere, which is why a DNS leak on a client device causes far more privacy harm than a missing PTR on a server.
Takeaways
Reverse DNS is a small, old, and surprisingly load-bearing piece of internet plumbing. It lives in in-addr.arpa and ip6.arpa, uses PTR records, and is controlled by whoever owns the IP block rather than whoever owns the domain. Query it with dig -x or any of the free tools listed above. For mail servers it is effectively mandatory; for the rest of the internet it is a quality-of-life feature that makes logs readable and abuse easier to trace.
Frequently asked questions
What is the difference between a PTR record and an A record?
An A record maps a hostname to an IPv4 address (forward DNS). A PTR record maps an IP address to a hostname (reverse DNS) and lives under the special in-addr.arpa zone for IPv4 or ip6.arpa for IPv6. They are independent: a working A record does not imply a working PTR, and vice versa. Mail servers expect both to exist and to agree, which is called forward-confirmed reverse DNS (FCrDNS).
Why does my domain have no reverse DNS?
Because PTR records are controlled by the owner of the IP block, not the owner of the domain. If you rent a server, your hosting provider decides whether you can edit the PTR for your IP. Many shared hosts, residential ISPs, and CGNAT pools either publish a generic auto-generated PTR or none at all. To set a custom PTR you usually need a dedicated IP and either a control panel option or a support ticket with the provider.
Can I do a reverse DNS lookup from a browser?
Browsers do not expose a direct PTR query API, but plenty of free web tools wrap one for you: MXToolbox, ViewDNS, DNSChecker, and our own homepage lookup all return PTR data. For automated work, command-line tools like dig -x, nslookup, and host are faster and not rate-limited the way public web tools often are. PowerShell users can run Resolve-DnsName -Type PTR.