URL Parser & Query String Splitter

Break any URL into protocol, host, port, path, query parameters and fragment.

Runs instantly in your browser — results update as you type.

What are the parts of a URL?

A URL is made of a scheme (https), optional user info, a host (shop.example.com), an optional port (:8443), a path (/en/shoes/), an optional query string (?size=42&color=red) and an optional fragment (#reviews). A URL parser splits the address into these components.

Anatomy of a URL

https://user@shop.example.com:8443/en/shoes/?size=42&color=red#reviews
└─┬─┘   └┬─┘ └──────┬───────┘ └┬─┘└───┬────┘ └───────┬───────┘ └──┬───┘
scheme  user      host        port  path         query          fragment
PartPurposeSent to the server?
SchemeProtocol: https, http, ftp, mailto…Yes
HostDomain or IP of the serverYes (Host header)
PortDefaults to 443 for https and 80 for httpYes
PathWhich resource on the serverYes
QueryParameters (filters, IDs, tracking)Yes
FragmentJump to a section; used by JavaScript appsNo — stays in the browser

Why parse URLs?

  • Debugging — see exactly which parameters a link carries and whether they are encoded correctly.
  • Tracking audits — tracking parameters (UTM, gclid, fbclid…) are flagged in the parameter table.
  • Security — spot tricks like https://example.com@evil.com, where the real host is evil.com and "example.com" is only a username.
  • SEO — the number of path segments shows how deep a page sits; short, shallow URLs are easier to crawl and share.

How the parser works

We use your browser's built-in WHATWG URL parser — the same logic Chrome, Firefox and Safari use — so the result matches what a browser actually does. Values are shown decoded, and a normalised version of the URL is provided. Nothing is sent to our server.

Related tools: decode percent-encoded values with the URL Encoder / Decoder, strip parameters with the Query Parameter Remover, or convert international domain names with the Punycode Converter.

Frequently asked questions

What is the query string in a URL?

The query string is everything after the question mark and before any # fragment. It contains key=value parameters separated by ampersands, such as ?size=42&color=red.

Is the #fragment sent to the server?

No. The fragment stays in the browser. It is used to jump to a section or by JavaScript apps, so servers and analytics logs never see it.

What is the default port for HTTPS?

Port 443. HTTP uses port 80. A URL only shows the port when it is not the default.

Why does a URL contain an @ sign?

Text before an @ in the host part is user information. Attackers use it to make a link look like it goes to a trusted site; the real host is what comes after the @.

Does the parser support international domains?

Yes. Internationalised domains are shown in their Punycode (xn--) form, which is how browsers send them.