Skip to content
SEO Madmanby Adam Hafez
Free tool

URL normalizer: find duplicate URL variants

URL normalizer: paste a list of URLs, normalize them by RFC 3986 and your site policy, and find duplicate variants of one page. Free, runs in your browser.

Runs entirely in your browser. Nothing you enter is uploaded, logged or stored.

Site policy options (your choices, not RFC rules)

Nothing you paste here is sent anywhere; it is parsed in your browser only.

    Key takeaways

    • RFC 3986 defines syntax-based normalization: lowercase the scheme and host, uppercase percent-encoding hex, decode unreserved characters and remove dot segments.
    • RFC 3986 also allows scheme-based normalization, such as dropping a default port and treating an empty path as a single slash.
    • Choices such as dropping www or a trailing slash are site policy rather than RFC rules, so the tool labels them as options.
    • Google names redirects and rel="canonical" as strong signals for the canonical URL, and a sitemap as a weak one.
    • Google prefers the HTTPS page over an equivalent HTTP page as canonical, except when there are issues or conflicting signals.

    What it takes

    • A list of URLs from a crawl, log file or sitemap
    • Your site policy for https, www, trailing slashes, parameters and fragments

    More tools

    All of them free, all of them browser-only.

    Browse the tools

    How to use it

    1. 1Paste your URLsOne per line, from any source. Lines that are not http or https URLs are counted and set aside, not silently dropped.
    2. 2Set the policy optionsTick the choices that match your own canonical form. If your site keeps www, untick that option so the tool does not merge hosts you treat as distinct.
    3. 3Read the summaryIt shows how many URLs you pasted and how many distinct pages they collapse to, which is the size of the duplication.
    4. 4Review each group of variantsEvery group lists the URLs that normalize to the same form, with the normalized URL as a candidate canonical.
    5. 5Enforce the resultRedirect the variants to the canonical, and add rel="canonical" on the page. Redirects and rel="canonical" are both strong signals, per Google.

    Many strings can point at one page. Capital letters in the host, an explicit port, a dot segment in the path, a tracking parameter or a trailing slash each make a new URL while the content stays the same. This URL normalizer finds those groups in a list you paste, in your browser, without sending the list anywhere.

    What this URL normalizer checks

    The tool applies two kinds of normalization, and keeps them apart.

    RFC 3986 rules, always on. Section 6.2 of RFC 3986 describes rewrites that produce an equivalent URI:

    • lowercase the scheme and host
    • write percent-encoding hex in uppercase, such as %3A
    • decode percent-encoded unreserved characters, so %7E becomes ~
    • remove . and .. dot segments from the path
    • drop a port that equals the scheme’s default, such as :80 on http
    • treat an empty path as /

    The path keeps its case. RFC 3986 treats it as case-sensitive, and Google treats /APPLE and /apple as distinct URLs.

    Site policy, your choice. Six checkboxes, all on by default: prefer https, drop www., drop the trailing slash, drop tracking parameters, sort parameters, and drop the #fragment. None of these is an RFC rule. Whether www and the bare domain are one site is a decision about your site, so untick anything that does not match how it works.

    How to read the results

    The summary line reads “N URLs collapse to M distinct”. The gap between the two is the size of the duplication. Next comes the number of groups that would need one canonical, and a count of any lines that were not http or https URLs.

    Each group shows a canonical candidate, the normalized form, with the original URLs beneath it. Only groups with two or more different originals are listed. A URL pasted twice is not a variant of itself.

    Google names redirects and rel="canonical" as strong signals for the canonical URL and a sitemap as a weak one, and says combining methods raises the chance your choice is used. The practical fix for each group is a redirect from every variant, plus a self-referencing canonical on the page. Google also prefers HTTPS over an equivalent HTTP page as canonical, unless there are issues such as an invalid certificate.

    Worked example

    The tool loads with eight URLs. With every option on, the summary reads “8 URLs collapse to 5 distinct. 3 groups of variants that would need one canonical.”

    Canonical candidateVariants grouped under it
    https://example.com/shoeshttps://Example.com/shoes/, and the same path on plain http with :80
    https://example.com/shoes?color=redhttps://www.example.com/shoes?utm_source=news&color=red, https://example.com/shoes?color=red
    https://example.com/abouthttps://example.com/about#team, https://example.com/about

    The other two lines normalize but have no partner. https://example.com/a/./b/../shoes becomes /a/shoes, and %7Euser becomes ~user. Untick “Drop www.” and the second group splits in two, leaving 6 distinct URLs and 2 groups.

    Common mistakes it catches

    • http and https both live. Google lists protocol variants among the causes of duplicate URLs.
    • www and non-www both served. Also named in Google’s guide as a duplicate cause.
    • Tracking parameters in internal links. Google uses gclid as its example of a parameter that creates a duplicate URL. A tagged internal link creates a new address for the same page.
    • Session IDs in URLs. Google’s URL structure guide lists session IDs among the causes of too many URLs and suggests cookies instead.
    • Parameters in a different order. ?a=1&b=2 and ?b=2&a=1 are different strings. Sorting shows that they are the same page.

    Sources

    1. 1.RFC 3986: Uniform Resource Identifier (URI) Generic Syntax, section 6.2 - IETFPrimary
    2. 2.What is URL canonicalization - Google Search Central
    3. 3.URL structure best practices - Google Search Central

    Frequently asked questions

    What does normalizing a URL mean?

    It means rewriting a URL into one standard form so that different spellings of the same address compare as equal. RFC 3986 section 6.2 defines the safe rewrites, such as lowercasing the scheme and host, removing dot segments and dropping a default port.

    Why does the tool not lowercase the path?

    RFC 3986 treats the path as case-sensitive, and Google treats /APPLE and /apple as distinct URLs with their own content. Merging them would hide a real difference. If your server serves both, pick one casing and redirect the other.

    Which tracking parameters are removed?

    When the option is on, the tool removes utm_source, utm_medium, utm_campaign, utm_term, utm_content, gclid, fbclid, msclkid, sessionid and phpsessid. This list is a common convention, not a standard, so other parameters stay in place.

    Is the normalized URL the canonical I should use?

    It is a candidate. Pick the form your site actually serves, then enforce it. Google names redirects and rel="canonical" as strong canonical signals and a sitemap as a weak one, and using more than one raises the chance your choice is shown.

    Should I block duplicate variants in robots.txt?

    No. Google's canonicalization guide says not to use robots.txt for canonicalization. Redirect the variants, or point them at the canonical with rel="canonical", so Google can still read them and consolidate.

    Tools

    Hreflang XML sitemap generator

    Hreflang sitemap generator: turn language codes and URLs into sitemap XML with xhtml:link alternates, and check codes and URLs. Free, runs in your browser.