Loading…
Split any URL into protocol, host, path, and query params. Use when inspecting URLs; for encoding query strings use url-encoder. Input: URL text. Returns component table. 100% client-side.
URL Parser is loading — interactive editor will appear here. Use examples below to try instantly once loaded.
Press ? for keyboard shortcuts
URL parser that breaks down any URL into its full component structure (protocol, host, port, pathname, search, hash, username, password, origin). Displays query parameters in a table with encoded/decoded value toggle, includes a URL builder for constructing URLs from components, supports encoding/decoding individual components, URL normalization (lowercase host, remove default ports, etc.), and resolves relative URLs against a base URL.
URLs contain many components and complex query strings that are hard to dissect manually. This tool provides a structured breakdown, query parameter table, and URL builder so developers can inspect, modify, and construct URLs with confidence.
This tool is part of the DevStackIO platform — a collection of free online developer tools from DevStackIO. Browse more free developer resources on DevStackIO.
Web developers, API integrators, security analysts, and anyone who works with URL parsing, manipulation, or debugging.
Paste a full URL into the input field; the parsed components appear immediately in a structured breakdown.
Scroll to the Query Parameters table to see each parameter with its name, encoded value, and decoded value.
Toggle the Show Decoded switch in the query table to see all decoded values at once.
Use the URL Builder tab to construct a URL by filling in protocol, host, port, path, query, and hash fields.
Click Normalize to lowercase the host, remove default ports (80/443), and decode unnecessary percent-encoding.
In the Resolve tab, enter a base URL and a relative URL to compute the absolute result.
Input: "https://user:pass@api.example.com:8080/path/to/resource?name=hello%20world&page=1#section" → Components: protocol https, host api.example.com, port 8080, username user, pathname /path/to/resource, query parameters [{name: "hello world"}, {page: "1"}], hash #sectionInput: base "https://example.com/docs/" and relative "../images/logo.png" → Resolved: "https://example.com/images/logo.png"Can it parse URLs without a protocol (e.g., "example.com/path")? No
a protocol is required. Prepend "https://" to parse protocol-relative URLs.
What happens with internationalized domain names (IDN)?
They are shown punycode-encoded (xn--) in the host field and decoded in a separate label.
Are URL fragments retained during normalization? Yes
fragments are preserved unless explicitly removed via an option.
How are duplicate query parameters displayed?
Each occurrence is shown as a separate row in the query table with its original order preserved.
Authoritative specifications, standards, and in-depth reading for URL Parser.
Parse raw HTTP headers into readable name-value pairs. Use when debugging responses; for URL parts use url-parser. Input: header text ≤10MB. Returns table of headers. 100% client-side.
Parse user-agent strings into browser, OS, and device. Use when debugging traffic; for live device data use device-information. Input: UA string. Returns parsed fields. 100% client-side.
Calculate network, broadcast, and host range from CIDR. Use for subnet math; for geo lookup use ip-lookup. Input: IP/CIDR. Returns network details. 100% client-side.
Look up DNS records for any domain. Use when checking DNS; for IP geo use ip-lookup. Input: domain name. Returns A, MX, TXT records. 100% client-side.
Look up geolocation and ISP for any IP address. Use for geo data; for subnet math use ip-calculator. Input: IPv4/IPv6. Returns location and ASN. 100% client-side.
Generate Basic Auth headers from username and password. Use when testing APIs; for JWTs use jwt-generator. Input: credentials text. Returns Authorization header. 100% client-side.
Calculate IPv4 subnets, masks, and host counts. Use for IPv4 planning; for IPv6 use ipv6-calculator. Input: CIDR or mask. Returns subnet table. 100% client-side.
Convert IPv4 between dotted, hex, integer, and binary. Use for format shifts; for subnet math use ipv4-subnet-calculator. Input: IPv4 address. Returns all formats. 100% client-side.