UTILITIES WORKSPACE
URL Parser
Inspect raw HTTP URL components without fetching.
Input is processed on this site only when you run the tool. The application does not save inputs or results.
input.txt
Result result.json
A little clarity goes here.
Run the tool to see your result.
Result preview
UTF-8 text, at most 8192 bytes per input. Tab leaves the editor. Plain text disables syntax colors. Browser textareas may normalize line endings to LF.
{"parse":{"inputMode":"text","options":[],"inputLabels":[],"inputLimits":[]}}{"parse":{"input":"https:\/\/example.com:8443\/path?q=one&q=two&empty=#part","options":[]}}A QUICK WALKTHROUGH
A familiar workflow,
with room to focus.
Enter an ASCII absolute HTTP or HTTPS URL.
Parse without visiting or fetching the address.
Inspect raw components and ordered query pairs, including duplicates.
When to use URL Parser
Inspect the components and repeated query parameters of an ASCII HTTP or HTTPS address without visiting it.
Read the result
Raw path/query text is retained. Parsing does not resolve DNS, decode values, merge duplicate parameters or establish that an address is safe to visit.
SEE IT IN PRACTICE
Worked examples
Sample input. A result you can inspect.
Parse example
Input
https://example.com:8443/path?q=one&q=two&empty=#part
Expected result
{"scheme":"https","host":"example.com","port":8443,"path":"/path","query":"q=one&q=two&empty=","fragment":"part","queryPairs":[{"name":"q","value":"one"},{"name":"q","value":"two"},{"name":"empty","value":""}]}{"kind":"properties","title":"URL breakdown","fields":[{"label":"Scheme","value":"https"},{"label":"Host","value":"example.com"},{"label":"Port","value":"8443"},{"label":"Path","value":"\/path"},{"label":"Query","value":"q=one&q=two&empty="},{"label":"Fragment","value":"part"}],"columns":["Parameter","Raw value"],"rows":[["q","one"],["q","two"],["empty",""]],"note":"Query components are shown exactly as supplied. No URL was fetched.","schema":1}Formats, limits and common errors
Supply a supported absolute URL; use the encoder separately for component encoding.
- DNS-style ASCII host or bracketed IPv6; explicit ports 1–65535. No credentials, controls, spaces, backslashes, non-ASCII or malformed percent escapes.
- Components retain their text except port, which PHP returns as an integer. Query splits only on & and the first =; no decoding, merging, DNS lookup, network request or URL-safety guarantee. At most 200 query pairs.
- Quotes, angle brackets, braces, pipe, caret and backtick must be percent encoded. A single terminal DNS dot is supported; multiple terminal dots are rejected.
- Absent query/fragment uses null, while explicitly empty uses an empty string. Internationalized names require their ASCII form; no IDNA conversion.
- Input: 8,192 UTF-8 bytes per text field. Output: at most 524,288 UTF-8 bytes; serialized responses have a separate 1 MiB ceiling. Size/work failures return no partial result.
PHP URL component parsing limitations ↗ (opens in a new tab)