Dev Tools
URL Parser
Break a long or messy URL down into its protocol, host, path, and individual query parameters.
No query parameters.
Related: look up the DNS records for the host you parsed out.
Runs entirely in your browser. Nothing you paste is sent anywhere.
Learn about URL structure
The pieces of a URL
A URL breaks down into a scheme (https), a host (example.com), an optional port (443 for HTTPS and 80 for HTTP by default, so it's usually hidden), a path (/blog/post), a query string (?key=value), and a fragment (#section), which never gets sent to the server at all.
Reading your results
Repeated query parameter keys are technically legal, and different frameworks handle them differently: some keep only the last value, others collect them into an array. The fragment is handled entirely by the browser once the page loads, commonly used for in-page anchors and, increasingly, for client-side routing.
Common questions
Why doesn't the server ever see my URL's fragment? The fragment is explicitly excluded from what the browser sends in the actual HTTP request. That's part of the URL spec itself, not a quirk of any particular server.
Why do some query parameters have %20 and others have +? Both represent an encoded space. Historically, + was the convention specifically inside form-encoded submissions, while %20 is the general percent-encoding for a literal space. Most parsers accept either one in a query string.
Does the order of query parameters matter? Not to the URL spec itself, but it can matter to whatever server or app is actually reading them, if that code wasn't written to handle an arbitrary order. It's safest not to rely on order either way.