Supply the right base
A relative path needs a valid base; an empty reference with a base is also valid. A supplied invalid base is rejected even alongside an absolute input.
URL / URI Tools
Understand the address your browser parses
Your input is processed in this browser and is not sent to a server.
Use a valid base for relative references. An empty reference with a base is valid.
Results follow WHATWG normalization. Exports exclude the original input and base.
Authority credentials are always concealed; href removes them. This does not detect secrets in paths, queries or fragments.
Input and base: 100,000 UTF-16 units each. Maximum 1,000 parameters and 4,000,000 output units.
Enter a URL or a base, or choose the example.
The URL parser helps explain why a pasted link produces a different host, path or port than expected. Compare URL components in a JSON report without visiting the destination.
To parse URL online, supply an absolute address or a relative reference with a base. A query string parser inside the report keeps repeated parameters in order instead of overwriting them in an object.
The URL parser separates hostname, host and origin. A name before @ is userinfo, not the destination; derived fields replace credentials with fixed markers and href removes them entirely.
A base ending in /docs/guide/ makes ../assets/logo.svg resolve under /docs/assets/. Inspect the resulting path before copying the normalized URL; the original editors stay unchanged.
A relative path needs a valid base; an empty reference with a base is also valid. A supplied invalid base is rejected even alongside an absolute input.
Default ports can disappear, domain letters become lowercase and dot segments resolve. Query values decode + as a space, while %2B remains a plus.
Automatic parsing waits 350 ms. Disable it to use Parse or Ctrl/Cmd+Enter. Editing either input disables exports until refreshed; Example and Clear offer a replacement preview and one undo.
host includes a nondefault port; hostname excludes it and retains IPv6 brackets. origin describes the scheme and authority for ordinary web URLs.
Repeated names remain separate entries. Empty names and values survive, but a bare flag and flag= both yield an empty value.
Read normalized components and parameters as JSON, or switch to the credential-free href. The report records whether a base was supplied without including its text.
Accepted mailto:, data:, blob: and file: URLs follow native parsing rules. An empty host or an origin of "null" can be a meaningful result.
For https://example.com:8443/a, host is example.com:8443 and origin is https://example.com:8443. hostname is example.com. A scheme’s default port is omitted after normalization.
The standard resolves dot segments and applies scheme-specific escaping. For example, /a/../b becomes /b in an HTTPS URL. The result is a parsed representation, not a copy of the original spelling.
The parsing operation runs in your browser. It neither submits the pasted address for analysis nor opens its destination.
In https://trusted.example@other.example/, trusted.example is a username and other.example is the host. Inspect hostname; this tool conceals the username rather than displaying a potentially confusing address.
It introduces a Punycode label used for an internationalized domain. The native parser returns its ASCII representation; that spelling is not a judgment about the domain’s owner or safety.
Something looks wrong?
Use the URL parser to compare a relative reference with its base, check repeated parameters and export the browser’s normalized interpretation.