URL slug generator
Turn titles into clean URL slugs, with accents transliterated and punctuation stripped. Convert a whole list at once. Nothing is uploaded.
About this converter
A slug is the human-readable part of a URL, and generating one is the kind of problem that looks like a one-line regex until you meet real text. Lowercasing and replacing spaces with hyphens handles English titles and falls apart on everything else.
Accented characters are the first thing that breaks. A naive strip turns "café" into "caf" and "Zürich" into "Zrich", losing a letter rather than converting it. This generator decomposes accented characters into a base letter plus its diacritical mark and removes only the mark, so those become "cafe" and "Zurich". Characters that have no decomposition are mapped explicitly - the German ß becomes ss, the Nordic ø becomes o, æ becomes ae - because Unicode normalisation alone leaves them untouched.
Paste one title or a whole list, one per line, and you get one slug per line. If two lines produce the same slug the generator tells you, which matters because URLs have to be unique and duplicate slugs are something you want to discover while generating rather than when your CMS rejects the second one.
Stop word removal is available but off by default. Dropping words like "the", "and" and "of" makes slugs shorter and was once thought to help rankings; the evidence for that is weak, and it can change meaning in ways that hurt readability. It also never returns an empty slug, so a title consisting entirely of stop words keeps them.
The 60-character option trims at a separator rather than mid-word, so you get a clean truncation instead of a cut-off syllable.
Everything runs in your browser, so an unpublished article title stays private.
Frequently asked questions
- How are accented characters handled?
- They are decomposed into base letter plus mark, and the mark is removed - so é becomes e rather than disappearing. Characters with no decomposition, like ß and ø, are mapped explicitly.
- Should I remove stop words?
- Usually not. It shortens slugs but the ranking benefit is weak and it can change meaning. It is off by default for that reason.
- What about non-Latin scripts?
- Cyrillic, Greek, Chinese and similar scripts have no Latin decomposition, so those characters are removed rather than transliterated. Use a language-specific romanisation first.