URL Parser
Query parameters
| Parameter | Value |
|---|
About URL Parser
A URL is a handful of fixed parts stacked together: scheme, host, port, path, query string, and fragment. Most of the time you never look at them. The moment you debug a redirect, compare two parameter sets, or check what a tracking link carries, you have to pull them apart.
Paste a URL and each part shows up on its own. Query parameters get their own table, encoded values are decoded, and repeated keys are listed one by one instead of being merged. If you leave the scheme out, it is filled in as https before parsing.
The fragment, everything after the #, never reaches the server. It only means something inside the browser, which is exactly why people miss it when parameters go missing.
Frequently asked questions
Why did the space turn into %20?
URLs cannot hold raw spaces or non-ASCII characters, so the browser percent-encodes them. What you see here is the decoded value, ready to read or copy.
A key appears twice, which one does the server get?
It depends on the framework. Some hand you an array, others keep the last value. This page lists every occurrence and leaves the merging to you.
Does the server see anything after the #?
No. The fragment belongs to the browser and is never sent. Parameters have to sit after the ? to reach the server.
Can it parse internationalized domain names?
Yes, though they show up in punycode form, the xn-- string, because that is what the URL standard actually carries.