URL Normalizer
Bulk-normalise URLs against RFC 3986: lowercase scheme/host, strip default ports, remove dot segments, canonicalise percent-encoding, dedupe and sort query parameters, and optionally strip tracking parameters.
Interactive tool
Input
Output
Paste URLs on the left to see them normalised here.
What is the URL Normalizer?
A bulk URL normalisation tool that applies RFC 3986 syntax-based rules: lowercase the scheme and host, strip default ports, collapse dot segments, canonicalise percent-encoding, sort/dedupe query parameters, plus opt-in cleanups like stripping UTM tags. Paste up to 1,000 URLs and get a per-row diff of exactly which rules fired.
How to Use the URL Normalizer
- 1Paste your URLs into the left textarea (one per line)
- 2Toggle the rules you want applied: force HTTPS, strip fragment, dedupe query params, strip UTM/gclid/fbclid, change the query-sort order
- 3Watch the per-row results update live with a chip for each rule that fired
- 4Copy the cleaned URLs from the output, or download the full CSV with original/normalised/applied/error columns
Key features
RFC 3986 syntax-based normalisation
Lowercase scheme and host, strip default port, remove dot segments, decode unreserved percent-triplets, uppercase remaining triplets: all per the spec.
Marketing-friendly cleanups
Optional toggles for stripping UTM, gclid, fbclid, mc_eid, and a curated list of common third-party tracking parameters.
Per-row diff
For each URL we list the exact rule names that fired (force-https, strip-utm, dedupe-query, ...) so you can verify the transformation.
CSV download
One-click export of original / normalised / applied / error columns for re-importing into your sitemap, redirect map, or analytics tool.
Trailing slash policy
Force trailing slash, strip trailing slash, or preserve whatever the user typed.
Bulk limit safeguard
Caps batches at 1,000 URLs so the page stays responsive even on long lists.
Why normalise URLs?
Search engines, analytics platforms, and CDN cache keys all hash URLs as strings: a single trailing slash difference is enough to split traffic across two cache entries. Normalising at ingest time gives you stable URLs that consolidate ranking signals, share cache hits, and de-duplicate analytics rows.
Common use cases
- Cleaning a redirect map before importing into Apache or Nginx
- De-duplicating a list of inbound links before contacting webmasters
- Generating a stable canonical column for a sitemap.xml
- Auditing UTM-tagged ad URLs before consolidating campaign metrics
- Building a normalised seed list for a crawler so /a vs /a/ does not fetch twice
RFC 3986 §6: what counts as "equivalent"
- Syntax-based normalisation (§6.2.2) is what we apply by default: case normalisation, percent-encoding normalisation, and path segment normalisation. Two URLs that differ only in those dimensions point at the same resource.
- Scheme-based and protocol-based normalisation (§6.2.3) is out of scope here. We never assume http and https serve the same content.
Choosing a query-sort policy
- Preserve order: safest for apps that rely on parameter order (most do not).
- Alphabetical: strongest deduplication, recommended for canonical URLs.
- Group duplicates: keeps the original order but moves duplicate keys adjacent to each other.
Tips & best practices
Pair with the Canonical URL Generator
Once your URLs are normalised, the Canonical URL Generator turns each one into a drop-in <link rel="canonical"> snippet.
Strip UTM only when consolidating with organic
If your analytics platform attributes by URL string, keep UTMs. Strip them only for canonical/internal URLs.
Decide on trailing slashes once
Pick a policy and stick with it across your whole site. Force a trailing slash for directory-like paths or strip them for files: mixed policies fragment indexing.
Privacy & security
This tool runs entirely in your browser. URLs never leave your device.
Related tools
- CSP Evaluator
Audit a Content-Security-Policy for unsafe directives, wildcards, missing object-src/base-uri, weak nonces, and other XSS escape hatches. Paste a policy or fetch a URL: get severity-grouped findings with remediation.
SEO Tools
- HTTP Header Checker
Inspect every response header from any URL: security (HSTS, CSP, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy, COOP/COEP/CORP, cookie flags), performance (Cache-Control, ETag, compression), and the full redirect chain.
SEO Tools
- Schema Markup Generator
Generate valid JSON-LD schema markup for Article, Product, Organization, LocalBusiness, BreadcrumbList, FAQPage, Event, Recipe, VideoObject, WebSite, and WebPage: Rich Results-ready.
SEO Tools
- HTML Link Extractor
Extract every link from any HTML page: anchors, images, iframes, scripts, stylesheets, and meta canonical/og:url. Paste HTML or fetch a URL, get a categorised table with internal vs external counts and CSV export.
SEO Tools
- Open Graph Preview
Preview how a URL appears on Facebook, LinkedIn, Twitter, Slack, and Discord, with a checklist for missing OG and Twitter card tags
SEO Tools
- Redirect Rules Generator
Generate Apache .htaccess and Nginx redirect snippets from a single rule list. Supports exact, prefix, and regex matches with 301/302/307/308 status codes, query-string passthrough, case-insensitive matching, and CSV import.
SEO Tools
Frequently Asked Questions
What is URL normalization?
URL normalization (canonicalisation) transforms an input URL into an equivalent canonical form. RFC 3986 §6 defines syntax-based rules: lowercase scheme/host, strip default ports, collapse dot segments, canonicalise percent-encoding.
Why should I strip UTM parameters?
For canonical URLs, yes: UTM tags identify a campaign, not a resource, so two URLs that differ only in UTMs point to the same page. Strip them when consolidating ranking signals or de-duplicating analytics. Keep them in user-facing redirect rules if you still need the attribution.
Is the trailing slash significant?
It depends on the server. Most modern web servers treat /path and /path/ as different URLs and serve them independently. Pick one policy per site and apply it uniformly to consolidate caching, indexing, and analytics.
How many URLs can I normalise at once?
1,000 URLs per batch. The cap keeps the page responsive on lower-end devices. For larger batches, run the tool in chunks or pipe through the underlying lib/url-canonical primitives in your own script.
Does the tool send my URLs to a server?
No. The URL Normalizer is fully client-side. URLs are never transmitted off your device.