What is a URL slug?
A slug is the human-readable part of a URL that identifies a page — the "what-is-a-url-slug" in /blog/what-is-a-url-slug. Making one means transliterating accents to ASCII, collapsing everything that is not a letter or digit into a single separator, and trimming the result so it never starts or ends with one. Hyphens are the right separator: Google has stated it treats hyphens as word boundaries and underscores as word joiners, so my_page reads as one token while my-page reads as two. Slugs should also be stable, because changing one changes the URL, and changing a URL means a redirect or a lost ranking.
How to use this tool
- 1 Paste one title per line — the whole list converts at once.
- 2 Pick your separator and whether to lowercase or preserve the original case.
- 3 Optionally strip accents and drop stop words for shorter, cleaner slugs.
- 4 Set a max length to truncate at a word boundary rather than mid-word.
Frequently asked questions
Should I use hyphens or underscores?
Hyphens. Google treats a hyphen as a word separator and an underscore as a word joiner, so "vintage_car" is read as one token while "vintage-car" is read as two words. Hyphens are also the long-standing convention, so they look right to readers as well as crawlers.
How are accented characters handled?
With Unicode NFD normalisation, which splits é into a plain e plus a combining accent; the combining marks are then removed, leaving ASCII. Characters that have no decomposition — ø, æ, ß, ł — are mapped explicitly, since normalisation alone would drop them entirely.
Should I remove stop words?
Usually not. Shorter slugs read slightly better, but removing "the" and "of" can make a title ambiguous or grammatically odd, and modern search engines do not reward keyword-dense slugs. The option is here for when a title is genuinely too long; leave it off by default.
What about duplicate slugs?
The status line flags them, because bulk-generating from titles produces collisions more often than people expect — two posts named "Getting Started" give you the same slug. Resolve them with a numeric suffix, a date prefix, or by rewording one title. Silently overwriting is how you lose a page.
Can I change a slug after publishing?
You can, but the old URL then 404s, which loses whatever rankings and inbound links it had. If you must change it, 301 the old slug to the new one and keep that redirect in place permanently. It is far cheaper to get the slug right before publishing.