Slug Collision Checker

Bulk-convert titles or URLs into slugs and spot duplicate, colliding slugs before you publish.

Lines
0
Unique slugs
0
Collision groups
0
Colliding lines
0

Paste your list above — collisions are detected as you type.

No uploads. Your files stay on your device.

Free forever, no sign-up, no cookies. Buy me a coffee

How it works

Paste a list of page titles, full URLs or existing slugs — one per line — and every line is turned into a URL slug the same way a CMS would: accents are folded to plain ASCII, & becomes and, punctuation is dropped and the words are joined with hyphens. Full URLs are reduced to their last path segment, so https://example.com/blog/coffee-guide/ becomes coffee-guide.

The checker then groups identical slugs together and shows you exactly which lines clash, plus a de-duplicated list where the second and later duplicates get a -2, -3 suffix. Turn on Ignore stop words or Ignore trailing numbers to catch near-collisions that a CMS would happily accept but which still compete for the same keyword. Everything is computed in your browser with JavaScript — your content list is never uploaded.

Frequently asked questions

What happens if two pages have the same slug?

Your CMS will usually publish the second page anyway, quietly appending -2 to the URL (or, worse, overwrite the first). Either way you end up with an ugly URL and two pages competing for the same keyword, which splits their link equity and confuses search engines about which one to rank.

How does the checker turn my titles into slugs?

Each line is lowercased, accents are folded to plain ASCII (café becomes cafe), & becomes "and", and everything that is not a letter or digit becomes a hyphen. Full URLs are reduced to their last path segment, so https://example.com/blog/coffee-guide/ is compared as coffee-guide.

What do the "ignore stop words" and "ignore trailing numbers" options do?

They catch near-collisions your CMS would happily accept. Ignoring stop words treats "the-best-coffee-grinders" and "best-coffee-grinders" as the same target, and ignoring trailing numbers matches "espresso-tips-2" with "espresso-tips" so you can spot accidental duplicates created by earlier imports.

Report a bug