Skip to content
SEO

Canonical URL Checker

Normalize URLs and generate the canonical link tag.

canonicalurlnormalizeseoduplicate
Loading tool…

About this canonical URL checker

The Canonical URL Checker is a free online tool that turns any messy URL into the clean canonical form search engines expect — and generates the exact <link rel="canonical"> tag to paste into your page's <head>. When the same content is reachable through several URLs (http vs https, www vs non-www, trailing slashes, tracking parameters like utm_source or fbclid, query strings in different orders), Google sees near-duplicate pages and splits the ranking signals between them. A canonical tag is the standard way to tell Google which version is the master: point every duplicate at one URL and all the authority consolidates there instead of leaking away. This canonical checker normalizes your URL step by step — host lowercased, default ports removed, tracking parameters stripped, query parameters sorted, fragments and trailing slashes dropped — then shows you exactly what changed and outputs a ready-to-copy canonical tag. Every check runs entirely in your browser, so the URLs you enter never touch a server.

Canonical URL checker examples

Input
https://Example.com/blog/sustainable-coffee/?utm_source=newsletter&fbclid=abc123&utm_medium=email&ref=welcome#top
Output
https://example.com/blog/sustainable-coffee

<link rel="canonical" href="https://example.com/blog/sustainable-coffee" />
Note: Host lowercased, four tracking parameters removed, fragment dropped. The tag now points at one stable URL — this is what your <head> should declare.
Input
http://www.example.com:80/products/?gclid=xyz&utm_campaign=launch&q=coffee&sort=price
Output
http://www.example.com/products/?q=coffee&sort=price
Note: Default port :80 removed, gclid and utm_campaign stripped, remaining query parameters sorted alphabetically.
Input
https://shop.example.com/item/123/
Output
https://shop.example.com/item/123

<link rel="canonical" href="https://shop.example.com/item/123" />
Note: Trailing slash removed. /item/123/ and /item/123 are different URLs to Google — a canonical removes the ambiguity.

How to check a canonical URL

  1. 1

    Paste the URL you want to canonicalize into the input field — include the full scheme (https://) or the tool will flag it as invalid.

  2. 2

    Click "Canonicalize". The tool normalizes the URL and shows a diff: everything that changed (case, ports, parameters, fragment, trailing slash).

  3. 3

    Review the normalized URL — it should be the exact version you want Google to index (right host, right protocol, right path).

  4. 4

    Copy the generated <link rel="canonical" href="…" /> tag from the output panel.

  5. 5

    Paste the tag into the <head> of your page. Repeat for each template on your site — every page should declare exactly one canonical.

When to use a canonical URL checker

  • Tracking-parameter duplicates — strip utm_source, gclid, fbclid and friends so shared links don't create duplicate pages.
  • CMS audits — check canonical URL your templates (WordPress, Shopify, Next.js) will emit for a product or post.
  • E-commerce filters — canonicalize /item/123/?sort=price back to the base /item/123/ page.
  • Trailing-slash consistency — resolve the /blog/post/ vs /blog/post split on one canonical URL.
  • Syndicated content — generate the tag that points a syndicated copy back to your original article.
  • Print and AMP versions — declare the main page as the canonical target of its alternate variants.

Canonical tag best practices

  • Every page should declare exactly one canonical tag — ideally self-referential (pointing at itself) so each URL stands on its own.
  • Use absolute URLs (https://www.example.com/page), never relative ones — relative canonicals are ignored by most crawlers.
  • The canonical URL must return 200: a canonical pointing at a 404 or a redirecting URL is a common, silent mistake.
  • Never chain canonicals: if page A canonicals to B and B canonicals to C, Google may stop at the first hop — point A directly at C.
  • Only one canonical declaration per page. If multiple tags are present, Google will generally pick one and ignore the rest — but you should never rely on that.
  • Don't mix noindex with canonical: a page that says "don't index me" AND "my master is X" sends contradictory signals. If the page shouldn't exist, use a 301 instead.

Canonical URL tips

  • Check canonical tags after every theme, plugin, or framework update — the most common source of duplicate tags is a second tag injected by a new component.
  • A canonical is a hint, not a directive — Google can ignore it if the pages are materially different.
  • If a canonical URL 404s or redirects, Google may drop the page from the index. Test the URL you canonicalize to.
  • For duplicates that shouldn't exist at all, prefer a 301 redirect over a canonical tag — it is stronger and consolidates users too.

Canonical URL checker FAQ

A canonical tag is a <link rel="canonical" href="…" /> element in a page's <head> that tells search engines which URL is the preferred version when duplicate content exists. A canonical tag checker helps you build that tag correctly: it normalizes a URL (lowercases the host, removes default ports and tracking parameters, sorts query strings, drops fragments and trailing slashes) and returns the clean canonical URL plus a ready-to-paste tag. This one runs entirely in your browser — the URLs you enter are never sent to a server.

A self-referential canonical points to the page's own URL — for example, https://www.example.com/blog/post declaring canonical https://www.example.com/blog/post. It is the healthiest setup: every page asserts its own identity, which makes Google's job unambiguous. A canonical that points to a different page is a deliberate consolidation — you are telling Google that this page is a duplicate of the other one and the authority should go there. Both are valid, but they must be used deliberately: accidentally pointing a unique page at another URL tells Google the page is a copy and can drop it from the index.

It becomes ambiguous. Google's documentation is clear that when a page declares several canonical URLs, Google will generally process one of them and ignore the others — but you have no control over which one wins, so the "wrong" version of your page may end up indexed. Multiple canonicals typically come from two sources: plugins and themes both injecting the tag (common in WordPress), or a template that renders a default canonical alongside a custom one. Fix it by keeping exactly one tag per page and re-running your audit with a canonical checker after every template change.

A canonical chain is when page A declares page B as canonical, and page B declares page C. The consolidation signal has to travel hop by hop, and Google may stop after the first hop — so A's authority lands on B while B's lands on C, and nothing consolidates on the page you actually want. Chains usually appear after site migrations or redesigns where canonical tags were updated page by page. The fix is to point every page directly at the final canonical URL (A → C), never through an intermediate (A → B → C).

If both versions of the page are live and you want them both to stay accessible, use a canonical tag — it's a hint that consolidates signals while keeping the duplicate URL working for users. If the old URL should no longer exist at all (site migration, renamed URL), use a 301 redirect instead — it's a directive, stronger than a canonical, and it also sends users to the new location. Never canonicalize a page that also 301s away: the redirect wins and the canonical never gets read.

To check the canonical URL a page is already declaring, open the page in your browser and view the source (Ctrl+U), then search for "rel=canonical" in the <head>. For a quick technical check without a browser you can also use our HTTP Header Checker to inspect the response headers, since some servers declare canonicals via the HTTP Link header instead. If the page is yours and the tag looks wrong (wrong host, tracking parameters, trailing slash), paste the URL into this canonical checker to generate the correct normalized tag and replace the old one.

Explore more seo tools

Browse the full collection of seo tools on the hub, or jump back to all categories.

Related tools

Did this tool help?

Anonymous — one tap, no sign-up.