Free URL Parser
Parse URLs into protocol, hostname, port, origin, pathname, search, hash, and query parameters. Uses the browser's native URL API.
Key Features
Native URL API
Uses the browser's built-in URL parser for accurate, spec-compliant results.
Query Parameter Table
Every query parameter parsed into a key-value table with duplicate key support.
Analysis Summary
Quick overview: HTTPS, port presence, query, hash, and total URL length.
Privacy Protected
All processing happens locally in your browser. No data ever leaves your device.
Frequently Asked Questions
About URL Parsing
What is the difference between hostname and origin?
The hostname is just the domain or IP address (e.g., "example.com"). The origin combines protocol + hostname + port (e.g., "https://example.com:8080"). Two URLs have the same origin only if all three match -- this is the foundation of the browser's Same-Origin Policy. For example, "https://example.com" and "http://example.com" have different origins because the protocol differs, even though the hostname is the same.
How are percent-encoded characters like %20 handled?
The URL API automatically decodes percent-encoded characters in the displayed pathname, search params, and hash. For example, "%20" in a URL path is shown as a space, and "%3D" in a query value is decoded to "=". The raw encoded form is preserved in the Full URL field. Query parameter values are fully decoded, so "name=John%20Doe" displays as "John Doe" in the params table.
Advanced Usage
What happens if I enter a URL without a protocol like "example.com"?
The URL API requires a protocol to parse correctly. If you enter a URL without a protocol (e.g., "example.com/path"), the parser prepends "https://" by default before attempting to parse. This matches how browsers handle partial URLs in the address bar. If the resulting URL is still invalid, an error message is shown asking you to provide a complete URL with protocol.
How are duplicate query parameters handled?
Duplicate query keys (e.g., "?tag=dev&tag=ops") are displayed as an array of values in the query parameters table. The first occurrence shows "tag = dev", and subsequent occurrences of the same key show "tag = ops". This accurately reflects how the URL API's searchParams.getAll() works -- servers that parse query strings may interpret duplicates as the last value wins or as an array depending on their framework.
What is the difference between pathname and path?
The pathname is the URL's path portion (e.g., "/blog/post" from "https://site.com/blog/post?page=1"). It does not include the query string or hash. The term "path" is sometimes used informally to mean pathname + search (query string). This tool follows the URL API naming: pathname is just the path segment; search and hash are separate components.