URL Slug Generator
Turn any title into a clean, SEO-friendly URL slug.
100% in your browser — nothing uploadedTurn a title into a URL slug
About this URL slug generator
A slug is the human-readable part of a URL — for “10 Recetas de Café Fáciles” you want /10-recetas-de-cafe-faciles. This tool lowercases the title, strips accents (café → cafe, ñ → n), removes every remaining symbol, collapses the gaps into single separators and trims them off both ends, live as you type and with nothing sent anywhere.
You can switch the separator between hyphen and underscore (hyphens are what Google recommends) and set a maximum length. When a slug runs past the cap it is cut back to the last complete word rather than mid-syllable, so you never end up with /how-to-make-cafe-con-le. It works on any Latin-script language.
Google’s URL structure documentation is short and specific, and worth following rather than guessing at. It recommends readable words instead of long ID numbers; hyphens rather than underscores, “as it helps users and search engines better identify concepts”; words in your audience’s language, transliterated where applicable; percent encoding for characters outside the ASCII range; and as few query parameters as you can manage. It also warns that Google Search’s URL handling is case sensitive, so /APPLE and /apple are two different pages — pick lowercase and stay there. What the documentation does not claim is that slug wording is a ranking factor. Google’s John Mueller has called keywords in the URL “a very small ranking factor” and said it is not worth restructuring a site over. Write slugs for the person reading them in a search result.
RFC 3986 allows a narrow unreserved set in a URL path — letters, digits and the four characters - . _ ~ — and everything else is encoded as UTF-8 bytes rewritten into %XX triplets. That leaves two legitimate strategies for a title with accents. Transliterate, which is what this tool does and what most Latin-script sites do; or keep the native characters and let the browser percent-encode them, so /ñoquis travels as /%C3%B1oquis while still displaying as ñoquis in the address bar and in search results. Google’s own example of a good localized URL is https://example.com/ペパミント. For non-Latin scripts the second strategy is the only workable one: feed this tool pure Cyrillic or Japanese and it returns an empty slug, because there is no a–z fallback to transliterate into.
Know the failure modes before you publish. Symbols that carry meaning are erased, not translated: “C# vs C++” collapses to c-vs-c, which is ambiguous where the title was not, so spell those out yourself (c-sharp-vs-c-plus-plus). Letters with no canonical Unicode decomposition — ß, ø, ł, đ, æ — are separate letters rather than accented ones, so they are dropped instead of transliterated and “Straße” becomes stra-e; write strasse first. Stop words are a matter of taste, since dropping “the” and “a” reads better and keeping them costs nothing. And the mistake that actually costs money: editing the slug of a page that already ranks changes its URL, so the old address needs a 301 redirect or you lose the links and history pointing at it. Slugs are cheap to get right before publishing and expensive to change afterwards.
Messy titles, clean slugs
Every row below is the literal output of the field above at its default settings — hyphen separator, 80-character cap. The last two rows are the ones worth studying.
| Title | Slug |
|---|---|
| 10 Easy & Quick Coffee Recipes | 10-easy-quick-coffee-recipes |
| How to Make Café con Leche (Puerto Rican Style) | how-to-make-cafe-con-leche-puerto-rican-style |
| ¿Cómo instalar Node.js en Windows? | como-instalar-node-js-en-windows |
| Top 10 -- Best “Budget” Laptops [2026 Edition] | top-10-best-budget-laptops-2026-edition |
| 50% off — today only! | 50-off-today-only |
| naïve Bayes & k-means | naive-bayes-k-means |
| C# vs C++: What’s the Difference? | c-vs-c-what-s-the-difference |
| Straße & Łódź | stra-e-odz |
C# and C++ both reduce to c because # and + are symbols, not letters — any slugifier that keeps only a–z0-9 does this, so tech titles need their symbols written out by hand. Straße loses its ß and Łódź loses its Ł for a different reason: those characters have no canonical Unicode decomposition, so accent stripping cannot touch them and the a–z filter deletes them outright. The ó and the ź survive because they really are o and z carrying combining marks.
A checklist for slugs you write by hand:
- Lowercase everything. Google treats /APPLE and /apple as two distinct URLs.
- Separate words with hyphens. Both hyphens and underscores are legal in a URL under RFC 3986; the difference is that Google reads hyphens as word separators and underscores as joiners.
- Pick one accent policy for the whole site, and never let /cafe and /café both exist on the same domain.
- Spell out symbols that carry meaning: c-sharp, plus, percent, and, vs.
- Drop filler words when the slug reads better without them, but never drop the term the page is actually about.
- Keep it short enough to scan in a search result, then stop optimising — URL length is not a ranking factor.
- Decide before you publish. Changing a live slug requires a 301 redirect from the old URL.
One thing a slugifier cannot decide for you is whether to transliterate at all. If your audience reads Cyrillic, Greek, Arabic, Chinese or Japanese, stripping down to a–z destroys the words instead of cleaning them. Keep the native characters, let the browser percent-encode them, and use this tool only for the Latin-script parts of the URL.
Reference tables
FAQ
Hyphens or underscores?
Hyphens. Google treats hyphens as word separators but joins words connected by underscores, so "coffee-recipes" is read as two words while "coffee_recipes" may be read as one.
Should slugs include stop words?
Short slugs read better, so dropping words like "the" and "a" is common — but keeping them doesn’t hurt rankings. Prioritize readability.
What happens to the ñ?
It becomes n (año → ano in slugs is the accepted convention; context makes the meaning clear). All accents are similarly transliterated.