Inspect a URL and Build UTM Links

Paste an HTTP or HTTPS URL to see its host, path, fragment and every query value. Fill source, medium, campaign, term and content to build the campaign link, empty a field to drop that tag, and copy or download the result without visiting the destination.

Runs locally in your browser
This tool processes all data locally in your browser.
URL and campaign parametersThe destination is parsed as text only. No URL is opened or requested.

How to inspect a URL and build a UTM campaign link

The workbench reads one absolute HTTP or HTTPS URL as text and answers with the parts it is made of: protocol, host, path, fragment and every query parameter with its value. The five classic campaign tags — utm_source, utm_medium, utm_campaign, utm_term and utm_content — can then be added, replaced or dropped, and the result is offered as a normalized link to copy or download.

Nothing is requested. In a measured session no request left the page except the site's own analytics, which is why a link that is not public yet, an internal staging address or a link with embedded credentials can be inspected as it is. The workbench reports what the URL says, not what the server would answer.

  1. Paste an absolute URL into the URL field, for example https://docs.example.com/guides/install?ref=nav, or press Load example to start from a link that already carries three campaign tags.
  2. Press Inspect and build URL. The normalized URL appears on the right; the breakdown lists protocol, host, path, fragment and the query parameters, and the counters show how many parameters and campaign tags the link carries.
  3. Fill the tag fields you need. A tag the URL already carries is shown in its field, and a value you type stays there for the next URL, so the same campaign tags can be applied to a second destination.
  4. Empty a tag field to drop that tag from the link, then read the report: it names a URL that uses HTTP, credentials embedded in the URL, a parameter name that appears more than once, and the campaign tags the link does not carry.
  5. Press Copy or Download for the normalized URL, and Clear to empty the field and all five tags before the next link.

What the workbench reads, and what it leaves alone

What the breakdown shows

The breakdown is built by the browser's own URL parser, so the values are the ones a browser would use: the scheme and host are lower-cased, a space inside a path or a value becomes %20, a non-ASCII host appears in its punycode form (例え.jp becomes xn--r8jz45g.jp), and a trailing # with nothing behind it disappears. A ? that ends a URL with no parameter after it is kept.

Every parameter is listed with its value in the order it appears, and a name that appears twice stays in the URL twice and is reported as a duplicate. When a link carries more parameters than the list holds, the report says how many of how many are shown, and the normalized URL beside it keeps all of them.

How the campaign tags are applied

Only the five utm_ names answer to the tag fields. Every other parameter is copied through untouched, including ref, gclid and any name a site uses of its own, and a parameter whose name differs only in case — UTM_SOURCE next to utm_source — counts as a different parameter to the browser. A tag that is already present is overwritten rather than added twice.

A tag that came from the URL is shown in its field so it can be edited. A value you have typed keeps its place when the next URL is inspected, which is how the same campaign link is built for several destinations; emptying the field removes that tag from the URL. Clear empties the URL field and all five tags at once.

What the workbench does not do

It never requests the address. A host that does not resolve, a page that answers 404, a redirect chain and an expired certificate all look exactly like a working link here, because no connection is made; checking that a link still works is a different job.

A URL nobody edits is printed back exactly as it was written, percent-encoding included. As soon as a campaign tag is written, the browser rewrites the whole query in the form-encoded style, so a space stored as %20 becomes +, a / inside a value becomes %2F and an = inside a value becomes %3D — the same values read back by any standard parser. The field expects an absolute HTTP or HTTPS address: a relative path, a mailto: link and an ftp:// URL are refused with a message, and a missing scheme is not guessed. One URL is handled at a time.

Recent tools: