URL Query Cleaner
Batch-remove tracking fields with cleanup options
Paste one URL per line, review the options, then select Clean URLs. Defaults remove duplicate keys and fragments and sort the query.
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
Clean a list without losing multi-select filters
Goal: Remove campaign fields while retaining repeated filters and their order.
- Paste one URL per line. Keep tracking removal enabled.
- Turn off duplicate-key removal and sorting; enable Keep #fragment if the links use anchors or fragment routing.
- 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