Zero Signup ToolsFree browser tools

Developer Tools

Bulk Root Domain Extractor

Paste a list of URLs and extract the registrable domain (eTLD+1) for each. Dedupe, count, and export to CSV or JSON in your browser.

Scheme filter

URLs can be separated by line breaks, commas, semicolons, tabs, or spaces. Bare hosts like example.com are auto-prefixed with https:// for parsing. Everything runs locally; your list is never uploaded.

URLs parsed

0

of 0 total

Unique root domains

0

eTLD+1 hosts

Unique subdomains

0

across all roots

Could not parse

0

see the per-URL view

Sort
Format
Unique root domains appear here.

What this tool does

Registrable domain (eTLD+1)
Each hostname is walked right to left to find the longest public suffix. The registrable domain is that suffix plus one more label, so a.b.example.com becomes example.com and shop.example.co.uk becomes example.co.uk.
Private effective TLDs
Hosting platforms where every customer gets a unique subdomain are treated as effective TLDs, so alice.github.io and bob.github.io count as separate sites, the same way the Public Suffix List defines them. Covers github.io, vercel.app, netlify.app, pages.dev, web.app, herokuapp.com, and many more.
Bulk dedup
Paste hundreds of URLs and get a clean list of unique root domains with counts. Useful for SEO backlink lists, marketing CSV cleanup, analytics segmentation, vendor allowlists, and cookie scoping audits.
www. and case folding
www.example.com and EXAMPLE.com are collapsed into the same bucket by default so your unique count matches what analytics tools and search engines treat as the same site. Toggle either option off when you need them treated separately.
IP address handling
IPv4 hosts like 192.168.1.1 and IPv6 hosts like [2001:db8::1] are passed through unchanged. The IP itself becomes the registrable domain so dedup still works. Untick the include option to drop them.
Mixed input formats
URLs can be split by line breaks, commas, semicolons, tabs, or any whitespace, in any combination. Bare hosts like example.com/foo are auto-prefixed with https:// before parsing so the WHATWG URL constructor can handle them.

How to use

  1. Paste your URLs into the input area. Line breaks, commas, semicolons, tabs, and whitespace all work as separators. Load a sample if you want to see the output shape.
  2. Tick the options that match how you want hosts merged: Treat www. as no subdomain, Lowercase the host, Include IP addresses, and pick a scheme filter (Any, http, https, or http or https).
  3. Switch between Unique root domains (with sort by count, name, or first seen), Per-URL breakdown (with the original URL plus root, subdomain, and TLD per row), and Subdomains by root (grouped lists).
  4. Pick the output format: plain list, list with counts, CSV (RFC 4180 quoting), or JSON. Each view has its own copy button.
  5. If any rows could not be parsed, fix or remove them from the input and the totals update live. The Could not parse banner lists the first ten skipped inputs with the reason.

About this tool

Bulk Root Domain Extractor takes a list of URLs (line breaks, commas, semicolons, tabs, or any whitespace work as separators) and pulls out the registrable domain (eTLD+1) for every entry, then deduplicates the result. The hostname is walked right to left and matched against a curated subset of the IANA Public Suffix List so that multi-part country suffixes like .co.uk, .com.au, .co.jp, .com.br, and .co.za return the right registrable domain instead of collapsing to a single label. The list also includes the 'private' effective TLDs from the PSL where every customer registers their own subdomain (github.io, vercel.app, netlify.app, pages.dev, web.app, herokuapp.com, azurewebsites.net, myshopify.com, substack.com, and more), so alice.github.io and bob.github.io count as separate sites the way SEO and analytics tools treat them. Three views render from the same parse pass: Unique root domains shows a deduplicated list sorted by count, name, or first-seen order with a copyable plain list, list-plus-count, CSV, or JSON output; Per-URL breakdown shows the original URL, root domain, subdomain, TLD, and scheme for every row plus a separate bucket for inputs that could not be parsed; and Subdomains by root groups every unique subdomain under its parent root domain. A leading www. subdomain is collapsed into the root by default so example.com and www.example.com end up in the same bucket, and hostnames are lowercased so EXAMPLE.com matches example.com, matching the way visits are merged in Google Analytics, Cloudflare Analytics, Plausible, and search consoles. Bare hosts like example.com/path are auto-prefixed with https:// before parsing so a copy paste from a spreadsheet or chat message just works. IPv4 and IPv6 hosts are passed through unchanged, and a scheme filter narrows the result to http only, https only, http or https only, or any. Useful for SEO backlink list dedup (turn a list of 800 referring URLs into the 120 unique referring domains underneath), marketing campaign URL cleanup, cookie scoping audits (which registrable domain does a cookie apply to?), CORS allowlist construction, vendor and tracker inventory, security log analysis where one row per source domain is more useful than one row per request, and any time you need to ask 'how many distinct sites does this list of URLs represent?' Everything runs in your browser; the URL list, parsed hostnames, and output never leave your device, which matters because referrer lists, internal URLs, and customer-facing backlink reports are often sensitive.

Free to use. Works in your browser. No signup, no login.

Related tools

You may also like

All tools
All toolsDeveloper Tools