piapia123
en

URL Parser & Query String Breakdown

Web & Network

Everything runs locally in your browser — nothing is uploaded

Input
Output

Split a URL into its scheme, credentials, host, port, path, query string and fragment, plus the normalised address a browser would actually request. Query parameters come out as a table with raw and decoded values side by side, so percent-encoded text and its readable form can never be confused, and neither can a plus sign that means "space" and one that is just a plus sign. Paste an address with no scheme and https:// is added, with a note telling you it was.

Features

  • Breaks out scheme, username, password, host, port, path, query string, fragment and origin
  • Query parameters as a table: index, name, raw value and decoded value side by side
  • Adds https:// when the scheme is missing; protocol-relative //example.com/x gets https:
  • host:port inputs such as localhost:3000 are not mistaken for a scheme
  • Shows the normalised address — the exact string the browser would send
  • Reports the default port for the scheme when none is written
  • Never echoes a password in clear text, including inside the normalised address
  • A malformed percent sequence does not fail the whole parse; the other parts still come through

How to use

  1. Paste a URL into the input box
  2. Adjust the options if you need to: scheme completion, parameter display
  3. The result appears as you type — no button to press
  4. Click Copy to take the whole breakdown

FAQ

Why was a plus sign decoded into a space?
A + meaning a space comes from application/x-www-form-urlencoded, the convention HTML forms use and the one built-in URLSearchParams follows. In an ordinary URL a + is often a literal plus, as in the timezone offset +08:00, and both readings are defensible. That is why the table shows the raw value and the decoded value together: when you need the literal plus, read the raw column.
It parsed my input even though I left out the scheme?
A missing scheme gets https:// prepended, and the result says so rather than letting you believe you pasted a complete URL. If you meant a different protocol (http, ftp), paste the full address. The behaviour can be switched off, and then a missing scheme is reported as an error instead.
The address in the result is not what I typed?
Non-ASCII paths, parameters and fragments are normalised into percent-encoding, a default port is dropped and redundant path segments are collapsed — this is the address a browser would actually request. The input box still shows exactly what you typed.
Why only one URL at a time?
Input containing a line break is rejected instead of being quietly glued into one malformed address. Joining multiple lines has a very sneaky failure mode: the result looks plausible, but the hostname is wrong.
Is my URL uploaded anywhere?
No. Parsing happens entirely in your browser memory, the page makes no network requests, and it keeps working offline.

Related tools