URL Parser & Builder — Decode, Edit, and Rebuild Any URL
Parse query strings, edit parameters, and construct URLs live in your browser
Long URLs with encoded query parameters are nearly impossible to read at a glance, and building them manually for API testing or link tracking is error-prone. This URL parser breaks any URL into its component parts — protocol, host, port, path, query string parameters, and fragment — in a clean editable table. Change any field and the full reconstructed URL updates immediately. Add new query parameters with a single click, remove ones you don't need, and modify values inline. The tool uses the browser's native URL API for accurate parsing, so it handles edge cases like internationalized domain names, encoded characters, and unusual ports correctly.
How to Parse and Build URLs
Paste a URL to break it apart, or fill the fields to build one from scratch.
Paste a URL to parse it
Paste any URL into the input field at the top. The tool instantly breaks it down into its components: protocol (https), hostname (example.com), port (if non-standard), pathname (/path/to/resource), search parameters (every key=value pair listed individually), and hash fragment (#section). Each component appears in its own editable field.
Edit any component live
Click into any field to modify it. Change the hostname, edit the path, modify a query parameter value, or add a new fragment. The full reconstructed URL at the top updates in real time with every change. This makes it easy to test different variations of an API endpoint or build tracking URLs by adjusting UTM parameters.
Add and remove query parameters
The query parameters section lists each key-value pair on its own row with individual edit fields. Click Add param to append a new empty row, type the key and value, and watch it appear in the URL immediately. Click the remove button on any row to delete that parameter from the URL. Useful for building UTM links, API calls, and pagination URLs.
Features
Parses protocol, host, port, path, query params, and fragment
Every query parameter on its own editable row
Add and remove query parameters with one click
Reconstructed URL updates live with every edit
URL-encodes parameter values automatically
Handles internationalized domain names and non-standard ports
Copy reconstructed URL to clipboard
Runs in the browser using the native URL API — no server call
Related Tools
Frequently Asked Questions
What are the components of a URL?
A URL (Uniform Resource Locator) has up to seven components: scheme/protocol (https), authority (userinfo@host:port), path (/page/subpage), query string (?key=value&key2=value2), and fragment (#section). The authority is usually just the hostname for web URLs. This tool parses and displays all of them.
Why are my query parameter values showing encoded characters?
Query parameter values that contain special characters (spaces, &, =, +, /, etc.) are URL-encoded. A space becomes %20 or +, & becomes %26, and so on. This encoding prevents the special characters from being interpreted as URL structure delimiters. This tool decodes them for display and re-encodes them correctly when rebuilding the URL.
How do UTM parameters work?
UTM parameters (utm_source, utm_medium, utm_campaign, utm_term, utm_content) are query string parameters that Google Analytics and other analytics tools use to track the source of traffic. Use this URL builder to add or modify UTM parameters on any URL, then copy the finished link for use in emails, ads, or social posts.
What is a URL fragment (the hash part)?
The fragment identifier is the portion of a URL after the # symbol. It is not sent to the server — it is processed entirely by the browser. It is commonly used to link to a specific section of a page (like a heading anchor) or to pass client-side state in single-page applications using hash routing.
Can I use this to build API request URLs?
Yes. Paste your base API endpoint, add the required query parameters row by row (API key, filters, pagination, format), and copy the finished URL to use in your API client, Postman collection, or fetch() call. The tool ensures correct URL encoding of all parameter values.