Input - Paste URL or Query String
A-Z Sort
URL Breakdown
Base URL
Paste a URL above
Path
-
Fragment (#)
-
Parameters
Key Raw Value Decoded Value
🔗
Paste a URL or query string above to see parameters here.
Key Terms Explained
URL (Uniform Resource Locator)
The full web address of a resource, including the protocol (https), domain, path, query string, and optional fragment. Every URL is a unique identifier that tells the browser exactly where to find something on the internet.
Query Parameter
A key-value pair appended to a URL after the question mark (?). Multiple parameters are joined by ampersands (&). They pass extra data to a server or tracking system - for example, search terms, filter values, or campaign tags - without changing the page path itself.
URL Encoding (Percent-Encoding)
A scheme that converts characters that are unsafe or reserved in URLs into a percent sign (%) followed by their two-digit hexadecimal ASCII code. A space becomes %20, a forward slash becomes %2F, an at-sign becomes %40. This lets arbitrary text be embedded safely inside a URL.
Base Domain
The scheme plus the host of a URL - for example, https://www.example.com. Everything after the first slash in the path, and everything after the question mark, is separate from the base domain. The base domain determines which server receives the request.
Fragment Identifier (#)
The portion of a URL that begins with a hash symbol (#). Unlike query parameters, the fragment is never sent to the server - it stays in the browser. It is used for in-page navigation (linking to a heading) and by single-page apps that encode client-side routing state in the URL hash.
UTM Parameters
Five standardized query parameters (utm_source, utm_medium, utm_campaign, utm_term, utm_content) used by Google Analytics and other platforms to attribute web traffic to specific marketing campaigns, ad groups, or content pieces. They are added to URLs in ads, emails, and social posts to track what drives conversions.
URLSearchParams
A native JavaScript interface available in all modern browsers and Node.js that parses and manipulates URL query strings. It handles encoding and decoding automatically, lets you get, set, and delete individual parameters, and can serialize back to a valid query string.
decodeURIComponent()
A built-in JavaScript function that decodes percent-encoded sequences in a string. It converts sequences like %20 back to a space, %2F back to a slash, and %C3%A9 back to the letter e with an acute accent (e). It is the counterpart of encodeURIComponent().

The Complete Guide to URL Query Parameters

URLs look simple at first glance, but the query string after the ? can pack an enormous amount of structured information - tracking IDs, search terms, filter states, A/B test flags, API keys, and more. This guide explains how query strings work, why values get encoded, and how to extract and analyze them effectively.

How to Use This Tool

Copy any URL from your browser address bar, an email link, a marketing report, a server log, or a code editor. Paste it directly into the input box above. The tool parses the URL instantly and populates three areas: the URL Breakdown card (showing the base domain, path, and fragment), the parameter table (showing each key with its raw encoded value and decoded human-readable value side by side), and the export buttons for copying the results as JSON or CSV.

If you only have the query string portion (starting with ? or even just key=value), you can paste that too. The parser automatically prepends a dummy host internally so the native URL object can still process the string - you will see the breakdown card show a placeholder for the base URL while the parameter table fills in normally.

Toggle "A-Z Sort" to reorder parameters alphabetically, which is useful when comparing two similar URLs that may have the same parameters in a different order. The decoded value column highlights in blue whenever a value differs from its raw form, making it easy to spot encoded values at a glance.

Why the Query String Exists

HTTP servers receive only the path portion of a URL to determine which resource to return. The query string is the standard mechanism for the browser to pass additional context to the server alongside that path request. Rather than requiring a separate POST form submission for every filter, search, or setting, the query string lets the client encode state directly into a GET request URL - which means the URL is bookmarkable, shareable, and cacheable in a way that POST requests are not.

This is why Google search results, e-commerce product filters, analytics dashboards, and API endpoints all lean heavily on query parameters. The URL itself becomes a complete description of the page state.

Reading Percent-Encoded Values

The decoded value column in this tool uses the same JavaScript decodeURIComponent() function that browsers use internally. When you see %20 in the raw column and a space in the decoded column, that is percent-encoding at work. When you see %7B and %7D, those decode to curly braces { and } - common in URLs that embed JSON fragments or template variables. Long Base64 strings ending in = signs are common in OAuth redirect URLs and signed request parameters.

The Security Note on Tokens in URLs

Developers often use this kind of tool to debug URLs containing OAuth tokens, signed S3 download URLs, or magic login links. Those tokens are legitimate in context but should be treated with care. Tokens embedded in URLs appear in browser history, server access logs, referrer headers, and anywhere the URL is shared. Audit the token, then rotate or revoke it. This tool is 100% client-side, so the URL never leaves your machine while you inspect it here.

Frequently Asked Questions

What is a URL query parameter used for?
Query parameters are key-value pairs appended to a URL after a question mark (?) that pass additional data to a web server or tracking system without changing the page path. Common uses include search queries (q=shoes), analytics tagging (utm_source=google), filtering results (color=blue&size=medium), session tracking, A/B test flags, and referral attribution. Marketers use them for campaign tracking while developers use them to pass state, filter data, and control application behavior without a form submission.
Why do URLs have %20 and %2F in them?
URLs can only contain a limited set of safe ASCII characters. Spaces, slashes, ampersands, and many other characters have special meaning inside a URL and cannot appear literally in a query value. Percent-encoding converts unsafe characters into a % sign followed by the two-digit hexadecimal ASCII code. A space becomes %20 because space is ASCII 32 (0x20 in hex). A forward slash becomes %2F because / is ASCII 47 (0x2F). This lets you safely embed arbitrary text inside a URL without breaking its structure.
How do I extract parameters from a URL string?
In a browser or Node.js, the native URLSearchParams interface is the cleanest approach. Pass the query string portion to new URLSearchParams(queryString) and then iterate with .forEach() or .entries(). Each entry gives you a decoded key and a decoded value. For a full URL, first parse it with new URL(rawUrl) and then access .searchParams directly. This tool does exactly that for you visually - paste the URL and every parameter appears in the table instantly with both its raw encoded value and its decoded human-readable value side by side.
Is it safe to paste URLs containing secret access tokens here?
Yes, technically - this tool is 100% client-side and never sends your input to any server. You can verify this in your browser's Network tab: you will see zero outbound requests while using the tool. That said, treat any URL containing a live secret token (OAuth tokens, API keys, signed S3 URLs, magic login links) the way you would treat a password. Paste it here to inspect and debug, then invalidate or rotate the token afterward. Never paste tokens into any online tool you do not fully trust, and never share token-bearing URLs in Slack, email, or screenshots.
What are UTM parameters and why do marketers care about them?
UTM parameters are a standardized set of five query parameters - utm_source, utm_medium, utm_campaign, utm_term, and utm_content - defined by Google to track the origin of web traffic inside analytics platforms like Google Analytics and GA4. When a visitor arrives at a page via a tagged URL, the analytics platform reads those parameters and attributes the session to the correct campaign. Marketers use them to measure which ad, email, social post, or newsletter drove a conversion. This tool lets you instantly decode and audit any UTM-tagged URL to verify the tagging is correct before publishing.
What is the difference between a URL fragment and a query parameter?
A query parameter appears after the ? and is sent to the server as part of the HTTP request. A URL fragment appears after the # symbol and is never sent to the server at all - it is processed entirely by the browser on the client side. Fragments are typically used for in-page navigation (jumping to a heading with id='contact') or by single-page applications that encode routing state in the hash. Because the fragment never leaves the browser, the server cannot read it. This tool displays the fragment in the URL breakdown card so you can see it, but it is not parsed as a parameter because it is not part of the query string.
This tool is 100% client-side. No URLs, tokens, or parameter values are ever transmitted, logged, or stored. All parsing happens locally in your browser using the native JavaScript URL and URLSearchParams interfaces.
Copied to clipboard!