URL Parser
URL Parser
Parse common hierarchical URLs (for example, https://example.com/path) into structured fields such as protocol, hostname, port, and path. Edit query parameters individually and preview the assembled URL in real time. Useful for API debugging, link analysis, and parameter tuning.
🚀 Quick Start
- Paste or type a URL (or a relative path) in the input box; the tool will try to parse it automatically.
- In "Details", edit protocol, hostname, port, path, fragment, and other fields one by one.
- In "Query parameters", add, remove, or edit key-value pairs.
- "Output URL" updates in real time and can be copied with one click.
- Enable "Auto add https:// when missing scheme" to prepend https:// for inputs without a scheme.
📌 Common Scenarios
- API debugging: break down endpoint URLs, inspect or adjust query parameters, and quickly pinpoint parameter issues.
- Link analysis: unpack complex marketing/tracking URLs to inspect UTM parameters, referrer sources, and more.
- Parameter tuning: quickly add, remove, and edit paging, filtering, sorting, and other query parameters with less manual URL concatenation.
- Link cleanup: remove unnecessary tracking parameters before sharing a cleaner URL.
- Redirect troubleshooting: inspect redirect URLs and verify target host, port, and path.
- Deep-link construction: assemble app deep links (including custom schemes) and preview the full URL instantly.
🧭 Usage Advice
- When input has no scheme and looks like a domain or host:port, keeping "Auto add https:// when missing scheme" enabled is recommended. To test a specific scheme, enter the full scheme prefix directly.
- Query parameter values are URL-encoded/decoded automatically; just enter plain text.
- If search is empty and the part after # contains ?, the tool treats it as query parameters in hash.
- Relative paths are supported (for example, /api/users?page=2). In this mode, protocol and hostname stay empty.
- After editing, copy from "Output URL" with one click to avoid manual concatenation errors.
- Need standalone encoding/decoding for a value? Use the companion tool "URL Encoder/Decoder".
⚠️ Limitations & Compatibility
- This tool relies on the browser's built-in URL API; some non-standard URL formats may fail to parse. Field-based editing and reassembly of non-hierarchical schemes like mailto:, data:, and file: are limited.
- Automatic encoding follows RFC 3986, which may differ from legacy/non-standard encoding used by some old systems.
🔒 Privacy & Security
- All processing happens locally in your browser. Your data never leaves your device.
- Username/password in URLs are displayed in plain text. Avoid using this tool with sensitive URLs in public environments.
- This tool only parses and assembles URLs. It does not send HTTP requests or visit target addresses.
❓ FAQ
What is a URL? What parts does it consist of?
A URL (Uniform Resource Locator) is an internet "address" used to locate resources on the web. A complete URL usually includes: • Scheme (protocol): for example https:, ftp:, mailto: • Auth info: user:pass@ (optional), often used in FTP/intranet scenarios • Hostname: domain name or IP address • Port: optional; HTTPS defaults to 443, HTTP defaults to 80 • Path (pathname): points to a specific resource • Query string: key-value pairs after ?, separated by & • Fragment (hash): anchor after #, used client-side only and not sent to the server For example, https://user:[email protected]:8080/path?key=value#section contains all of the above parts. This tool mainly targets hierarchical URLs and relative paths; editing and reassembling non-hierarchical schemes like mailto:, data:, and file: are limited.
What happens if I enter a URL without a scheme?
The tool will try to auto-complete it: with "Auto add https:// when missing scheme" enabled, it prepends https://; when disabled, it prepends http://. To test a specific scheme such as ftp: or custom:, enter the full scheme prefix directly. It only shows "Invalid URL" for malformed input.
Does the output not change after modifying the parameters?
Check these points: make sure each parameter key is not empty (rows with empty keys are ignored in output); and make sure you're editing the "Query parameters" section, not the "Input URL" box. Editing the input box re-parses the URL and can overwrite manual edits.
What's the difference if query parameters come before # or after #?
In standard URLs, query parameters after ? are sent to the server, while content after # is client-side only. This tool prioritizes parsing ?search; if search is empty and # contains ?, it parses those as hash query parameters.
What should I do if the parameter value contains Chinese or special symbols?
Just enter the value directly; the tool will handle percent-encoding (URL encoding) automatically. For full-text encoding/decoding, use the companion tool "URL Encoder/Decoder".
Can relative paths without domain names be resolved?
Yes. Inputs like /api/data?id=1 are parsed in relative-path mode, so protocol and hostname remain empty.
What happens if the port number is left blank?
Leaving it blank uses the scheme's default port (HTTPS 443, HTTP 80), and the port will be omitted from the output URL.