Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

Canonical Tag Generator

Clean up URLs and get rel="canonical" tags — for one URL or thousands.

SEO No upload Works offline Free, no sign-up

Rules

www
Trailing slash
Comma-separated names.
Tracking parameters removed

utm_*, gclid, gclsrc, dclid, gbraid, wbraid, gad_source, gad_campaignid, _ga, _gl, srsltid, fbclid, igshid, igsh, msclkid, twclid, ttclid, li_fat_id, epik, sccid, rdt_cid, yclid, ymclid, _openstat, mc_cid, mc_eid, _hsenc, _hsmi, __hssc, __hstc, __hsfp, hsctatracking, mkt_tok, _kx, oly_anon_id, oly_enc_id, vero_id, vero_conv, s_kwcid, ef_id

Next steps

About the Canonical Tag Generator

The same page is often reachable at many addresses: with and without www, over http and https, with utm_source or gclid tracking parameters, with #fragments or parameters in a different order. A canonical tag tells search engines which address is the real one, so links and signals are consolidated on it.

Paste a URL and the tool normalises it — https, lower-case domain, default port removed, your www choice, tracking parameters stripped, parameters sorted, fragment removed — and lists every change it made. You get the <link rel="canonical"> tag and the equivalent HTTP Link header. Bulk mode cleans thousands of URLs at once and shows how many distinct pages they really are.

How to use it

  1. Paste a URL, or switch to Bulk and paste one URL per line.
  2. Choose the options: www (keep, add or remove) and trailing slash should match the address your site actually serves.
  3. Read the list of changes and check the result opens the right page.
  4. Copy the <link rel="canonical"> tag into the <head> of every duplicate (and of the canonical page itself), or send the Link header for PDFs and other files.

Examples

A tracked link from an email campaign
Input
HTTP://WWW.Example.com:80/Shop/Shoes/?utm_source=newsletter&color=red&utm_medium=email&size=9&fbclid=IwAR2x#reviews
Result
https://www.example.com/Shop/Shoes/?color=red&size=9
<link rel="canonical" href="https://www.example.com/Shop/Shoes/?color=red&amp;size=9">

The path keeps its capital letters: paths are case-sensitive, so lower-casing is an opt-in.

Canonical tag or redirect?

Google ranks the methods by strength: redirects are a strong signal, rel="canonical" (the tag or the HTTP header) is a strong signal, and listing a URL in a sitemap is a weak one. Use them like this:

  • Redirect when you retire a duplicate — for example, moving from http to https, or choosing between www and non-www. A permanent server-side redirect (301 or 308) takes effect fastest.
  • Canonical tag when the duplicates must stay reachable: tracking parameters, sorting and filter parameters, print versions, the same product in several categories.
  • Add a self-referencing canonical on the canonical page itself.
  • Use absolute https URLs; Google prefers HTTPS pages as canonical.
  • Don’t send mixed signals: don’t point the sitemap at one URL and the canonical at another, and don’t use robots.txt or noindex to choose canonicals.
  • With hreflang, point to a canonical in the same language.

Source: Google’s guide to consolidating duplicate URLs.

What the normaliser changes — and what it leaves alone

  • Always: lower-cases the domain, removes default ports (:80, :443), user names and passwords, and normalises percent-encoding (%7e → ~, %c3%a9 → %C3%A9).
  • On by default: switches to https, removes tracking parameters (utm_*, gclid, gbraid, wbraid, fbclid, msclkid, twclid, ttclid, li_fat_id, mc_cid, _hsenc, mkt_tok, yclid, srsltid and more), sorts the remaining parameters and removes the #fragment.
  • Off by default: lower-casing the path and changing the trailing slash, because /Page and /page, or /page and /page/, can be different pages on your server. Turn them on only to match what your site really serves. Adding www. is applied to the main domain only, never to other subdomains.

Limitations

  • The tool doesn’t open the URLs, so it can’t confirm that the canonical address works or which variant your server prefers — check it in a browser (and in Search Console’s URL Inspection).
  • Parameters it doesn’t know as tracking-only are kept, because they may change the page. Add any others (such as session IDs) under “Also remove”.
  • Bulk mode handles up to 50,000 URLs at a time.

Privacy

Everything happens in your browser. What you enter or open here is not uploaded or stored by MySmartCoPilot.

Frequently asked questions

Does every page need a canonical tag?

It isn’t required — Google says most sites do fine without specifying one — but a self-referencing canonical on each page is a cheap way to make your preferred URL explicit, especially when tracking links point to the page.

Should I use the link tag or the HTTP header?

Either works for HTML pages; use only one of them, because using both at the same time is more error-prone. The Link: <…>; rel="canonical" header is the only option for PDFs and other files without a <head>.

Does Google always use my canonical?

No. A canonical tag is a strong signal, not a command. Google also looks at redirects, sitemaps, internal links and HTTPS, so keep them consistent with the canonical you declare.

Can the canonical URL be relative?

Relative URLs are supported, but Google recommends absolute URLs because relative ones can cause problems later — for example if a staging copy of the site gets crawled.

Are /page and /page/ the same URL?

No — they are different URLs, even if your server shows the same content for both. Pick one form, redirect the other to it, and use that form in canonicals, sitemaps and internal links.

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.