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

language

Native URL API

Uses the browser's built-in URL parser for accurate, spec-compliant results.

table_chart

Query Parameter Table

Every query parameter parsed into a key-value table with duplicate key support.

search

Analysis Summary

Quick overview: HTTPS, port presence, query, hash, and total URL length.

lock

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?expand_more
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?expand_more
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"?expand_more
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?expand_more
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?expand_more
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.