Cookies This site keeps only what it needs to work. There is no analytics and no advertising on it today, and nothing here follows you to other sites. Read the privacy policy

Choose what to allow
+92 312 8299940Free Quote
Free tool, nothing to install

URL Parser
Every Part, Labelled

This URL parser takes an address apart with your browser's own reader. Scheme, host, port, path, query and fragment each get a label, and the parameters appear as rows underneath.

  • FreePrice
  • 11Parts
  • NoneSign-up
  • NoneUploads

URL Parser

Every part of an address, labelled

Scheme
https
Host
shop.example.com
Subdomain
shop
Port
8443
Path
/winter/boots
Path depth
2
Last segment
boots
Query string
colour=blue&size=9&utm_source=newsletter
Fragment
reviews
Origin
https://shop.example.com:8443
Full length
91 characters
Query parameters
  • colourblue
  • size9
  • utm_sourcenewsletter

Everything is parsed with your browser's own URL reader, so what you see here is exactly what a browser sees.

Ready. Paste an address and every part appears.

Your browser does all of the work here, in this tab. We upload nothing, store nothing and log nothing.
The short version

A URL Broken Into Its Pieces

An address looks like one string and behaves like eight fields. Scheme, host, port, path, query, fragment, and the origin and subdomain that fall out of the host.

Every piece of the URL tells you something different. For instance, the host says which machine, the path says which resource, and the query says which variation of it.

One question decides everything: where each part ends. The answer lives in the URL Standard, which your browser implements.

This tool leans on that implementation rather than a regular expression. So what you see here matches what a browser sees.

What A Browser Quietly Normalises

A browser lowercases the host and drops a trailing dot. It also drops a default port, so https://example.com:443/ becomes https://example.com/ before anything looks at it.

Diagram of a web address split into its parts: scheme, host, path, query parameters and fragment
One address, split into parts.

Empty paths become a single slash. Backslashes become forward slashes too, which surprises people the first time they see it.

That normalisation is the reason a hand-written parser disagrees with reality. The URL interface does the same work everywhere.

The Query String Is Where Detail Hides

Parameters are pairs, separated by ampersands, each one escaped. Two of them can share a name, and sometimes the order matters to the server.

URL parser with a long web address typed in and its scheme, host, port, path, query and fragment listed below
Every part of the address, listed.

Reading them by eye stops working at about four. Listing them as rows is the whole point of a query string parser, and it makes a duplicated key obvious.

The decode switch shows the readable value beside the raw one. That is how you spot a value that went through the encoder twice.

Why the # Fragment Stays in Your Browser

Everything after the hash stays on the client. A server never receives it and never logs it. That is why analytics tools read it with JavaScript instead.

Content Parameters And Tracking Parameters

Certain parameters alter the page content. For example, size, colour, page number and sort order. Those belong in the address and in the canonical tag.

URL parser with the tracking parameter filter on, so the utm and ref values are marked and a clean link is offered
Tracking parameters are marked.

Some carry nothing but tracking. Campaign tags, click ids, session markers. Keep those out of a canonical tag, and out of internal links.

The tracking switch flags the second kind, using the same list this site's canonical tag generator reads. One list, so the two tools always agree.

What To Do With A Long Query String

Sort the parameters into two groups. The ones that change the page, and the ones that only describe where a visitor came from.

URL parser with query parameters sorted A to Z and decoded, so the list is in order and readable
Sort and decode the query list.

The first group belongs in the canonical tag, since a different value there means a genuinely different page.

The second group belongs nowhere permanent. Strip it before you store an address, before you put one in a sitemap, and before you link internally.

The clean copy button does exactly that split. An address you found in a report becomes one you can safely reuse.

What To Do With A Long Query String

Sort the parameters into two groups: the ones that change the page, and the ones that only describe where a visitor came from.

The first group belongs in the canonical tag, because a different value there means a genuinely different page.

The second group belongs nowhere permanent. Strip it before you store an address, before you put one in a sitemap, and before you link internally.

The clean copy button does exactly that split, so an address you found in a report becomes an address you can safely reuse.

What To Do With A Long Query String

Sort the parameters into two groups: the ones that change the page, and the ones that only describe where a visitor came from.

The first group belongs in the canonical tag, because a different value there means a genuinely different page.

The second group belongs nowhere permanent. Strip it before you store an address, before you put one in a sitemap, and before you link internally.

The clean copy button does exactly that split, so an address you found in a report becomes an address you can safely reuse.

Why Six Addresses Can Be One Page

With www and without, http and https, trailing slash and not. Every combination answers, and search engines treat them as candidates for the same content until a canonical tag settles it.

How it works

Working With the URL Parser, Start to Finish

Two steps, and you may skip the second. The parts show up while you type.

  • 1

    Paste an address

    The scheme at the front is optional. A bare domain gets https:// added, since that is what a browser would do with it.

  • 2

    Read the parts

    Eleven rows, from the scheme down to the total length. An empty row means that part is genuinely absent.

  • 3

    Look at the parameters

    Each one on its own row, decoded if you want. Turn on the tracking switch and the ones carrying no content are marked.

  • 4

    Copy the clean version

    One button copies the address without its tracking parameters or fragment. That is the version worth sharing or storing.

Why this one

What Sets This URL Parser Online Apart

Splitting a string on slashes is easy and wrong. These are the differences that come from using the real thing.

  • The Denwix parser splits the URL without any network call

    Not a regular expression. So the normalisation, the default ports and the odd cases all behave as a browser would.

  • Parameters as rows

    Twenty parameters read as twenty rows rather than one long string, so a duplicate name is visible rather than hidden.

  • Tracking marked

    It flags campaign tags and click ids, using the same list the canonical generator reads. Both tools always give the same answer.

  • Decoded and raw

    One switch shows the readable value. A value that went through the encoder twice becomes obvious the moment you flip it.

  • A clean copy button

    Copies the address without tracking or fragment, which is the version that belongs in a canonical tag or a shared link.

  • Nothing leaves your tab

    Addresses carry session tokens and order numbers. Since your browser does the parsing, this site fetches nothing and logs nothing.

Good habits

Rules For Reading And Building Addresses

These come up in every audit, every migration and every analytics argument.

  • Parse with a URL object, never a regex. Every language ships one. A regular expression gets the easy cases right, yet it gets the interesting ones wrong.
  • Keep tracking parameters out of canonicals. A canonical tag naming a campaign address tells search engines that the campaign version is the real page.
  • Decide on the trailing slash once. Pick one form for the whole site and redirect the other, because two forms of every address means two of everything in your reports.
  • Keep names and emails out of query strings. It lands in server logs, in analytics and in referrer headers, and none of those three exist to hold personal data.
  • Watch the length. Browsers cope with very long addresses, and some servers and proxies do not. Under 2,000 characters is the safe line.
  • Lowercase the host, not the path. Host names are case insensitive, while paths are not. As a result, many servers see /About/ and /about/ as two separate pages.
  • Treat the fragment as client-only. Nothing on the server ever sees it, so no log records it and no redirect can act on it without JavaScript.
  • Keep addresses readable where people see them. A path of words beats a path of numbers in a search result, in a shared message and in a support call. Somebody has to read it out loud one day.
  • Log the address, not the parameters. A full query string in a log file carries whatever a visitor typed. Strip the values you do not need before anything writes them down.
  • Sort parameters in generated links. A stable order means the same page produces the same address every time, and that is what makes caching and comparison work.
Worth avoiding

Six URL Mistakes Worth Knowing

Each of these looks harmless until a report, a crawl or a support ticket makes it visible.

  • Splitting on the first question mark

    A question mark can appear inside a parameter value, so splitting there cuts an address in the wrong place.

  • Expecting each parameter to appear once

    A query can repeat a name, and many servers read that as a list. A parser that keeps one value silently loses the rest.

  • Lowercasing the whole address

    The host is safe to lower, the path is not. This is how a tidy-up script produces a page of 404s.

  • Ignoring the port

    A non-default port makes a different origin. Therefore cookies, storage and CORS all treat it as another site.

  • Carrying session ids in the query

    They get shared, indexed and logged. In each case somebody else ends up holding a key to an account.

  • Expecting the server to see the # fragment

    It never arrives. Any routing that depends on it has to happen in the browser, after the page loads.

Questions

Address Questions People Ask

Which pieces make up a URL, from scheme to fragment?

Scheme, host, optional port, path, query and fragment. The origin is the first three together, and the subdomain is whatever sits in front of the registered domain.

Why does the port sometimes disappear?

Because 443 for https and 80 for http are defaults. A browser removes them, so the address you get back can differ slightly from the one you typed.

Can a query string parser show repeated names?

Yes, and this one lists each occurrence as its own row. A parser that keeps only the last value hides a real difference in what the server receives.

How do a query and a fragment differ?

The query travels to the server and the fragment does not. Anything after the hash stays in the browser, which is why a server cannot log it.

What is the longest URL browsers will accept?

The URL standard sets no maximum length. In practice, keep it under about 2,000 characters, since older servers and some proxies refuse anything longer.

Why does my address change when I paste it?

A browser normalises as it reads: lowercasing the host, dropping a default port, turning backslashes into slashes. This shows you the normalised form.

Which query parameters does Denwix flag as tracking?

Campaign tags, click ids from ad platforms, and session markers. The tracking switch marks them using the same list this site uses elsewhere.

Is a url parser online safe for private links?

This one is, because the page sends nothing anywhere. Your browser parses the address in this tab, and this site never fetches it.

Does swapping the order of query parameters change the page?

To a server, sometimes. To a cache and to a comparison, always: two addresses with the same parameters in a different order are two different strings.

Can I clean an address here?

Yes. The second copy button gives you the address without tracking parameters or the fragment, which is the version worth sharing or storing.

More free tools

Tools For Addresses

Reading one address is usually the first step. Here are three to reach for next.

Ready to Break a URL Into Its Parts?

Paste an address and read every part of it. The URL parser is free, needs no account, and never fetches the page it describes.