PAGES
← all tools
◆ Reconnaissance & OSINT

subfinder

v2.16.0 open-source

Subfinder is a subdomain discovery tool that finds and returns valid subdomains for websites using passive online sources.

Summary

Subfinder is an open-source command-line tool that discovers subdomains for a given website using passive online sources rather than active probing, which keeps it fast and stealthy. It runs as a single binary, taking a domain or a list of domains as input and returning results to stdout, a file, or JSON for piping into other tools, and it also ships as a Go library for programmatic use. It's aimed at penetration testers and bug bounty hunters doing reconnaissance rather than continuous monitoring teams, and it sits in the passive subdomain enumeration category, pulling from dozens of curated sources such as certificate transparency logs, Shodan, and URLScan.io. First committed in 2018, it has 137 contributors and a release roughly every couple of weeks, with the most recent 16 days ago.

Subfinder is a subdomain discovery tool that finds and returns valid subdomains for websites using passive online sources.

How subfinder helps

Which subdomains exist for a target domain that certificate logs, Shodan, and other public sources have already recorded?

queries dozens of curated passive sources in one pass and returns the deduplicated list of valid subdomains found, without sending a single probe to the target itself

Which of my recon runs are missing coverage because a source went quiet or was pulled?

tracks per-source request counts in its stats output and flags where a formerly-used source (like a removed provider) is silently contributing nothing

Is a subdomain result hiding behind a wildcard DNS record instead of being a real host?

runs a wildcard elimination module during resolution and marks wildcard certificate matches in the JSON output so they can be filtered from the real finds

Which passive sources actually contributed to a given enumeration, and how heavily was each queried?

the statistics output breaks down request counts and results by source, showing which ones are doing the work and which are rate-limited or idle

Which sources are currently available to query, and has that list changed since my last scan?

can print the full source list in a machine-readable format, which scripts or audits can diff against a previous run to catch sources that were added or removed between releases

all 16 features, with the evidence for each →

Languages

Not documented

Features

16 capabilities across 4 capability groups · 1 backed by code, an API document or a real run

Built from subfinder's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

  • subfinder covers 4 of the 13 network discovery and scanning capabilities we track.

What subfinder offers you

  • Command-line interface4
  • JSON data export2
Subdomain enumeration 9 features Network discovery and scanning since 2018
Additional passive sources integration shipped Incorporates new data providers for subdomain discovery, including recon.dev, Chaos dataset, GitHub, and various threat intelligence feeds. 31 releases · 4 other sources · first seen Jul 2020

Shared capability: Subdomain enumeration

release 31 total

  • Adds scanmalware as a new passive subdomain discovery source, available via -s scanmalware. v2.16.0 · Aug 2026 · source · release history
  • Adds Sub.md as a new passive subdomain enumeration source. v2.14.0 · Apr 2026 · source · release history
  • Adds URLScan.io as a passive subdomain discovery source, expanding enumeration coverage without active probing. v2.13.0 · Mar 2026 · source · release history
  • Adds Reconeer as a new passive subdomain enumeration source. v2.12.0 · Jan 2026 · source · release history
  • Improves Netlas integration to use the download API for more complete results. v2.6.7 · Oct 2024 · source · release history
  • RedHuntLabs source added to passively discover subdomains. v2.6.3 · Sep 2023 · source · release history

example

  • Use the new scanmalware source alongside crtsh to cross-reference malware-reported subdomains during passive recon. subfinder -d example.com -s scanmalware,crtsh -v v2.16.0 · Aug 2026 · source
  • Enumerate subdomains using the new Facebook CT source alongside others. subfinder -d example.com -s facebook v2.6.2 · Aug 2023 · source
  • Include the new digitorus source in a subdomain enumeration scan. subfinder -d example.com -src digitorus v2.5.9 · May 2023 · source
  • Scan using new sources like Fofa and C99 with rate limiting. subfinder -d example.com -source fofa,c99,chinaz -rate-limit 10 v2.4.9 · Sep 2021 · source
Passive subdomain discovery shipped Enumerates subdomains for one or more domains by querying passive sources, with options to use all sources and save output. 12 releases · 6 other sources · first seen May 2018

Shared capability: Subdomain enumeration

release 12 total

  • Adds crtname as a new passive subdomain enumeration source. v2.17.0 · Oct 2026 · source · release history
  • Adds subdomaincenter as a new passive subdomain enumeration source. v2.17.0 · Oct 2026 · source · release history
  • Adds bounded concurrent domain enumeration to cap parallelism during passive discovery runs. v2.17.0 · Oct 2026 · source · release history
  • Adds -match-regex and -filter-regex flags to include or exclude discovered subdomains using Go regular expressions (repeated or loaded from a file, one per line).⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v2.17.0 · Oct 2026 · source · release history
  • Adds sonarsearch as a new passive subdomain enumeration source. v2.4.6 · Feb 2021 · source · release history
  • Adds ipv4info as a new passive enumeration source 1.0 · Jun 2018 · source · release history

docs

  • Passive subdomain enumeration tool that discovers valid subdomains for websites using multiple online sources.

example

  • Include crtname and subdomaincenter alongside other sources to broaden passive coverage for a target domain. subfinder -d example.com -s crtname,subdomaincenter,crtsh -o results.txt v2.17.0 · Oct 2026 · source
  • Enumerate subdomains using the new SonarSearch source via CLI. subfinder -d example.com -s sonarsearch v2.4.6 · Feb 2021 · source
  • Enumerate a list of domains subfinder -dL domains.txt
  • Use all sources, save output subfinder -d example.com -all -o subs.txt
  • Passive subdomain discovery subfinder -d example.com
Subdomain enumeration source integration shipped Incorporates new data providers for subdomain discovery, including digitorus, leakix.net, netlas.io, Facebook CT logs, RedHuntLabs, and Builtwith. 7 releases · 1 other source · first seen Feb 2023

Shared capability: Subdomain enumeration

release 7 total

  • Adds subdomaincenter as a new passive subdomain enumeration source. v2.6.7 · Oct 2024 · source · release history
  • RedHuntLabs source added to passively discover subdomains. v2.6.3 · Sep 2023 · source · release history
  • Builtwith source added to passively discover subdomains. v2.6.3 · Sep 2023 · source · release history
  • subfinder -s facebook adds the Facebook certificate transparency logs as a new enumeration source. v2.6.2 · Aug 2023 · source · release history
  • Adds netlas.io as new data source for subdomain discovery v2.6.0 · Jun 2023 · source · release history
  • Integrates the leakix.net API as a new passive data source for enumerating subdomains. v2.5.8 · May 2023 · source · release history

example

  • Enumerate subdomains using the new Facebook CT source alongside others. subfinder -d example.com -s facebook v2.6.2 · Aug 2023 · source
Shodan certificate transparency source shipped Adds shodanct as a passive subdomain discovery source that leverages Shodan's certificate transparency data. 5 releases · 2 other sources · first seen Jun 2018

Shared capability: Subdomain enumeration

release

  • Adds shodanct as a new passive subdomain discovery source. v2.15.0 · Aug 2026 · source · release history
  • Adds shodanct passive source for subdomain enumeration v2.15.0 · Aug 2026 · source · release history
  • Enables the Subfinder SDK to return a source map, improving programmatic use of discovery results. v2.6.8 · Jan 2025 · source · release history
  • Added --version flag to display the current subfinder version. v2.3.0 · Jan 2020 · source · release history
  • Adds certificate transparency data via the entrust source 1.0 · Jun 2018 · source · release history

example

  • Run subdomain enumeration using only the new shodanct source to leverage Shodan's certificate transparency data. subfinder -d example.com -s shodanct v2.15.0 · Aug 2026 · source
  • Verify the installed version of subfinder in scripts or CI pipelines. subfinder --version v2.3.0 · Jan 2020 · source
Authentication source identification shipped Identifies which passive sources require API keys or tokens, enabling users to configure authentication before scanning. 6 releases · 1 other source · first seen Jul 2020

Shared capability: Subdomain enumeration

release

  • Supports optional API keys for sources that can operate both authenticated and unauthenticated. v2.12.0 · Jan 2026 · source · release history
  • Adds API key support for HackerTarget, enabling authenticated higher-rate queries. v2.12.0 · Jan 2026 · source · release history
  • Supports environment variables inside subfinder config files, enabling secrets to be injected at runtime without hardcoding API keys. v2.9.0 · Sep 2025 · source · release history
  • Supports environment variables for supplying API keys, removing the need to store them in config files. v2.8.0 · Jun 2025 · source · release history
  • Allows API keys in the provider configuration file to be read from environment variables using $ENV_VAR_NAME syntax v2.6.0 · Jun 2023 · source · release history
  • Identifies which sources need an API key/token when subfinder -ls is used v2.3.8 · Jul 2020 · source · release history

example

  • Check which configured subdomains sources require authentication before running a scan. subfinder -ls v2.3.8 · Jul 2020 · source
Subdomain filtering shipped Filters discovered subdomains by include and exclude patterns, allowing recon to be scoped to specific naming conventions such as API or web hosts while omitting others such as dev environments. 2 releases · 3 other sources · first seen Oct 2022

Shared capability: Subdomain enumeration

release

  • Supports comments in input files, allowing annotated domain lists. v2.6.7 · Oct 2024 · source · release history
  • Adds subdomain match/filter support to refine which domains are collected v2.5.4 · Oct 2022 · source · release history

example

  • Filter discovered subdomains to only those matching an API or web naming pattern, while excluding dev subdomains — useful for scoping recon to production attack surface. subfinder -d example.com -match-regex '^(api|web)[0-9]{1,3}\.' -filter-regex '(^|\.)dev\.' v2.17.0 · Oct 2026 · source
  • Run enumeration against an annotated input file where lines beginning with # are treated as comments. subfinder -dL targets.txt # targets.txt example: # Production targets example.com # Staging staging.example.org v2.6.7 · Oct 2024 · source
  • Display help and all flags subfinder -h
Asynchronous result processing shipped Allows processing discovered subdomains as they arrive via a configurable callback interface. 3 releases · 1 other source · first seen May 2023

Shared capability: Subdomain enumeration

release

  • Adds wildcard certificate detection surfaced in JSON output. v2.10.0 · Nov 2025 · source · release history
  • Adds real-time result support to the ResultCallback for enumerated subdomains in the library interface. v2.10.0 · Nov 2025 · source · release history
  • Exposes onresultcallback in code to handle domain results asynchronously. v2.5.8 · May 2023 · source · release history

example

  • Process results as they arrive using the new callback interface in Go. package main import ( "fmt" subfinder "github.com/projectdiscovery/subfinder/v2/pkg/runner" ) func main() { options := subfinder.Options{} runner, _ := subfinder.NewRunner(&options)… v2.5.8 · May 2023 · source
Recursive subdomain discovery shipped Expands passive enumeration by recursively discovering subdomains of discovered subdomains to identify deeply nested assets. 2 releases · 1 other source · first seen Aug 2020

Shared capability: Subdomain enumeration

release

  • Adds GetStatistics function to the library API for retrieving enumeration statistics. v2.6.7 · Oct 2024 · source · release history
  • Adds -recursive CLI flag to enable recursive subdomain enumeration v2.4.0 · Aug 2020 · source · release history

example

  • Perform deep recursive subdomain discovery on a target domain using the new flag. subfinder -d example.com -recursive v2.4.0 · Aug 2020 · source
Source map support shipped Allows programmatic identification of which passive source provided each discovered subdomain via a returned source map. 1 release · first seen Jan 2025

Shared capability: Subdomain enumeration

release

  • Enables the Subfinder SDK to return a source map, improving programmatic use of discovery results. v2.6.8 · Jan 2025 · source · release history
Passive network discovery 1 feature Network discovery and scanning since 2021
HTTP(S) proxy support for source queries shipped Allows routing passive discovery queries through an HTTP or HTTPS proxy and binding to a specific network interface. 1 release · 1 other source · first seen Sep 2021

Shared capability: Passive network discovery

Also counts toward: Command-line interface

release

  • -proxy flag accepts an HTTP(S) proxy URL for source queries v2.4.9 · Sep 2021 · source · release history

example

  • Route queries through a proxy and bind to a specific network interface. subfinder -d example.com -proxy http://127.0.0.1:8080 -b 192.168.1.50 v2.4.9 · Sep 2021 · source
DNS record enumeration 1 feature Network discovery and scanning since 2021
DNS resolution integration shipped Resolves DNS records for discovered subdomains using the integrated dnsx engine. 1 release · 1 other source · first seen Feb 2021

Shared capability: DNS record enumeration

release

example

  • Resolve DNS records for discovered subdomains using the integrated dnsx engine. subfinder -d example.com -resolve -r 8.8.8.8,1.1.1.1 v2.4.6 · Feb 2021 · source
Attack surface inventory 1 feature Network discovery and scanning since 2025
Wildcard certificate detection shipped Detects wildcard certificates during passive subdomain discovery and surfaces the information in the JSON output. 1 release · first seen Nov 2025

Shared capability: Attack surface inventory

Also counts toward: JSON data export

release

  • Adds wildcard certificate detection surfaced in JSON output. v2.10.0 · Nov 2025 · source · release history
Other / not yet classified 4 features Features we have not matched to a capability yet. A suggested match is marked.
Per-source result limit verified Limits the number of results returned per source, with paginating sources such as VirusTotal honoring the cap and zero meaning unlimited. 16 releases · 4 other sources · first seen Jan 2024

Also counts toward: Command-line interface

release 16 total

  • Adds -mr / -max-results flag enforcement across all paginating sources, so result caps are now reliably honored when sources page through results. v2.16.0 · Aug 2026 · source · release history
  • -max-results is now honored across paginating sources v2.16.0 · Aug 2026 · source · release history
  • Adds THC as a passive subdomain enumeration source. v2.11.0 · Dec 2025 · source · release history
  • Adds Profundis as a passive subdomain enumeration source. v2.11.0 · Dec 2025 · source · release history
  • Adds MerkleMap as a passive subdomain enumeration source. v2.11.0 · Dec 2025 · source · release history
  • Adds Windvane as a new passive subdomain enumeration source. v2.10.0 · Nov 2025 · source · release history

command line

  • --response-size-read — max response body size to read in bytes from passive sources (0 = unlimited) v2.16.0 · Aug 2026 · command-line history
  • -max-results — limit the number of results per source (0 = unlimited; honored by paginating sources such as virustotal) v2.15.0 · Aug 2026 · command-line history
  • --max-results — limit the number of results per source (0 = unlimited; honored by paginating sources such as virustotal) v2.15.0 · Aug 2026 · command-line history

example

  • Enumerate subdomains using the newly added HudsonRock source to surface domains from credential-leak intelligence. subfinder -d example.com -s hudsonrock v2.6.8 · Jan 2025 · source
Machine-readable source listing shipped suggested Outputs the list of available passive sources in JSONL format so it can be consumed by automation or used to audit which sources the tool supports. 2 releases · 1 other source · first seen Aug 2026

Suggested capability: Subdomain enumeration. This is our guess, not confirmed.

Also counts toward: Command-line interface, JSON data export

release

  • Adds machine-readable source listing via -ls -oJ (outputs available sources as JSONL). v2.15.0 · Aug 2026 · source · release history
  • Adds -ls and -oJ flags for machine-readable source listing output in JSON format v2.15.0 · Aug 2026 · source · release history

example

  • Get a machine-readable list of all available passive sources to feed into automation or audit which sources subfinder supports. subfinder -ls -oJ v2.15.0 · Aug 2026 · source
Rate limiting for source queries shipped suggested Controls the maximum request rate to external passive sources to prevent overwhelming them or hitting rate limits. 2 releases · 1 other source · first seen Sep 2021

Suggested capability: Subdomain enumeration. This is our guess, not confirmed.

release

  • The -rls flag accepts a comma-separated list of source=rate pairs (e.g., crtsh=10/s,shodan=1/s) to enforce per-source rate limits. v2.6.2 · Aug 2023 · source · release history
  • -rate-limit flag sets the maximum requests per second to external sources v2.4.9 · Sep 2021 · source · release history

example

  • Apply custom rate limits to specific sources to avoid bans while scanning multiple targets. subfinder -d example.com -rls "crtsh=10/s,shodan=1/s" v2.6.2 · Aug 2023 · source
Self-update capability shipped Enables the CLI tool to update itself to the latest version directly from the command line. 2 releases · 1 other source · first seen Mar 2023

Also counts toward: Command-line interface

release

  • Integrated version check alongside the update command v2.5.7 · Mar 2023 · source · release history
  • -update: enables self-update capability within the CLI tool v2.5.7 · Mar 2023 · source · release history

example

  • Update subfinder to the latest version directly from the CLI without manual downloads. subfinder -update v2.5.7 · Mar 2023 · source

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for subfinder, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail subfinder puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Commercials

pricing & packaging history · ProjectDiscovery vendor page

23 readings of ProjectDiscovery's pricing page since Feb 2024, with 7 relaunches of its plan lineup and 4 changes to what its plans include — each one dated, compared with the reading before it, and explained for someone buying the tool.

Pricing and packaging history is included with Researcher and Business. See how every vendor we track sells, and how that has changed over time, using data we don't publish anywhere else.

See plans →

Website history

projectdiscovery.io, every change

ProjectDiscovery's home page and 3 more pages as they looked each month from August 2021 to October 2026: 18 renders, 4 changes of tagline or palette. Step through them, play them, or put any two months side by side.

Website history is included with Researcher and Business.

See plans →

Releases

Show

34 entries

  1. August 20262
  2. April 20261
  3. March 20261
  4. January 20261
  5. December 20251
  6. November 20251
  7. September 20251
  8. June 20251
  9. February 20251
  10. January 20251
  11. October 20241
  12. January 20241
  13. September 20231
  14. August 20231
  15. June 20231
  16. May 20232
  17. March 20231
  18. February 20231
  19. November 20221
  20. October 20221
  21. August 20221
  22. April 20221
  23. March 20221
  24. September 20211
  25. February 20211
  26. September 20202
  27. August 20201
  28. July 20201
  29. January 20201
  30. June 20181
  31. May 20181
    Show

    34 entries

    Project health

    Issue, contributor and maintainer activity in projectdiscovery/subfinder, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 30 +13 vs prior 12 months
    2. Maintainers 10 +9 joined · −3 left, last 12 months
    3. Bus factor 4 committers behind half the commits
    4. Community-filed 68% of issues opened, last 12 months
    5. Median time to close 4.6 days first maintainer reply 46 hours
    6. Open backlog 1 of 562 issues ever filed
    1. Issues opened / month 0 · 0 communitymaintainers
    2. Open backlog 1
    3. Contributors / month 4
    4. Commits / month 9
    5. Stars 14,470
    Issue themes, last 12 months
    • bugs 33%
    • features 26%
    • other 41%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Articles

    1 article · updated Nov 4, 2026

    Where subfinder turns up in what others publish: how-tos, attack reports that name it, and incident write-ups. A row says why it is here and quotes where the article names it; the link goes to the publisher.

    Breach post-mortems & incident response 1

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →