UQC

URL Query Cleaner

Batch-remove tracking fields with cleanup options

SEO & Schema
πŸ”’ 100% client-side β€” your data never leaves this page
Maintained by Evanβ€’Updated: September 29, 2026
Options
URL Input

Paste one URL per line, review the options, then select Clean URLs. Defaults remove duplicate keys and fragments and sort the query.

Output
Cleaned URLs will appear here
Processed locally in your browser
Page reading mode

The full guide also includes pitfalls, worked examples, snippets, FAQs, and related tools for checking results or troubleshooting.

About this tool

Apply the same query-cleaning options to a list of URLs. Tracking removal, duplicate-key removal and sorting are enabled by default; fragments are removed unless you choose to keep them. The result panel lists valid URLs and counts removed tracking fields. Advanced mode shows per-field counts and invalid input lines. Processing and drafts stay in this browser; Clear removes the saved input.

Suggested Workflow

Failure Clinic (Common Pitfalls)

A second filter disappears even when its value differs

Cause: Duplicate removal compares trimmed names without case sensitivity and keeps only the first entry. Tag=one and tag=two count as the same key.

Fix: Disable duplicate removal when repeated or case-distinct keys carry meaning. Also disable sorting when the order of repeated values matters.

Production Snippets

What the default cleaning options change

text

Input:
https://example.com/search?tag=second&tag=first&q=hello%20world&utm_source=mail#results

Default output:
https://example.com/search?q=hello+world&tag=second

Tracking removed: 1 (utm_source)
The second tag and fragment are also removed by their separate options.

Scenario Recipes

01

Clean a list without losing multi-select filters

Goal: Remove campaign fields while retaining repeated filters and their order.

  1. Paste one URL per line. Keep tracking removal enabled.
  2. Turn off duplicate-key removal and sorting; enable Keep #fragment if the links use anchors or fragment routing.
  3. Select Clean URLs. Compare the output and inspect invalid-line details in Advanced mode before copying the batch.

Result: Repeated filters remain in their input order. Surviving query data is still reserialized: spaces become +, parameter names are trimmed, and flag becomes flag=.

Frequently Asked Questions

Which fields are recognized as tracking parameters?

Names starting with utm_ and the exact names fbclid, gclid, dclid, msclkid, ttclid, yclid, igshid, _hsenc, _hsmi, mc_cid and mc_eid. Matching ignores case and trims surrounding whitespace.

What does the removed-parameter count include?

It counts tracking fields removed across all valid lines. Duplicate-key removals and deleted fragments are not included in that count.

Can I use a hostname without https://?

Yes. Hostname inputs receive an https:// scheme. An explicit malformed URL or a relative path is rejected instead of being converted to a different host. A parseable hostname does not prove that the host exists or responds.

Does cleanup verify that links still work?

No. It does not request the destination. Query edits can change routing, filters, campaign attribution or signatures; inspect those behaviors before using the edited URL.

Keep browsing