Free Reverse IP Lookup
Map an IP address back to the hostname it identifies itself as, using its PTR record. Works for IPv4 and IPv6, returns every PTR configured, and rejects private ranges. No signup and no API key.
How it works
Paste an IP
IPv4 (8.8.8.8) or IPv6 (2606:4700::1111). Both supported.
We query the PTR zone
in-addr.arpa for IPv4, ip6.arpa for IPv6 — the standard reverse-DNS path.
Get the hostname
Returned as a list — most IPs have one PTR, but technically more than one is allowed.
Two different things get called "reverse IP lookup"
Worth settling before you read a result, because the two answer different questions and only one of them is a DNS query:
| What you mean | What answers it | Is it authoritative? |
|---|---|---|
| "What hostname does this IP identify itself as?" | A PTR record lookup, which is what this tool does | Yes. It comes from the IP owner's reverse zone. |
| "What other sites are hosted on this IP?" | A commercial index built from crawling | No. It is a snapshot of somebody's crawl. |
The second one cannot be done with DNS at all. An A record maps a name to an address and the mapping only runs in that direction; there is no record type that lists every name pointing at a given IP. Tools that answer it are querying a scraped database, which is why two of them give you different answers for the same address. If what you actually want is the hostnames under a domain rather than under an IP, the subdomain finder reads certificate transparency and will be both faster and more accurate.
What the PTR lookup actually queries
Reverse DNS is ordinary DNS with the address rewritten as
a name. For IPv4 the octets are reversed and suffixed with in-addr.arpa, so 8.8.8.8
becomes a lookup for 8.8.8.8.in-addr.arpa. For IPv6 every single nibble is reversed
and suffixed with ip6.arpa, which is why an IPv6 reverse query name is 32 labels long
and unreadable by eye.
The zone that answers it is delegated to whoever owns the address block, not to whoever owns the domain. That is the fact behind most confusion about PTR records: you can point any name you like at an IP with an A record, but only the IP's owner can make the IP point back.
Why your server has no PTR, or has the wrong one
Three cases cover almost everything:
- No PTR at all. Common on residential connections and cheaper VPS ranges. The provider never delegated or populated the reverse zone.
- A generic provider PTR. Cloud instances usually ship with something like
ec2-203-0-113-10.compute-1.amazonaws.com. It resolves, it just says "this is a cloud VM" rather than anything about your service. - A stale PTR. The reverse zone still names a host that has since moved. Because reverse records are edited far less often than forward ones, they rot quietly.
Changing it is a request to the provider, not a DNS edit you make. Most clouds gate it behind a form or a support ticket on the specific elastic address, and some will only grant it once the forward record already resolves to that IP.
Forward-confirmed reverse DNS, the one place PTR is load-bearing
If you send email, this is the reason to care. FCrDNS is a two-step check the receiving mail server runs on the connecting IP:
- Look up the PTR for the connecting IP to get a hostname.
- Resolve that hostname's A or AAAA record and check it comes back to the same IP.
Both halves have to agree. A PTR pointing at a hostname that does not resolve back is worse than no PTR at all for reputation purposes, because it reads as misconfiguration. Google's sender guidelines require sending IPs to have valid forward and reverse DNS, and large receivers routinely defer or reject connections that fail it outright.
Debugging is mechanical:
| Symptom | What to check |
|---|---|
| Mail deferred with "reverse DNS" in the bounce | PTR is missing. Ask the IP owner to set it. |
| PTR exists but mail still penalised | Resolve the PTR hostname. If it does not return the original IP, FCrDNS fails. |
| Works from one IP, not another | Multi-IP pools. Every sending IP needs its own PTR. |
| PTR fine, mail still to spam | PTR is not authentication. Check SPF and DMARC next. |
Where this fits if you run a multi-tenant app
A common wrong turn: teams shipping custom domains sometimes try to set a PTR per customer domain. There is nothing to set. The PTR belongs to the sending IP, and one IP has one hostname regardless of how many tenants send through it. Tying a customer's domain to your infrastructure is SPF and DKIM's job, not reverse DNS's.
Domainee is a custom domains API for SaaS with a native MCP server, 50 domains and 100 GB free. The web and mail sides are separate problems, and this is the web one.
From the command line
Keyless, no signup, no API key:
curl -s "https://api.domainee.dev/v1/tools/reverse-ip-lookup?ip=8.8.8.8" | jq
Returns hostnames as an array, because more than one PTR per address is legal even
though it is rare and generally a bad idea. Private and reserved ranges are rejected.
Rate limits are per IP and there is no uptime commitment, so use it for scripts and
audits rather than as a production dependency.
Frequently asked questions
Can a reverse IP lookup show all the domains hosted on an IP?+
Not through DNS. A records map names to addresses in one direction only, and there is no record type that lists every name pointing at a given IP. Tools that claim to do it are querying a crawled index, not the DNS, which is why their answers disagree and go stale. This tool returns the PTR record, which is the authoritative answer to a different question.
Why is there no PTR for my IP?+
PTR records live in a reverse zone delegated to whoever owns the address block, which is your hosting provider or ISP rather than you. Plenty of residential and budget VPS ranges never populate it. Setting one is a request to the provider, not a DNS edit you can make yourself.
Why does the hostname not resolve back to the IP?+
PTR and A records are completely independent, so nothing enforces agreement. Many providers set a default PTR (like ec2-1-2-3-4.compute-1.amazonaws.com) that doesn't round-trip. For mail this matters: forward-confirmed reverse DNS requires the PTR hostname to resolve back to the same IP, and a PTR that fails that check is worse for reputation than no PTR at all.
Does this work for private IPs?+
No. We block private and reserved ranges. Reverse lookups for those are answered by your local resolver anyway, so a public tool would give you the wrong answer even if it tried.
Is PTR useful for anything besides debugging?+
Mail deliverability, mainly. Google's sender guidelines require valid forward and reverse DNS on sending IPs, and many SMTP servers defer or reject connections from IPs without matching FCrDNS. Outside email it is mostly a debugging and inventory aid.
Can one IP have more than one PTR record?+
Yes, it's legal, and the tool returns an array for that reason. In practice it's discouraged: receivers that run FCrDNS pick one answer, and multiple PTRs make the result non-deterministic.
Building a SaaS that needs custom domains?
Domainee is the API for adding customer custom domains to your product. One CNAME, automatic TLS, no DevOps to staff.
50 custom domains and 100 GB bandwidth free, forever.
More free tools
SSL
Free SSL Certificate Checker
View issuer, validity, expiration countdown, and certificate chain for any domain.
DNS
Free DNS Record Lookup
Check A, AAAA, CNAME, MX, TXT, NS, and SOA records for any domain instantly.
Domain
Free WHOIS Lookup
View registrar, creation and expiry dates, name servers, and registration data for any domain.
DNS
Free CNAME Lookup & Generator
Validate CNAME records and get provider-specific setup instructions for custom domains.
HTTP
Free HTTP Header Checker
Inspect response headers, security headers, caching, redirects, and get a security grade for any URL.
DNS
Free DNS Propagation Checker
Query DNS servers across multiple global locations to verify your DNS changes are live.