URL Slug Generator

Turn any title, heading or phrase into a clean, SEO-friendly URL slug — lowercase, hyphenated, with accents transliterated to plain ASCII, punctuation removed and repeated separators collapsed. Put one title per line to slug a whole list at once. Everything runs in your browser — nothing is uploaded.

0 lines

0 slugs

What each option does

OptionWhat it doesExample
SeparatorThe character that joins words. Hyphen (-) is the SEO standard; underscore (_) or none are also available.my-blog-post
LowercaseForces the whole slug to lower case so the same URL is never treated as two different pages.My Post → my-post
Transliterate accentsConverts accented and special letters to plain ASCII (é → e, ß → ss, ø → o) instead of dropping them.Café → cafe
& → “and”Spells out the ampersand as the word “and” so it is not silently deleted.R&D → r-and-d
Remove stop wordsStrips common filler words (a, the, of, in, to…) for a shorter, keyword-focused slug.the-art-of-war → art-war
Max lengthTrims the slug to a character limit at a whole-word boundary so it never cuts a word in half.caps at 60 chars

Examples

InputSlug (default settings)
Hello World!hello-world
10 Tips for SEO in 202610-tips-for-seo-in-2026
Café & Restaurant Menucafe-and-restaurant-menu
Node.js vs. Deno: A Comparisonnode-js-vs-deno-a-comparison
Multiple Spaces & Symbols!!! multiple-spaces-and-symbols
Ærø — Straße 100% Naïveaero-strasse-100-naive

How the slug is built

The generator runs each line through the same fixed sequence so the result is always repeatable. It first spells out any ampersand as “and” (if that option is on), then transliterates accented and special letters to their nearest ASCII equivalent (é → e, ß → ss, ø → o) and strips the combining marks left behind by Unicode decomposition. It then applies your chosen letter case, replaces every run of characters that is not a letter or digit with a single separator, collapses any repeated separators and trims them off the ends. If you enabled stop-word removal, common filler words are dropped next, and finally the slug is capped to your maximum length at a whole-word boundary. Because it is plain JavaScript running on your device, it works offline and nothing you type is sent anywhere.

What makes a good URL slug

A slug is a small but surprisingly durable piece of a page. It shows up in the browser bar, in the blue link on a search result, in the text people copy when they share a link, and in the anchor of every backlink pointing at the page. Getting it right the first time matters, because changing a slug later means setting up a redirect and risking lost links. A few principles hold up across almost every search-engine and usability guide:

  • Use real, descriptive words. A visitor should be able to guess what the page is about from the URL alone. /how-to-clean-a-cast-iron-skillet tells you everything; /post?id=48213 tells you nothing.
  • Keep it short and front-load the keywords. Trim filler and put the words that matter near the start. Shorter URLs are easier to read, share and remember, and they look cleaner in a search snippet.
  • Lowercase everything. Many web servers treat /About and /about as two different pages, which can split your ranking signals and create duplicate content. A single lowercase form avoids the whole problem.
  • Separate words with hyphens. Search engines read a hyphen as a space but may glue together words joined by an underscore, so hyphens keep your keywords distinct.
  • Stick to ASCII letters, digits and hyphens. Spaces, accented letters and symbols get percent-encoded into unreadable sequences such as caf%C3%A9. Transliterating them to plain characters keeps the URL clean and unbreakable.

Why not just keep spaces and special characters?

A URL is only allowed to contain a limited set of characters. Anything outside that set has to be percent-encoded — replaced with a % followed by the character’s byte values. A single space becomes %20, an ampersand that is meant literally becomes %26, and an accented “é” can turn into %C3%A9. The link still works, but it becomes long, unreadable and easy to corrupt when it is copied into an email, a chat message or a printed document where the trailing part gets cut off. Worse, some characters are reserved because they have a job in the URL itself: ? starts the query string, # starts a fragment, & separates query parameters and / separates path segments. Leaving one of those in a slug can change how the address is parsed. Reducing a title to lowercase words joined by hyphens sidesteps all of it — there is nothing left that needs encoding.

Slugs, redirects and why you should set them early

Because a slug is baked into every link that points at a page, it is expensive to change after the fact. The moment a page has been shared, bookmarked or linked to, its URL is a small contract with the rest of the web. If you rename the slug, every one of those links now points at a missing page unless you add a 301 redirect from the old address to the new one. Redirects work, but they add a small delay, and a long chain of them (old → newer → newest) slowly erodes the link value that flows through. The practical lesson is to choose a clear, stable slug when you first publish and resist tweaking it for cosmetic reasons. Deciding the wording up front — with a tool that shows you the exact result instantly — is far cheaper than reorganising redirects later.

Batch-slugging a content plan

When you are mapping out a blog, a documentation site or an online store, you often have a spreadsheet of titles before a single page exists. Pasting that whole column here — one title per line — gives you the matching column of slugs in a single pass, which you can drop back into your CMS, sitemap or routing table. Doing it in bulk keeps the whole site consistent: the same separator, the same casing and the same handling of accents and stop words on every URL, rather than a patchwork of styles that accumulates when each page is slugged by hand.

Frequently asked questions

What is a URL slug?
A slug is the human-readable part of a web address that identifies a specific page, usually the bit after the last slash. In “example.com/blog/how-to-bake-bread”, the slug is “how-to-bake-bread”. A good slug is short, lowercase, made of real words separated by hyphens, and describes the page so both people and search engines can tell what it is before they click.
Why should a slug use hyphens instead of underscores or spaces?
Google has said for years that it treats hyphens as word separators but does not split words joined by underscores, so “red-shoes” is read as two words while “red_shoes” can be read as one. Spaces are not allowed in a URL at all — a browser encodes them as “%20”, which is ugly and easy to break. Hyphens are the safe, readable, search-friendly choice, which is why this tool uses them by default.
What does “transliterate accents” do?
URLs are safest when they contain only plain ASCII letters, digits and hyphens. Rather than deleting accented or non-Latin letters, transliteration replaces them with the closest ASCII equivalent — é becomes e, ñ becomes n, ß becomes ss, ø becomes o — so a title like “Málaga Guía” becomes “malaga-guia” instead of losing letters. Turn it off if you want those characters removed entirely.
Should I remove stop words from my slugs?
It is optional and situational. Dropping filler words such as “the”, “a”, “of” and “to” makes a slug shorter and more keyword-dense, which some SEOs prefer. But readability matters too — “how-to-tie-a-tie” reads better than “tie-tie” and is not meaningfully worse for ranking. Use the toggle when a title is long and full of filler; leave it off when removing words would make the slug confusing.
How long should a URL slug be?
There is no hard limit, but shorter is generally better: aim for a handful of meaningful words, roughly under 60 characters. Short slugs are easier to read, share, and remember, and they leave the important keywords near the front where they carry the most weight. The optional Max length control trims a long slug at a word boundary so it never ends mid-word.
Can I generate many slugs at once?
Yes. Put one title per line in the input box and the tool produces one slug per line in the output — handy for slugging a whole list of blog titles, product names or categories in a single pass. Everything runs locally in your browser using JavaScript, so nothing you paste is ever uploaded.

Related tools

Explore more tools

Browse all 55 tools →