URL Canonicalizer
Compare URLs using a fixed normalization rule
Enter complete URLs, one per line, to apply fixed query-key and trailing-slash rules. Results do not determine a site’s canonical URL.
The full guide also includes pitfalls, worked examples, snippets, FAQs, and related tools for checking results or troubleshooting.
About this tool
Compare complete URL strings under a fixed rule: normalize host syntax, remove selected tracking fields, sort query names and remove one trailing slash from non-root paths. Repeated query values and fragments remain. Output updates as you type; invalid lines carry an INVALID marker. This produces normalized strings for review, not a decision about which URL a search engine should index. Local input drafts are removed with Clear.
Failure Clinic (Common Pitfalls)
A normalized address points to a different resource
Cause: Some sites distinguish /docs from /docs/, depend on query order, or sign the original query bytes. This rule changes those representations and offers no per-rule switches.
Fix: Use the original address when those distinctions matter. Normalization alone cannot establish that two resources are equivalent.
Production Snippets
A fixed normalization rule with visible boundaries
text
Input:
HTTPS://Example.COM:443/docs/?b=2&a=1&a=0&utm_source=mail#intro
Output:
https://example.com/docs?a=1&a=0&b=2#intro
Repeated a values and #intro remain.
/docs/// becomes /docs// in one run; the root / remains /.Scenario Recipes
Compare two exported address variants
Goal: See whether host casing, tracking fields or query-key order explain a difference.
- Paste complete URLs on separate lines; this tool requires an explicit scheme such as https://.
- Compare the resulting lines. The fixed rule sorts names, preserves repeated values, and removes one non-root trailing slash.
- Check your site’s actual routing and redirects before using a normalized address in a canonical tag or redirect rule.
Result: Equal output means the strings converge under these rules. The tool does not fetch pages, compare content, follow redirects or choose Google’s canonical URL.
Frequently Asked Questions
Which tracking names are removed?
Names starting with utm_, plus the exact names fbclid, gclid and msclkid, ignoring case. Names such as gclid_extra remain.
Are repeated query keys deduplicated?
No. All values are retained in their original relative order within the same key. Sorting uses the browser’s locale comparison for names, so it is not a cryptographic canonicalization algorithm.
What encoding changes can normalization make?
URLSearchParams reserializes the query: spaces become +, a flag without = becomes flag=, and some characters are percent-encoded. The browser also normalizes hostnames and default ports.
What do Basic and Advanced change?
Both use the same fixed rule. Advanced reveals scenarios and invalid-line details; it does not add sorting, deduplication or slash-policy controls.
Keep browsing