Domain Separator
Free bulk URL parser. Extract protocol, host, root domain, subdomain, TLD, port, path, query and fragment from any URL list. No limits.
About the tool
What is the SBMM Domain Separator?
The SBMM Domain Separator is a free online bulk URL parser that breaks every URL in your paste into its component parts: protocol, full host, root domain, subdomain, top-level domain (gTLD or ccTLD), port, path, query string, query parameter count, and fragment. Paste any list of URLs and the separator returns a clean table you can copy into a spreadsheet, a backlink report, or a competitive research deck.
Parsing URLs into components is the first step in any serious competitive research, server-log analysis, backlink audit, or content-architecture project. You cannot group traffic by root domain without parsing the host. You cannot classify links by TLD without separating the subdomain from the registered domain. You cannot count paid-search parameters without splitting the query string. The Domain Separator does all of this in one paste.
The parser correctly handles edge cases that trip simple split-on-dots logic: multi-part country TLDs (.co.uk, .com.pk, .co.in, .org.au), subdomains with multiple labels (a.b.example.com), Punycode-encoded internationalised domains, IPv4 and IPv6 hosts, and URLs with non-standard ports. Every row in the output is a clean parse you can act on.
Step by step
How to use this tool in 3 steps
-
Step 01
Paste your URL list
Drop a list of URLs (one per line) into the input panel. The list can be from a backlink export, a server log, a competitor sitemap extract, an analytics dashboard, or a manual scrape. There is no cap on the free tier.
-
Step 02
Parse every URL into components
The separator parses each URL using a registered-domain-aware algorithm that knows multi-part country TLDs (.co.uk, .com.pk) and preserves multi-label subdomains so the root domain comes out clean even on complex hosts.
-
Step 03
Review the table or export
See a per-URL row with protocol, host, root domain, subdomain, TLD, port, path, query string, parameter count, and fragment. Copy the table into a spreadsheet, paste it into a backlink report, or download as a CSV.
Why this tool
Why use this tool
-
Parses every URL component
Protocol, full host, root domain, subdomain, TLD (gTLD or ccTLD), port, path, query string, query parameter count, and fragment all parsed into separate columns so each component can be filtered or grouped independently.
-
Handles multi-part country TLDs
Correctly identifies .co.uk, .com.pk, .co.in, .org.au, .gov.uk, .edu.au, and other multi-part country code TLDs as a single TLD so the registered root domain comes out clean. A simple split-on-dot would break here.
-
Multi-label subdomain support
Subdomains with multiple labels (analytics.a.b.example.com, blog.support.help.example.org) are preserved intact in the subdomain column. The root domain stays clean regardless of how many labels sit on top.
-
IDN + Punycode handling
Internationalised domain names in their Punycode form (xn--80akhbyknj4f) are recognised correctly without normalisation errors. IPv4 and IPv6 hosts are parsed as hosts rather than misinterpreted as paths.
-
100% on-device, nothing uploaded
Every parse runs in your browser using local JavaScript. Confidential URL lists (client backlink reports, internal server logs, competitor research scrapes) stay on your device. Nothing is sent to a server, nothing is logged.
-
Free, no cap, no sign-up
Unlimited use, no daily cap, no email gate, no Pro paywall. SBMM Pro adds CSV export of the parsed table, grouping aggregations (count of URLs per root domain), and saved parse recipes for repeating workflows.
FAQ
Frequently asked questions
What is the difference between the host and the root domain?
The host is the full server name in the URL: blog.example.co.uk. The root domain is the registered domain only: example.co.uk. The subdomain is the prefix: blog. Multi-part country TLDs (.co.uk) and multi-label subdomains (a.b.c.example.com) make the split non-trivial; the separator handles both correctly.
What is a gTLD versus a ccTLD?
A gTLD is a generic top-level domain (.com, .org, .net, .app, .dev, .ai). A ccTLD is a country-code top-level domain (.uk, .pk, .in, .au, .de). Multi-part ccTLDs (.co.uk) are technically a country code plus a second-level category; the separator treats the whole sequence as a single TLD for clean root-domain extraction.
Why use a bulk URL parser?
Almost every SEO, analytics, or security workflow at scale needs URL components separately. Grouping server-log traffic by root domain, classifying backlinks by TLD, counting paid-search parameters across a campaign, filtering a sitemap extract by subdomain, building an internal-linking matrix between subfolders, and a dozen other tasks all start with the same step. Pair it with the URL Editor for batch cleanup before parsing.
Can it handle subdomains with multiple labels?
Yes. URLs like analytics.a.b.example.com are parsed with the subdomain set to "analytics.a.b" and the root domain set to "example.com". Multi-label subdomains are common on enterprise sites and on platforms that route traffic through nested subdomains; the separator preserves them intact.
Does it parse IPv4 and IPv6 hosts correctly?
Yes. URLs with IPv4 hosts (http://192.168.1.1/path) are parsed with the IP as the host and the rest of the URL as the path. IPv6 hosts (http://[::1]:8080/path) have their bracket-wrapped address parsed as the host with the port extracted correctly.
What is a fragment in a URL?
A fragment is the part of a URL after the # character (https://example.com/page#section-2). It points to an in-page anchor and is never sent to the server, so it has no SEO ranking impact, but it can matter for analytics, deep-linking, and link-builder workflows. The separator extracts it as its own column.
How does the tool count query parameters?
The query string (everything after the ? in the URL) is split on the & delimiter and each name=value pair is counted as one parameter. Bare flags without an = sign also count. The total parameter count appears as its own column so you can spot URLs with abnormally long parameter trains in one glance.
Does the parser upload my URL list?
No. Every parse runs in your browser using local JavaScript. No URL is sent to a server, no row is logged. Client backlink reports, internal server logs, and competitor research scrapes stay on your device.