Skip to content

Subdomain Finder

Find every subdomain of a domain from public Certificate Transparency logs and passive DNS, check which ones still resolve, and export the list.

Share

Reads public Certificate Transparency logs and passive DNS records straight from your browser. Nothing is sent to this site, and no traffic reaches the domain you look up.

How to use Subdomain Finder

1

Enter a domain

Type the registrable domain, such as example.com. A full URL works too; everything but the hostname is stripped.

2

Read the merged list

Certificate Transparency logs and passive DNS are queried in parallel and deduplicated, with a badge showing which source found each name.

3

Check what is still live

Resolve every hit over DNS-over-HTTPS to separate the running estate from names that only exist in history, then export as TXT or CSV.

Why Certificate Transparency gives subdomains away

Since 2018 every certificate a browser trusts has to be logged in a public, append-only Certificate Transparency log. The system was built to catch mis-issued certificates, and it does that well, but it has an obvious side effect: a certificate names the hosts it covers, so publishing the certificate publishes the hostnames. Request a certificate for staging.example.com and that name is public within minutes, whether or not the host is meant to be found.

That makes CT the single richest source for subdomain discovery, and it is why this tool leads with it. It is also why the results skew historical. Logs are append-only, so a name from a decommissioned host in 2019 is still there today alongside the ones in production. The DNS check is what separates those two piles.

The gap in CT coverage is wildcards. One certificate for *.example.com covers every host at that level while naming none of them, so an organisation that standardised on wildcards leaves almost no CT trail. Passive DNS partly fills that in, since it indexes names that resolvers have actually been asked about, regardless of what certificate covers them.

What the live check is actually telling you

Each discovered name is resolved for an A record over DNS-over-HTTPS, and the answer falls into three useful buckets. A name that resolves is a live host worth looking at. A name that exists but has no A record is usually AAAA-only, or a name carrying only MX or TXT records, which is common for mail and verification hostnames. A name with no DNS at all is history: the certificate outlived the host.

The interesting rows are often the ones in between. A subdomain that resolves through a CNAME to a cloud provider bucket or app platform, where the underlying resource no longer exists, is the classic subdomain takeover setup. The tool shows the CNAME target for exactly this reason, since the DNS answer alone does not tell you whether the thing at the other end is still claimed.

For your own domains, the value runs the other way. A list of every name your organisation has ever certified, filtered to what still resolves, is a quick inventory check: forgotten staging hosts, a dev environment nobody shut down, an old vendor integration still pointed at your DNS.

Scope and authorisation

Everything here is passive. The tool reads public records from third-party APIs and never touches the domain you type, so running it against a domain is not a scan of that domain in any meaningful sense. That distinction matters legally and practically, and it is why the same lookups sit behind tools like crt.sh, which anyone can query without an account.

What you do with the list is a different question. Enumeration is the reconnaissance step; connecting to the hosts, scanning them, or testing them for weaknesses is activity directed at someone else's infrastructure and needs their permission, whether that comes from owning the domain, a signed engagement, or a published bug bounty scope.

Frequently Asked Questions

Where do the subdomains come from?

Two public sources. Certificate Transparency logs record every TLS certificate a public CA issues, and each certificate lists the hostnames it covers, so any subdomain that has ever been given HTTPS shows up there permanently. Passive DNS is a second index built from resolver traffic, which catches names that never had their own certificate. The tool queries both from your browser and merges the results.

Does this send any traffic to the domain I search?

No. This is passive reconnaissance: it reads records that third parties already publish. The target's servers see nothing, there is no brute forcing of names, and no port or vulnerability scanning happens. The one exception is the Visit link on each row, which is an ordinary browser request you choose to make.

Why do some subdomains show as not resolving?

Certificate logs are an archive, not a live inventory. A name that had a certificate in 2019 stays in the log forever even after the host is gone, so a long list with a small live subset is completely normal. The DNS check queries an A record for each name over DNS-over-HTTPS and marks it as resolving, existing without an A record (AAAA-only or MX-only names land here), or absent entirely.

Why does a domain I know has hundreds of subdomains return only a few?

Almost always a wildcard certificate. If an organisation secures *.example.com with one certificate, none of the individual hosts under it are ever named in a log, so Certificate Transparency has nothing to reveal. The tool flags wildcards separately when it sees them. Internal-only names that resolve on a private resolver are invisible for the same reason.

Is the list complete?

No subdomain enumeration is. Wildcards hide names, passive DNS only records what its sensors have observed, and the certificate lookup pages through a bounded number of certificates so extremely large estates get cut off. Treat the output as a floor rather than an inventory, and narrow the search to a specific subdomain to dig deeper into one branch.

Is it legal to look up someone else's subdomains?

Reading Certificate Transparency logs and passive DNS is reading published public records, which is why security teams, domain administrators, and researchers do it routinely. Acting on the results is where authorisation starts to matter: probing, scanning, or logging into the hosts you find needs permission from whoever owns them.