Developer tools

URL Parser

Inspect URL components and query parameters in your browser.

Stays on your device

URL to parse

See the parts of an address without visiting it.

Required for relative URLs. Leave blank for absolute URLs. A supplied base must be valid.

Enter a URL, then choose Parse URL.

URLs may contain passwords or tokens. Results and exports include them. Nothing is sent to the URL, logged, or saved automatically.

Parsed URL

Your components and query parameters will appear here.

How to use

  1. Enter a URL

    Paste an absolute URL, or add a base URL to resolve a relative path. Example fills a sample you can edit.

  2. Parse and inspect

    Compare the original with the browser’s normalized representation. Review the components and each query entry.

  3. Copy or download

    Copy the normalized URL or export JSON containing the original input, base, components and query array. Edit and parse again, or Reset to clear everything.

Privacy and normalization

Addresses stay as text

Parsing happens in your browser. This tool never opens supplied URLs, loads their content, checks links or resolves DNS. It does not automatically store or transmit your input.

Browser URL rules apply

The native URL API may lowercase hosts, remove default ports, resolve dot segments, trim surrounding whitespace, remove tabs/newlines, encode Unicode paths and convert domain names to ASCII (Punycode). Original input and base remain in the result.

Query decoding is forgiving

URLSearchParams decodes percent escapes once and treats + as space. Invalid percent escapes may remain literal; invalid UTF-8 bytes become replacement characters (�). Empty separators are skipped; a bare flag and a flag with = both have an empty value. The original URL preserves that distinction.

Frequently asked questions

How do relative URLs and the base work?

Without a base, enter an absolute URL with a scheme. With base https://example.com/folder/page, ../next resolves to https://example.com/next. A trailing slash matters: /folder/ is a directory, while /folder is a last path segment. //other.example/path inherits the base’s scheme. A nonempty base must itself be a valid absolute URL, even when the input is absolute. Empty input is an error.

Are duplicate parameters and Unicode preserved?

Query entries are an ordered array, so ?tag=a&tag=b retains both values. Unicode query text is decoded, while component fields generally retain escapes. The browser can replace unpaired Unicode surrogates; JSON retains the original JavaScript input string using escapes where necessary. The JSON view also exposes invisible whitespace and control characters.

Does a successful parse mean an address is safe or reachable?

No. It only means the browser can parse its syntax. Non-HTTP schemes such as mailto:, data: and javascript: remain inert text here. No reputation, destination, DNS or security check is performed. Never use a parsed result as proof that navigating to it is safe.

What are the limits and export details?

There is no fixed URL-length or processing-time cap. Browser memory and platform support determine what can complete; Cancel stops a run. JSON is UTF-8 and includes credentials and query tokens if present. Copy and download only happen when requested. Browser clipboard restrictions may require manual copying from the JSON view.