Discover every subdomain a domain has ever issued a TLS certificate for — sourced from public Certificate Transparency logs via crt.sh.
Every TLS certificate issued by a public Certificate Authority since 2018 is logged to a public, append-only ledger called Certificate Transparency. The logs were created to detect mis-issuance after a series of high-profile incidents (DigiNotar 2011, Comodo 2011, Symantec 2017), and they have an unintended side effect: every internal subdomain you've ever requested a certificate for is now searchable by anyone, forever.
This tool queries crt.sh — Sectigo's free Certificate Transparency aggregator — for every certificate ever issued under the domain you enter. From those certificates, we extract the Subject Alternative Names (SAN) and Common Name fields, deduplicate, and present the unique subdomain list.
*.example.com tell you a wildcard cert exists, but not which specific subdomains use it. If you only see wildcards in the results, the operator deliberately uses wildcards to keep the subdomain list private.app., api., admin., staging., v2.), you can infer roughly what stack they have. Don't probe the URLs without permission. *.example.com), the actual subdomains using that wildcard are not enumerable from CT alone. Combine with other techniques (DNS brute force, passive DNS, search engine recon) for a fuller picture.staging" or "test" subdomains that someone briefly experimented with are visible. Embarrassing if you don't expect it; relevant for security reviews.A few patterns to look for:
www. only → small operator, single web property.www., api., app. → typical SaaS structure (web, API, app).*.tenant. entries → multi-tenant SaaS, each customer gets a subdomain.abc123def.) → ephemeral environments, preview deploys (Vercel, Netlify, Heroku review apps).internal., vpn., jira., jenkins. → publicly resolvable internal tools. These are the most common security findings.old., legacy., v1. → deprecated systems still online. Frequent source of CVEs because no one is patching them.A subdomain in the CT log doesn't guarantee the subdomain still resolves. To check liveness:
dig or using a tool like dnsx is faster.You can't opt out of Certificate Transparency for public CA certs — major browsers require CT inclusion to trust the cert. But you can reduce the leak:
*.internal.example.com protects the specific names from being enumerated, although the parent internal.example.com still appears.customer-acme-corp-prod" leaks both the customer and the environment. crt.sh is a free public service maintained by Sectigo. It is occasionally slow or rate-limited under heavy load. Our backend caches results at the edge for 5 minutes to reduce upstream pressure. If you get a 502 error, try again in a minute or query crt.sh directly via curl 'https://crt.sh/?q=%25.example.com&output=json'. For high-volume programmatic enumeration, consider running your own CT log monitor with Axeman or paying for a commercial CT API.
xn--...). We don't Unicode-decode them in the display by default, so if your domain has internationalized subdomains they'll appear with their Punycode prefixes. You can decode them with idn on the command line or any online IDN converter.