Subdomain Finder
Find subdomains of any domain from certificate logs, a list of common names, its homepage and DNS records, then see which ones resolve, where each runs and when its certificate expires.
A subdomain or URL works too: docs.python.org searches all of python.org.
- Cert Spotter · Unexpired only · our server
- crt.sh · Since 2013 · your browser
- Common names · 1,000 labels · our server
- Homepage · Links, headers · our server
- DNS records · NS, MX, SPF… · our server
- Zone transfer · Each nameserver · our server
How does a subdomain finder work?
It collects names from public records and the domain's own DNS, then asks DNS about each one.
Every HTTPS certificate a trusted authority issues is written to Certificate Transparency logs with each name it covers. This finder reads two log search services: Cert Spotter for current certificates and crt.sh for every certificate since 2013. In parallel it asks DNS about 1,000 common names, reads the homepage's links and the domain's own records, and tries a zone transfer.
Then DNS turns the list into a map. A name that resolves gets its addresses and the network that announces them, which names the host or CDN. A name from a certificate or a DNS record that doesn't resolve today was real once: a retired name. A homepage link may point to a name that never existed.
- Cert Spotter511.1 s
- crt.sh7421.6 s
- Common names242.6 s
- Homepage141.9 s
- DNS records10.4 s
- Zone transferRefused ×42.3 s
- Certificate logs: every name on a public certificate; Cert Spotter is current, crt.sh goes back to 2013.
- Common names, homepage, records: live names no certificate lists.
- DNS: one question per name and type to Google Public DNS.

The answer firstHow many names were found, how many resolve today, and on how many networks.DNS facts, not verdictsWildcard DNS, wildcard certificates, names that don't resolve, names no certificate log lists and the zone transfer, each with its evidence.Where each name runsOne band per host or CDN, as wide as its number of names, with the platforms its CNAMEs reveal.Every name, one click awayEach label is a link to its row: status, addresses, CNAME chain, host and certificate dates.How do I find all subdomains of a domain?
Combine passive records with a few DNS questions: no single method finds every name.
Certificate logs list every name that ever had a public certificate, but nothing under a wildcard and nothing that never served HTTPS. Asking DNS for common names finds live hosts the logs never saw. The homepage and the domain's records name a few more, and a zone transfer, where a server allows it, lists the whole zone.
This finder runs all of them at once. Methods that need a paid dataset (passive DNS) or that copy other sites' data against their terms (search-engine scraping, some public APIs) aren't used.
| Method | Finds | Misses | Here |
|---|---|---|---|
| Certificate logs | Every name on a public certificate since 2013 | Names under wildcards; names that never had HTTPS | Both searches |
| Common names | Live hosts with guessable labels | Unusual labels | 1,000 + 4,000 |
| Homepage | Hosts the site links or loads | Unlinked names | Yes |
| DNS records | Mail, nameserver and SPF hosts | Everything else | Yes |
| Zone transfer | The whole zone, where allowed | Refused almost everywhere | Each nameserver |
| NSEC walking | Every name in a plain-NSEC zone | NSEC3 and unsigned zones | Not yet |
| Passive DNS | Names seen in resolver traffic | Needs a paid dataset | No |
| Search engines | Hosts of indexed pages | Unindexed names; scraping breaks their terms | No |
How do I find subdomains that have no certificate?
Ask DNS for likely names: every domain we measured had live names that no certificate log has ever listed.
We asked 1,000 common labels (www, mail, vpn, dev…) under 13 well-known domains and compared the hits with crt.sh's full history. Each domain had 3 to 71 live names no log ever showed; uber.com (71), kompas.com (37) and github.com (32) gained the most. The homepage's links added up to 65 more (kompas.com); wordpress.org's 160 linked language sites can't be confirmed in DNS, because its wildcard answers every name.
The finder asks the first 1,000 labels of the SecLists list by default and 4,000 more on request, which found about 60% more hits for five times the questions in all. Wildcard DNS is tested first, so a guessed name counts only when it has its own record.
- uber.com71
- kompas.com37
- github.com32
- stripe.com28
- tesla.com22
- tokopedia.com20
- wordpress.org14
- nasa.gov13
- isc.org7
- ycombinator.com6
- python.org5
- mozilla.org5
- dnsrobot.net3
- never in CT
- in CT logs
- wordpress.org: wildcard DNS: resolving proves nothing
What is Certificate Transparency, and how does it reveal subdomains?
Certificate Transparency (CT) is a set of public, append-only logs of every certificate trusted authorities issue.
Browsers enforce it: Chrome rejects a certificate issued after April 30, 2018 unless it carries signed timestamps from CT logs. Each log is a Merkle tree that anyone can read and no one can change, so once a certificate is logged, every name in it is public, often before the site starts using it.
That is why a new subdomain shows up here as soon as it gets HTTPS, and an old one stays findable after it's switched off. A certificate transparency search such as crt.sh or Cert Spotter reads those logs for you; this finder asks both.
- Issuer
- Let's Encrypt
- Issued
- Oct 20, 2026
- Expires
- Jan 18, 2027
- Let's Encrypt 52.35%
- Google Trust Services 22.21%
- Every other authority 25.44%
Why doesn't a subdomain resolve?
Because DNS no longer has an address for it: the name was deleted, never had an address, or points at something that's gone.
NXDOMAIN means the name doesn't exist any more. No address (NOERROR with no A or AAAA record) means it exists but only for other records, such as mail. Dangling means its CNAME points at a target that doesn't exist.
Old names are the norm: of 2,036 names in the certificate logs of 11 domains we checked, half no longer existed. A name that doesn't resolve isn't an error on this page; it's a retired name you may want to clean up.
- 922 resolve (45%)
- 1,008 NXDOMAIN (50%)
- 106 no address (5%)
- blog-stage.python.org
$ dig blog-stage.python.org status: NXDOMAIN
Doesn't resolveThe name doesn't exist. - mg.python.org
$ dig mg.python.org A status: NOERROR, ANSWER: 0 $ dig +short mg.python.org MX 10 mxa.mailgun.org.
No addressIt exists, but only for other records, such as mail. - shop.example.com
$ dig shop.example.com shop.example.com. CNAME old-shop.example.net. old-shop.example.net: NXDOMAIN
DanglingIt points at a name that's gone.
What is a dangling CNAME?
A dangling CNAME is a DNS record that still points at a name that no longer exists, such as a deleted load balancer or a canceled hosted service.
It's first a cleanup item: the subdomain shows an error, and the record does nothing. In 2,036 certificate names from 11 domains we found 25 dangling CNAMEs, on 8 of the 11 domains, mostly deleted cloud load balancers.
It can also be a risk. If the target is a service where anyone can claim the freed name, such as a storage bucket or a site on some platforms, a stranger could serve pages on your subdomain: a subdomain takeover. This finder shows the DNS fact for every name, and says “possible takeover” only when the CNAME and the page both match a service's published unclaimed-resource signature.
25 dangling CNAMEs in 2,036 names (1.2%), on 8 of 11 domains
- Deleted cloud load balancers
- Retired Skype for Business Online endpoints
- A canceled hosted forum
- DanglingThe CNAME target doesn't existA DNS fact, shown for every name: delete the record if it's unused.
- Possible takeoverThe CNAME and the page match a service's unclaimed-resource signatureShown with the evidence. Signals, not proof.
- Not takeover-proneThe service verifies who owns a domainFastly, CloudFront, Zendesk, Statuspage and others: never flagged.
Is your DNS zone transfer open?
Almost certainly not: all nameservers of the 12 real domains we tested refused a DNS zone transfer.
A zone transfer (AXFR) exists to copy a zone to its secondary servers. Asked by anyone else, an open server sends every name in the zone. RFC 5936 says servers should restrict it and shouldn't be open to all by default.
The finder sends one AXFR question to each of the domain's nameservers and reports each answer. Only the test domain zonetransfer.me, set up to show the problem, answered with its 52 records.
- ns-1134.awsdns-13.org205.251.196.110REFUSED
- ns-2046.awsdns-63.co.uk205.251.199.254REFUSED
- ns-981.awsdns-58.net205.251.195.213REFUSED
- ns-484.awsdns-60.com205.251.193.228REFUSED
- nsztm1.digi.ninjaAXFR zonetransfer.me52 records sent
12 of 12 real domains refused on every nameserver
Why can't every subdomain be found?
Because some names are never public: no certificate names them, no link points at them, and no common label matches.
Three kinds of names rarely or never reach the logs, and DNS only finds them if their label is guessable. About 36% of certificate entries logged in the 28 days to October 22, 2026 carried a wildcard name, and each one hides the names it serves.
Names under a wildcard
A
*.python.orgcertificate covers every name one label deep without listing any of them. The log records the wildcard, not the names it serves.In the logsOnly*.python.orgNames on a private network
Names that exist only in a company's internal DNS rarely get a public certificate. Without one, they never reach a log.
In the logsNothingNames that serve no HTTPS
An SSH host, a mail relay or an old FTP server needs no public certificate, so its name often never reaches a log.
In the logsNothing
Where is each subdomain hosted?
Each name's addresses belong to a network, and the network names the host or CDN that runs it.
The finder asks Team Cymru which network announces each address, then matches the network and the CNAME chain against the Hosting Checker's 200+ providers. A CNAME often names the platform behind a CDN: Read the Docs behind Cloudflare, or Heroku and Netlify on Amazon's network.
Behind a CDN, the addresses are the CDN's edge, the same for many sites; the server behind it stays private. The finder never guesses an origin address.
- DigitalOceanAS1406114
- FastlyAS5411311
- GitHub PagesAS5411311
- Amazon Web ServicesAS16509· via9
- HetznerAS249406
- CloudflareAS13335· via5
- Google CloudAS396982· via2
- OVHcloudAS162761
- Advanced Software Production Line, S.L.AS2061021
- Civilized Discourse Construction Kit, Inc.AS394230· via1
- University of OregonAS37011
- CDN edge: shared addresses, the origin stays private
- the host's own network
What is subdomain enumeration?
Subdomain enumeration is listing a domain's subdomains, passively from public records or actively with DNS questions and requests.
Passive sources read what is already public, such as certificate logs, and send nothing to the domain's servers. Active checks ask DNS one question per name, here through Google Public DNS, fetch the homepage, or ask the domain's own nameservers for a zone transfer. Security teams enumerate to find forgotten hosts before someone else does, often with a subdomain scanner; a subdomain scan here runs only the light, standard checks: common names, records, the homepage and a zone transfer.
Passive
Reads public records; sends nothing to the domain
- Cert Spotter51 names
- crt.sh74 names
Active
Asks Google Public DNS about each name, fetches the homepage and asks each nameserver for the zone
- Common names24 names
- The homepage14 names
- DNS records1 name
- Zone transferRefused ×4
How do NSEC and NSEC3 hide or reveal a zone's names?
In a zone signed with DNSSEC, NSEC records chain every name to the next, so anyone can walk the chain; NSEC3 hashes the names to stop that.
Asking for a missing name in a plain NSEC zone returns the two real names around it; repeating that walks the whole zone. NSEC3 returns hashes instead, which a dictionary can still crack. A newer method, compact denial (RFC 9824), reveals no neighbor at all.
Most domains we checked use NSEC3 or no DNSSEC; a few, such as isc.org, still use plain NSEC.
NSECthe next real name, in order
NSEC3the next name's hash
Compact deniala made-up next name: nothing to walk
No DNSSECNXDOMAIN
What can you do with the list?
Keep an inventory, clean up old records and check what each subdomain serves.
Export the list as CSV, delete the records of names that no longer resolve, and check the certificate, host and DNS records of the ones that do.
Keep an inventory
Download every name with its status, addresses, host and certificate dates as CSV or JSON.
Clean up old records
Delete names that no longer resolve and CNAMEs that point nowhere.
Check each certificate
See the chain, the expiry date and what the certificate covers.
Find who hosts it
The host, the CDN and the mail provider behind any name.
Read its DNS records
Every record type, the path from the root and DNSSEC.
See how old it is
Registration date, first certificate and first archived copy.
Data and credits
- Certificate data from Cert Spotter (SSLMate) and crt.sh (Sectigo).
- Common names: the first 1,000 (and 5,000) labels of
subdomains-top1million-5000.txtfrom SecLists, © Daniel Miessler, MIT License. - Takeover signatures adapted from can-i-take-over-xyz by EdOverflow and contributors, CC BY 4.0, modified by DNS Robot.
- Networks from Team Cymru's IP to ASN service; DNS answers from Google Public DNS.
Subdomain Finder FAQ
What is a subdomain finder?
Is this subdomain finder free, and what are the limits?
How many subdomains can a domain have?
Why are some subdomains missing?
What is crt.sh?
Is it legal to look up a domain's subdomains?
How do I check if a subdomain is live?
What is a wildcard certificate?
What is a DNS zone transfer?
What is a subdomain takeover?
Can I hide my subdomains?
Is there an API?
Missing something?Suggest a feature or a new tool
More domain and DNS tools
DNS Lookup
Every DNS record from the domain's own nameservers, beside Google's and Cloudflare's cache
SSL Certificate Check
Verify SSL certificate validity and security details
Hosting Checker
Find out who hosts any website: web host, CDN, CMS, email provider, registrar and SSL issuer
Domain to IP
Convert any domain name to its IP address with geolocation and CDN detection
WHOIS Lookup
Look up domain registration, registrar, and owner details via RDAP
Domain Age Checker
Check domain registration date, age, expiry, and registrar details via WHOIS
