URL Parser
Break a URL into its parts.
How to use URL Parser
Split a web address into protocol, host, path, query string and hash for quick inspection.
Open URL Parser on toolpermarket — the form is ready, so type your numbers and read the result.
In the URL field, paste an absolute URL including the http:// or https:// scheme. Relative URLs without a scheme will be rejected so you know immediately.
Press Parse to compute the result. The output appears immediately below the form. Edit a value and press the button once more to see the updated answer.
Read the result and use it as needed. If the number looks off, re-check your inputs and run it again — the math is deterministic, so the same entries always return the same answer.
Worked example. Paste https://example.com/path?q=hi#frag and see protocol, host, path, the query pair q=hi, and the hash frag.
Tips for accurate results.
The scheme (http/https) and host are shown separately.
Query parameters are split into key = value pairs.
The fragment after # is the in-page anchor.
When to use URL Parser. Inspecting a link before building a redirect. Debugging why a query parameter is missing. Teaching or checking URL structure quickly.
When you actually reach for this
- You have a full URL and need to pull out the scheme, host, path, query, or fragment programmatically.
- You are debugging a redirect and want to see exactly what each component of a suspicious link contains.
Where this tool stops being accurate
- It parses structure, not meaning — a valid-looking URL can still point to a malicious host; always validate the domain separately.
- Percent-decoding is applied where safe, but some encoded characters may stay encoded to preserve round-tripping.
Frequently asked questions
Why must the URL be absolute?
The parser relies on the built-in URL standard, which requires a scheme and host. A relative path like "/foo" has no host, so the tool asks for a full absolute URL instead.
Are the query params decoded?
They are listed as key = value pairs exactly as present in the string; percent-encoding such as %20 is shown as-is rather than decoded.
What is the origin field?
Origin is scheme + host + port (if any), with no path or query — the part browsers use for same-origin checks.
Why is my path double-encoded after parsing?
The URL likely arrived already percent-encoded; the parser decodes once. Re-encode only if you rebuild the URL for a request.
Can I trust the parsed host for security?
No — parse to read it, but check the host against an allowlist and watch for homograph/punycode tricks before acting on it.