ToolsForWeb

URL Parser

Paste a URL to see its protocol, credentials, hostname, port (showing defaults implied by the scheme, like 443 for https), path, query parameters in order with duplicates preserved, fragment and normalized href — and a warning when the URL embeds credentials, which leak into logs and history. Bare hostnames like example.com are read as http:// URLs. Runs entirely in your browser.

Bare hostnames like example.com are read as http:// URLs.

About this tool

Paste a URL and see every part of it separated: protocol, credentials, hostname, port, path, query parameters, fragment, origin and the normalized href. The port row shows a default implied by the scheme — 443 for https, 80 for http, 80/443 for ws/wss — so an empty port is never mistaken for no port. Query parameters are listed in order with duplicates preserved, decoded for reading; a value with a malformed percent-escape is shown raw instead of erroring. Bare hostnames like example.com are read as http:// URLs, and a URL that embeds credentials gets a warning, because credentials in URLs leak into logs, browser history and Referer headers.

When to use it

Checking which query parameters a URL actually carries, including duplicated keys.
Debugging tracking or callback URLs where parameter order and encoding matter.
Seeing whether a port is explicit or just implied by the scheme.
Spotting credentials embedded in a URL before you paste it into a log or a ticket.

Questions

Why does my port show "443 (implied by https)"?

The URL had no explicit port, so the scheme's default applies: https always uses 443 and http uses 80 unless stated otherwise. An explicitly written :443 is collapsed by the URL parser and shows the same way.

Why did + in my query value turn into a space?

In query strings, + is the historical encoding for a space, and the decoder follows that convention. If you need the literal plus character, percent-encode it as %2B in the URL.

Are IPv6 and unusual hosts handled?

Yes. IPv6 hosts keep their brackets (http://[::1]:8080/ parses cleanly), and a bare hostname like example.com is accepted and read as http://example.com. Only relative paths are rejected, because they have no host to parse.

Related tools