URL Parser & Decoder

Overview

The URL parser splits a link into its individual parts — protocol, username, password, hostname, port, path, query string, and hash — and formats the query parameters as a JSON object for easier inspection. Paste any URL and each component is shown separately with a one-click copy button.

A Complete Parsing Example

Input:

https://me:[email protected]:5436/t/url-parser?key1=value&tag=js&tag=vue#the-hash

Result:

  • Protocol: https:
  • Username: me
  • Password: pwd
  • Hostname: example.com
  • Port: 5436
  • Path: /t/url-parser
  • Query: ?key1=value&tag=js&tag=vue
  • Hash: #the-hash

Query parameters as JSON:

{
  "key1": "value",
  "tag": ["js", "vue"]
}

When the same key appears more than once (tag=js&tag=vue), the result merges them into an array automatically.

Protocol Auto-Completion

If you paste a bare domain like example.com/path?q=search, the tool prepends https:// and parses that. The protocol field in the result will show https:. If you need to parse an http:// URL, include the protocol explicitly — it will not be upgraded.

Hash Parameters vs. Hash Anchors

A hash like #the-hash is returned as-is, as a plain string. A hash that contains an equals sign, like #token=abc&expires=3600, is parsed into a separate JSON block:

{
  "token": "abc",
  "expires": "3600"
}

This pattern is common in OAuth callbacks and single-page app routing, where the access token is passed in the hash instead of the query string to prevent it from appearing in server logs.

Percent-Encoded Characters

Encoded characters like %E4%B8%AD%E6%96%87 are decoded and displayed as readable text in the parsed fields. The raw query string field retains the original encoded form. If you copy from a parsed field you get the decoded value; if you need the encoded form, copy from the raw query field instead.