About this tool
Inspect an HTTP or HTTPS address as structured JSON without requesting the destination. The URL Parser shows both the normalized address and its components, with a separate list of decoded query parameters that preserves order and repeated keys.
How to use
- Paste a complete HTTP or HTTPS URL.
- For a relative path, supply a complete base URL. Use a trailing slash for a folder.
- Select Parse URL, inspect the components, and copy or download parsed-url.json.
Reading the components
The protocol includes its colon, hostname excludes the port, and origin includes scheme, host, and any non-default port. Pathname, search, and hash are shown separately. The raw search retains its leading question mark and encoded spelling, while queryParameters contains decoded names and values. Repeated parameters are preserved as separate entries instead of overwritten.
Normalization and decoding
Parsing uses the browser’s WHATWG URL implementation. Hostnames are normalized, default ports can disappear, and international domain names may appear in ASCII form. Query parsing turns plus signs into spaces and percent-decodes parameter names and values; a literal plus should be encoded as %2B. Path and fragment fields are not manually decoded.
Relative URL examples
With https://example.com/docs/ as the base, guide becomes https://example.com/docs/guide. Without the final slash, https://example.com/docs behaves like a file location and guide resolves at the site root. A leading slash also starts at the root. These differences help explain broken relative links during development.
Debug links without opening them
Use the output to inspect campaign links, repeated filter parameters, or unexpected redirects encoded in a query. Parsing does not check whether a domain exists, whether a page is reachable, or whether a link is safe. The tool does not fetch the pasted address or persist the result. Credentials and tokens can still appear in copied output, so review it before sharing.
Continue this workflow
Use the adjacent tool when the next step calls for a different input, output, or method.
Assumptions and limitations
- Only HTTP and HTTPS addresses are supported; mailto, file, data, and javascript URLs are rejected.
- Each URL is limited to 16,384 characters. Tabs and line breaks are rejected.
- This is URL parsing, not a malware scan, DNS lookup, redirect checker, or page metadata fetch.
- Malformed percent escapes may be preserved or replaced by the browser’s URL parser; this is not a strict percent-encoding validator.
Sources and standards
These authoritative references were used to verify the method and guidance on this page.
Frequently asked questions
Does parsing visit or fetch the URL?
No. The address is parsed locally using the browser URL API. No request to the destination is needed.
Why did a plus sign turn into a space?
Query-string parsing interprets + as a space. Use %2B when a parameter value needs a literal plus sign.
Are repeated query parameters kept?
Yes. For ?tag=one&tag=two, the queryParameters array contains both entries in their original order.
Why is the port field empty?
It is empty when no port was specified or when the specified port is the scheme’s default, such as 443 for HTTPS.