URL Slug Generator
Turn any title into a clean URL slug — accents transliterated, punctuation stripped, multi-line batch supported.
1,081 views
How It Works
Turning a title into a slug is really two problems stacked together: making the text lowercase and hyphenated, and handling every character that isn't plain a-z. For accented Latin characters this tool leans on Unicode normalization (NFD — Normalization Form Decomposition): a character like "é" looks like one glyph, but NFD decomposes it into a base letter "e" plus a separate combining acute accent mark. Once decomposed, the tool strips every combining mark and keeps the plain base letter — "café" becomes "cafe" cleanly, with no lookup table needed.
Turkish characters break that trick, though. "İ/ı" and "ğ" don't decompose into a base letter plus a removable mark under Unicode rules — a dotless "ı" isn't "i minus a dot", it's its own letter, and "ğ" (yumuşak g) has no meaningful Latin decomposition at all. So this tool applies an explicit transliteration table for ç→c, ğ→g, ı→i, ö→o, ş→s, ü→u before the NFD pass runs. Concrete example: "Öğretmenin Güncel Maaşı Ne Kadar?" becomes ogretmenin-guncel-maasi-ne-kadar — every Turkish character mapped correctly, spaces and the question mark collapsed into hyphens, trailing punctuation trimmed.
Length matters beyond readability, too: Google's results display only so much of a URL before truncating it visually, so a slug stretching past roughly 60-70 characters starts getting clipped in the result even if the full URL still resolves correctly behind it. Consistency matters as much as brevity — mixing case (Some-Words) or leaving a trailing slash on some pages but not others creates what look like duplicate URLs to a crawler, each one splitting the ranking signal that should belong to a single page. When two pieces of content would naturally produce the same slug (two articles both titled "Getting Started"), most systems disambiguate with a numeric suffix (getting-started-2) rather than silently overwriting the first page's URL — worth deciding on deliberately rather than leaving to whatever a CMS defaults to.
Things to Know
- Hyphens beat underscores for SEO: Google has documented that hyphens separate words (blue-car reads as "blue car") while underscores glue them (blue_car reads as "bluecar").
- 3-6 meaningful words beat a full sentence — drop filler words (the, a, of) once a slug runs long.
- Never change a published slug without a 301 redirect. The old URL's accumulated links and history are worth more than a marginally prettier string.
- Skip dates and IDs in slugs unless content is genuinely time-bound, like news — an evergreen guide with a year baked into its URL (/guide-2023/) starts looking stale long before the content itself does.
- Keep the slug consistent with the page's actual title changes over time — when a headline is significantly rewritten, decide deliberately whether the slug should follow (with a redirect) or stay fixed for its accumulated link equity.
- Batch consistency matters for migrations: converting a whole content archive at once, with the same ruleset applied to every title, avoids the mismatched capitalization and stray characters that creep in when slugs are created by hand over years.
Frequently Asked Questions
Hyphen or underscore?
Hyphen. Google documented long ago that hyphens separate words while underscores glue them: blue-car reads as "blue car", blue_car as "bluecar".
Should dates or IDs be in slugs?
Only if content is truly time-bound (news). Evergreen pages live longer without a year in the URL — /guide-2023/ looks stale in 2026 even when the content is updated.
Why can't Unicode normalization alone handle Turkish characters?
NFD decomposition only works for characters that are genuinely "a base letter plus an accent" internally, like é or ü. Turkish ı (dotless) and ğ aren't built that way in Unicode — they're distinct letters with no combining-mark form to strip, so they need an explicit ç/ğ/ı/ö/ş/ü transliteration table instead.
What happens to numbers and symbols like % or &?
Numbers pass through unchanged; symbols are either transliterated where meaningful (& → and) or dropped and treated as a word boundary, same as a space — so "%20 İndirim" becomes 20-indirim rather than leaving stray punctuation in the URL.
Can I batch-convert many titles at once?
Yes — paste one title per line and the tool returns one slug per line in the same order, which is faster than converting a spreadsheet of article titles one at a time before a migration or bulk import.
Similar Tools
Report a Problem
URL Slug Generator
Comments
No comments yet — be the first to write one!