URL slug generator
Turn titles into clean URL slugs with accent transliteration, stop-word removal, length limits and batch mode for long lists.
- Runs in your browser
- Files are never uploaded
- Free, no account
One title per line — every line becomes its own slug, so you can convert a whole content plan at once.
Truncation happens on a word boundary, never mid-word.
Recommended — URLs are case sensitive on most servers.
Café → cafe, Zürich → zuerich, Кофе → kofe.
Drops “the”, “a”, “of” and similar filler words.
“10 Café Recipes” becomes “cafe-recipes”.
Adds -2, -3 to repeated slugs so URLs never collide.
How to turn a title into a URL slug
- Paste one title, or a whole list with one title per line. A text or CSV file can be dropped straight onto the box.
- Choose the separator. Hyphens are the right answer for public URLs.
- Turn on transliteration if the titles contain accents or non-Latin script, and set a maximum length if your CMS or your house style needs one.
- Optionally remove stop words and strip leading numbers to shorten long headlines.
- Copy an individual slug from the table, or export the whole batch as a list or CSV.
What makes a good slug
- Lowercase. Most web servers treat paths as case sensitive, so
/Aboutand/aboutcan be two different pages — and two different entries in an index. - Hyphen separated. Google has said for years that it treats hyphens as word separators and underscores as joiners, so
red-shoesis two words andred_shoesis one. - ASCII only. Non-ASCII characters are legal but get percent-encoded when copied, turning a tidy URL into
caf%C3%A9in emails and analytics reports. - Short and meaningful. Three to six words is enough to describe the page and still be readable in a search result.
- Stable. A slug is a promise. Changing one means setting up a redirect, so decide before you publish rather than after.
Transliteration examples
| Title | Slug | Rule applied |
|---|---|---|
| Café Crème | cafe-creme | Combining accents removed after NFKD normalisation |
| Zürich im Frühling | zuerich-im-fruehling | German umlauts expanded to ue/oe/ae |
| Straße 12 | strasse-12 | ß expanded to ss |
| Кофе и чай | kofe-i-chay | Cyrillic romanised character by character |
| Ωμέγα | omega | Greek romanised |
| Smørrebrød | smorrebrod | ø mapped to o |
| “404 Not Found” (Fast!) | 404-not-found-fast | Quotes, brackets and punctuation dropped |
Stop words: shorten, but not by default
Removing “a”, “the”, “of” and similar words makes slugs shorter, and search engines largely
ignore them anyway. The cost is readability: /how-to-fix-404-error is clearer
than /fix-404-error, and a URL that reads like a phrase gets clicked more often
when it appears in a result. Use stop-word removal on genuinely long titles, not everywhere.
The same applies to stripping a leading number — useful for “10 Ways to…” listicles, unwise
when the number is part of the identity, as in “2026 Tax Rates”.
Batch mode and duplicate handling
Paste a content calendar and every line becomes its own slug. Two different titles regularly
collapse to the same slug once punctuation is stripped — “Q&A: Pricing” and “Q and A
pricing” both become q-a-pricing. With “Make duplicates unique” switched on, the
second and later collisions get a -2, -3 suffix, which is what
WordPress, Ghost and most CMSs do internally. The table flags every line that collided so you
can rewrite the title instead if you would rather.
Export as CSV to get a title,slug pair per row, ready to paste into a spreadsheet
or a redirect map.
Length limits
There is no SEO penalty tied to a specific slug length, but there are practical ceilings: some CMSs truncate at 200 characters, email clients wrap long URLs, and a slug longer than about 60 characters is usually a sign the title is doing too much. When you set a maximum, truncation happens on a word boundary so you never get a slug ending mid-word.
Runs locally, works offline
Slug generation, transliteration and the duplicate check all run in your browser, so an unpublished content plan or a set of internal page titles never leaves your device.
Questions
What makes a good URL slug?
Lowercase, hyphen-separated, ASCII only, and short enough to read in a search result — three to six meaningful words is a good target. Keep the words people actually search for and drop the filler.
How are accents and non-Latin scripts handled?
Transliteration maps characters to ASCII before slugging: café becomes cafe, Zürich becomes zuerich, ß becomes ss, and Cyrillic and Greek letters are romanised. Turn it off if you deliberately want Unicode URLs.
Should I remove stop words?
It shortens URLs and is safe for most posts, but it can hurt readability — "how-to-fix-404-error" reads better than "fix-404-error". Use it when a title is long, not by default.
Can I convert a whole list of titles?
Yes. Paste one title per line, or drop a text file, and every line becomes its own slug. Duplicate slugs are automatically given -2, -3 suffixes so URLs never collide, and you can export the result as CSV.
Does the separator matter for SEO?
Hyphens are the safe choice: Google treats them as word separators, while underscores are treated as joiners. Dots and no separator at all make words run together and should be avoided in public URLs.