OxyPages

URL Parser, Encoder And Query String Editor

Paste a messy URL and see exactly what is in it. Edit any part and copy the result back.

Free. No account. Live in seconds.
URL
214 charactersTry:

Parsed. 4 path segments, 6 query parameters, 6 notes.

Every Part Of This URL
The parts of the URL, each one copyable
Full addresshttps://shop.example.co.uk/en-gb/products/winter+jacket/detail?q=caf%C3%A9+latte&tag=sale&tag=new&filter=%7B%22size%22%3A%5B%22m%22%2C%22l%22%5D%2C%22colour%22%3A%22navy%22%7D&ref=&debug#/reviews?page=2&sort=recent
Schemehttps:Encrypted. The path and query are hidden from the network, the host name is not.
Hostshop.example.co.ukHost name and port together - what a Host header carries.
Subdomainshop
DomainexampleThe part somebody registered.
Public suffixco.ukA known multi-label suffix, so the domain in front of it is the registered one.
Port443Not written, because 443 is the default for https:
Originhttps://shop.example.co.ukScheme, host and port together. Cookies, storage and CORS are all decided by this.
Path/en-gb/products/winter+jacket/detail
Segment 1en-gb
Segment 2products
Segment 3winter+jacketReads as "winter+jacket" - a plus in a path is a literal plus, not a space.
Segment 4detail
Query?q=caf%C3%A9+latte&tag=sale&tag=new&filter=%7B%22size%22%3A%5B%22m%22%2C%22l%22%5D%2C%22colour%22%3A%22navy%22%7D&ref=&debug6 parameters, listed on the Query String tab.
Fragment#/reviews?page=2&sort=recentEverything after the # stays in the browser. The server never sees it.
Fragment path/reviews
Fragment querypage=2&sort=recentA query string inside the fragment, which is how single-page apps keep their state.

The domain split uses a shortlist of common public suffixes, so co.uk, com.au and github.io are handled. A rarer one may be read as an ordinary subdomain.

Host And Notes

The host

As people read it
shop.example.co.uk
As it is resolved
shop.example.co.uk

Plain ASCII, so the two forms are identical - there is no punycode to translate. Try the international domain example above to see one that is not.

Every label uses one writing system, so this host is not a mixed-script look-alike.

Length

214 characters. Comfortable up to about 2,000; past 8,000 many servers refuse the request outright.

Worth knowing (6)

  • There is a plus sign in the path. In a path a plus is a literal plus character, so /winter+jacket is a page called winter+jacket. Only in a query string does a plus mean a space.
  • There is a plus sign in a query value, and here it does mean a space - caf%C3%A9+latte is café latte. Decoding a query value with the wrong rule is how spaces turn into plus signs on the page.
  • "tag" appears more than once. That is legal, and it is how checkbox filters are usually sent, but every framework reads it differently: some give you a list, some keep the first copy, some keep the last. Nothing here collapses them.
  • "ref" has an empty value. That is not the same as leaving it out: the server still sees the name, so a filter or a redirect can behave differently from a link that never had it.
  • "debug" has no equals sign at all. Most frameworks read that as an empty string, a few as true, and one or two do not see it. If it matters, write it as debug=1.
  • The fragment carries its own query string, which is how single-page apps keep their state. Nothing after the # is ever sent to the server: only the JavaScript on the page can read it, so it never appears in a server log.
One page showing this URL broken into its parts, for whoever has to look at it with you. Free. No account.

How It Works

How To Use The URL Parser

  1. 1

    Paste The Link

    Drop any address into the box at the top. A sample URL is already loaded, so you can see the tool working before you type anything. Leave off https:// and it is added for you, and the parser says that it did.

  2. 2

    Read It, Or Edit It

    Parse lists every part in a labelled table - scheme, host, subdomain, domain, public suffix, port, path segments, query and fragment - each with its own copy button. Query String turns the parameters into rows you can rename, retype, reorder, add to and delete, rewriting the URL as you go.

  3. 3

    Encode, Decode Or Publish

    Encode / Decode percent-encodes any text and shows both possible answers side by side, so you can pick the right one instead of guessing. Copy the rebuilt link, or publish the whole breakdown as a page to send to someone.

About This Tool

Every Part Of A URL, Labelled

A URL parser, a query string editor and a percent-encoder in one panel, with the cases that break naive tools handled properly.

A web address looks like one long string and is really six or seven separate fields stacked end to end: a scheme, sometimes a username and password, a host, a port, a path, a query string and a fragment. This URL parser pulls them apart and labels each one, so you can see what a link actually contains instead of squinting at it.

Who It Is For

Anyone holding a link that is not behaving. A marketer checking that a tracking link still carries the right parameters. Someone who was emailed an address and wants to know which domain it really points at. A support person trying to reproduce a bug from a customer's copied address. You do not need to know what percent-encoding is: the decoded reading sits next to the raw one on every row.

What It Shows That A Quick Look Does Not

Three things break naive tools, and all three are handled here. Repeated keys are kept apart rather than collapsed into one, because ?tag=sale&tag=new is how a filter with two boxes ticked is usually sent. A plus sign is read as a space in the query string and as a literal plus in the path, which is the difference between café latte and a folder called winter+jacket. And a fragment that carries its own query string - the shape single-page apps produce - is parsed rather than treated as one long anchor. The query string parser also keeps an empty value and a key with no equals sign apart, because they are two different things and some servers act on the difference.

The Host, In Full

The host is split into subdomain, domain and public suffix, so it is obvious which part somebody actually registered. International domains are shown twice: the letters people read, and the xn-- form the browser resolves. A host label that mixes two writing systems is flagged, because a name spelled with one Cyrillic letter reads exactly like the real thing and is not the same site.

How It Works, And Its Limits

Everything runs in your browser, on the same URL parser the address bar uses. Nothing you paste is uploaded and there is no network call on this page until you press Publish. The domain split uses a shortlist of common public suffixes rather than the whole list, so a rare country second-level domain may be read as an ordinary subdomain. It can tell you what is in a link; it cannot tell you whether the link is safe. If you are building tracking links rather than reading them, the UTM Builder is the tool for that, and when a parameter turns out to be Base64, the Base64 Encoder will read it.

Publish The Breakdown

Publish A Share Page turns the result into a single page - the parts table, the parameters with their decoded values, and the notes - on a live OxyPages address with HTTPS, in seconds and without an account. The link lasts 30 minutes unless you claim it, and claiming is free; from there you can pick your own address and, on a paid plan, put it on a custom domain. It is easier to hand a colleague than a screenshot of a link that will not fit on the screen. See how it works.

Questions

Frequently Asked Questions

Yes. The parsing, decoding and encoding all happen in your browser, and nothing you paste is sent anywhere. The only request this page ever makes is the one you start by pressing Publish, and that sends the breakdown page you asked for.

Try It Now

Still Here? Drop It In.

The whole pitch fits in one sentence: your HTML, on a link, in seconds.

Drag and drop your HTML file(s), folders, or ZIP file

or ·

No account needed. Your unclaimed website stays live for 30 minutes on a free subdomain. Claim it to your account to keep it permanently.

  • No Account Needed
  • Free SSL
  • 30-Minute Unclaimed Link, Claim To Keep It