Home/Text tools/Slug generator
Text toolSlug Generator
Turns a headline into a clean, URL-safe slug — accented letters transliterated to plain ASCII, punctuation stripped, and separators consistent throughout.
Slug
cafe-style-creme-brulee-a-beginners-guide
Accent transliteration table
URL slugs are restricted to plain ASCII by convention, so accented letters need a stand-in. This tool maps each accented Latin letter to its closest unaccented equivalent rather than deleting it, which keeps the word recognisable.
| Accented | Becomes | Accented | Becomes |
|---|---|---|---|
| á à â ä ã å | a | ñ | n |
| é è ê ë | e | ç | c |
| í ì î ï | i | ß | ss |
| ó ò ô ö õ | o | æ | ae |
| ú ù û ü | u | œ | oe |
| ý ÿ | y | ø | o |
Café Crème Brûlée becomes cafe-creme-brulee, not caf-crm-brle — dropping the letter entirely instead of substituting it is a common bug in hand-rolled slug code, and it makes the slug much harder to read or guess.
The honest trade-off in removing stop words
Stripping words like a, the, of, and makes slugs shorter and can read cleaner: guide-beginners-creme-brulee instead of a-beginners-guide-to-creme-brulee. But it can also mangle meaning that depends on those exact words.
How to Cook a Turkey and How Not to Cook a Turkey both lose "not" if it happened to be on a stop-word list — it isn't on this one, but the general risk is real. Titles that hinge on a small function word (negations, "vs", possessives) can end up meaning something different once stripped. Use stop-word removal for length, not as a default — check the result reads correctly before publishing.
Why hyphens, not underscores
Both separators produce a technically valid URL, but Google's documentation has historically stated that it treats a hyphen as a word separator and an underscore as a word joiner — meaning coffee-shop is read as two words "coffee" and "shop", while coffee_shop can be read as the single token "coffeeshop". If a keyword in the slug matters for how the page is found, that difference between "two words" and "one long word" is worth choosing deliberately rather than by habit.
Hyphens have become the de facto convention for this reason — most CMS platforms (WordPress, Shopify) default to them. Underscores remain a reasonable choice for internal identifiers where no search engine will ever parse the string as words.
Questions people ask
What happens to numbers and existing hyphens in the title?
Numbers pass through unchanged. Existing hyphens, en dashes and em dashes are all treated as word separators and normalised to the chosen separator, so they do not create doubled-up separators.
Does the length cap cut a word in half?
No. The cap trims at the last whole word that fits within the limit, then removes any trailing separator — you will never get a slug ending in a partial word or a dangling hyphen.
What happens to non-Latin scripts, like Arabic or Chinese?
Characters this tool cannot transliterate are removed rather than left as broken byte sequences or over-long percent-encoded strings. For content in non-Latin scripts, many sites intentionally keep the native script in the URL instead of forcing an ASCII slug — check what your platform expects before assuming ASCII-only is required.
Is the slug guaranteed to be unique?
No — this tool has no knowledge of your other URLs. Uniqueness has to be checked against your own site; most CMS platforms append a number automatically if a slug is already taken.