About the URL Slug Generator
Zyff's URL slug generator turns a title into the lowercase hyphenated form a URL wants, and the part that matters is what it does beyond hyphenating: accented Latin letters are folded to their base letters, so Café Münchner Straße becomes cafe-munchner-strasse rather than a slug carrying combining accent marks. Whitespace is normalised and line breaks are joined, because a slug is one line by definition. Kebab-case on its own is not a slug — a URL has to survive being typed from memory, copied out of an email and stored on a filesystem, and a precomposed accented character reliably does none of those.
How to generate a URL slug
Paste the title
One title per line for a batch. Punctuation, accents, multiple spaces and stray line breaks are all fine — normalising them is the job.
Check the four preset options
This page opens with accent folding, whitespace trimming, space collapsing and line-break removal all on, which together are what separates a slug from plain kebab-case. Each is still a switch you can turn off.
Shorten it
Cut the slug to the three to five words that carry the meaning. A slug's job is to be readable in a search result and typable in an address bar, and neither improves past about sixty characters.
Copy it into your CMS
Set it before the page is published if you can. Changing a live slug means a redirect, and a redirect chain is a real cost that a moment's thought at publish time avoids.
What the URL Slug Generator does
Accents folded, not dropped
café becomes cafe, Zürich becomes Zurich, Łódź becomes Lodz. Letters with no Unicode decomposition are transliterated explicitly — ß becomes ss, ø becomes o — because they are distinct letters rather than accented ones.
Latin script only
Greek, Cyrillic and Arabic are neither romanised nor re-spelled. Romanising is a language-specific judgement where a wrong guess is worse than the original, and quietly stripping their accents instead is worse than either.
One line, always
Line breaks are joined and runs of whitespace collapsed, so a title pasted out of a document does not produce a slug with a newline in it.
Batch by line
Paste a content plan and get a slug per row, ready to paste back into a spreadsheet.
Nothing is invented
The slug is derived from your words. No stop-word list quietly deletes half your title and no keyword is added.
At a glance
| Output form | Lowercase words joined by single hyphens |
|---|---|
| Accent handling | Latin diacritics folded to base letters; ß, ø, ł, đ, þ, æ, œ transliterated |
| Non-Latin scripts | Not romanised and not re-spelled — a mark is only dropped from a Latin base letter |
| Whitespace | Trimmed, collapsed, and line breaks joined |
| Text limit | 100,000 characters per conversion, enforced on the server |
| Practical slug length | Three to five meaningful words; readability falls off past about 60 characters |
Frequently asked questions
What is a URL slug?
The human-readable part of a URL that identifies one page — the how-to-generate-a-url-slug in /guides/how-to-generate-a-url-slug. A good one is lowercase, hyphenated, made of words a person would recognise, and short enough to read in a search result.
Should a slug use hyphens or underscores?
Hyphens. Google has stated for years that it treats a hyphen as a word separator and an underscore as a word joiner, so my_great_page can be read as one token while my-great-page is read as three words. Underscores in URLs are a legacy of filesystem naming, not a web convention.
What happens to accented characters in a URL?
They have to be percent-encoded to travel, so café-menu becomes caf%C3%A9-menu on the wire — which is valid, ugly in a search result, and fragile when someone retypes it or a system normalises the Unicode differently. Folding the accent to a plain letter avoids all of that, which is why it is preset on here. Folding is confined to the Latin script, so a Greek or Cyrillic title is left for you to decide about rather than re-spelled.
How long should a slug be?
Long enough to be meaningful and no longer. Three to five substantive words is a good target; past about sixty characters a slug is truncated in search results and stops being typable. Drop the articles and conjunctions and keep the nouns.
Can I change a slug after publishing?
You can, but the old URL is now a 404 for every link and bookmark pointing at it, so it needs a 301 redirect to the new one. Redirects work, but they accumulate — and a chain of them is slower and loses a little at each hop. Getting the slug right before publishing is much cheaper than fixing it after.
Should the slug match the page title exactly?
It should overlap, not match. A title is written for a human reading a list of results and can be long; a slug should be the two or three words from it that identify the page. Slugs that reproduce a full sentence, stop words and all, are harder to read rather than more descriptive.