Skip to main content
NeatUtility

URL Parser

Web & API100% Client-Side
Ready
URL
0 lines0 chars
0 B / 97.7 KB
About this tool, examples & FAQ

Decompose a URL into protocol, host, port, path segments, query parameters, and fragment using the platform URL parser, entirely in your browser. The address is never fetched or visited; credentials in the URL are shown as parsed username and password fields.

Key facts

Verified capabilities and limits of this utility
Accepted inputURL text; a missing scheme is auto-prefixed when the option is enabled
OutputsTwo JSON outputs: a full component breakdown plus a query-parameter dictionary
Value decodingPercent-encoded path segments and query values are decoded when enabled; repeated keys are preserved in order in the entries list and aggregated into an array in the dictionary form, while single keys stay strings.
Max input size100 KB
Execution deadline1 s
Processing locationBrowser-only: the parsed URL is never fetched or visited

How to use

  1. Paste any complete or partial URL into the input editor.
  2. Choose whether encoded values are decoded and whether a missing protocol is auto-prefixed.
  3. Click 'Run' to parse the URL.
  4. Inspect the structured breakdown showing protocol, host, port, and query parameter counts.
  5. View the full JSON output or switch to the Query Parameters tab for isolated key-value inspection.

Example

Parse URL with duplicate keys and fragment

Input

https://example.test:8443/docs?q=hello%20world&q=two#intro

Example output

{
  "href": "https://example.test:8443/docs?q=hello%20world&q=two#intro",
  "protocol": "https:",
  "origin": "https://example.test:8443",
  "username": null,
  "password": null,
  "host": "example.test:8443",
  "hostname": "example.test",
  "port": "8443",
  "pathname": "/docs",
  "pathSegments": [
    "docs"
  ],
  "search": "?q=hello%20world&q=two",
  "queryParams": {
    "q": [
      "hello world",
      "two"
    ]
  },
  "queryEntries": [
    {
      "key": "q",
      "value": "hello world"
    },
    {
      "key": "q",
      "value": "two"
    }
  ],
  "hash": "#intro",
  "hashFragment": "intro"
}
{
  "q": [
    "hello world",
    "two"
  ]
}

Edge cases

Missing scheme

Input without a scheme, such as example.com/api, is parsed with an auto-prefixed secure scheme when the option is enabled; otherwise parsing may fail.

Default ports

When the URL carries no explicit port, the breakdown reports the scheme default for HTTP and HTTPS URLs rather than leaving the field empty.

Duplicate query keys

Repeated keys are kept in order in the entries list and aggregated into an array in the dictionary form, so no value is silently dropped.

Credential presence

Usernames and passwords embedded in the URL appear as plaintext parsed fields. Avoid pasting URLs with real secrets, and prefer synthetic examples.

How it works

  1. Optionally prefixes a missing scheme, then parses with the platform WHATWG URL implementation.
  2. Splits the path into decoded segments and collects query entries in order, aggregating duplicates into arrays.
  3. Separates the fragment from the query string and reports origin, host, and port fields.
  4. Returns two JSON outputs — the full breakdown and the query-parameter dictionary — inside a Web Worker bounded by the tool deadline.

Frequently asked questions

What is the difference between host and hostname?

Hostname is the bare domain (example.test), while host includes the port when one is present (example.test:8443). The breakdown reports both so you can see exactly what was parsed.

What is the difference between the query and the fragment?

The query follows ? and carries key-value parameters sent to the server; the fragment follows # and identifies a client-side section. The parser reports them as separate search and hash fields.

How are duplicate query keys handled?

Duplicates are preserved in order in the entries list and combined into an array in the dictionary output, so ?q=hello%20world&q=two keeps both values.

Is the pasted URL fetched or visited?

No. The tool only parses the URL string locally in your browser and never issues a network request to the address.

What happens to credentials in the URL?

A username and password in the URL are surfaced as plaintext parsed fields with presence information. The tool does not authenticate anywhere; treat pasted credentials as visible output and avoid real secrets.

References