URL Slug Generator

Turn any title into a clean URL slug: accents transliterated, lowercased, words joined with hyphens or underscores, stop words optional, a length cap that never ends mid-word, and whole lists at once.

Generator Web & Dev Updated Oct 3, 2026
Learn how this works
How to Use
  1. Type or paste a title into the box. Paste several lines to slugify a whole list at once — one slug per line.
  2. Choose the separator: Hyphen (the usual choice for URLs) or Underscore.
  3. Keep lowercase on for URLs, or choose Keep case for identifiers that need it.
  4. Tick Strip stop words to drop filler such as “the”, “and” and “of”, and set a Max length if your platform caps slugs (0 means no limit).
  5. Read the URL preview and the Show Work section to see each step, then press Copy.
Input
one per line for a list
chars, 0 = none
Presets
Slug
Slug length
—
Words
—
Chars removed
—
Lines
—

Worked Example

Slugify “Crème Brûlée: 10 Tips & Tricks for Beginners” (44 characters).

Transliterate: è → e, û → u, é → e gives “Creme Brulee: 10 Tips & Tricks for Beginners”.
Lowercase: “creme brulee: 10 tips & tricks for beginners”.
Replace every run of anything that is not a letter or digit (“: ”, “ & ”, the spaces) with one separator.
Result: creme-brulee-10-tips-tricks-for-beginners, 41 characters.

With Strip stop words on, “for” goes: creme-brulee-10-tips-tricks-beginners (37). With a Max length of 30 instead, the cut at 30 lands inside “for” (…-tricks-fo), so the tool steps back to the last whole word: creme-brulee-10-tips-tricks (27).

The common mistake: deleting accented letters instead of transliterating them. Lowercasing and then replacing everything outside a–z and 0–9 throws away è, û and é, giving cr-me-br-l-e-10-tips-tricks-for-beginners — the same length, but unreadable and no longer containing the words anyone searches for.

Show Work

Type a title above to see each step of the slug.

The Steps

1. Transliterate
é → e, ñ → n, ß → ss, æ → ae
A lookup table first, then any remaining accent marks are stripped (Unicode NFKD)
2. Lowercase
Hello → hello
On by default; URLs are case-sensitive on most servers
3. Replace
[^a-zA-Z0-9]+ → one separator
A run of punctuation and spaces becomes a single hyphen
4. Stop words
the, a, and, of, to, in, for …
Optional; 33 common English words; all kept if nothing else is left
5. Trim
no leading, trailing or doubled separators
“--hello--” → “hello”
6. Max length
cut at L, back to the last whole word
A single word longer than L is cut at L

Where Slugs Came From

“Slug” is newsroom slang. In hot-metal typesetting a slug was a line of type cast in one piece, and editors used the word for the short working name of a story — “fire-downtown” — that followed it from reporter to copy desk to page. Web publishing borrowed the term: Django, released by the Lawrence Journal-World newspaper’s developers in 2005, has a built-in SlugField and a slugify() function, and WordPress calls the editable end of a permalink the post slug.

Readable URLs replaced addresses like /article.php?id=4821 as servers learned to rewrite paths (Apache’s mod_rewrite) and as search engines began showing the URL under each result. RFC 3986 (2005) still limits a plain URL to a small set of ASCII characters; everything else has to be percent-encoded, which is why slugs transliterate accents rather than keep them.

About This Tool

This tool turns titles into URL slugs: it transliterates accented Latin letters to ASCII, optionally lowercases, replaces punctuation and spaces with a hyphen or an underscore, removes doubled and trailing separators, can drop English stop words, and caps the length without leaving half a word. Paste a list and every line gets its own slug.

The URL preview shows the slug in place, the word chips show which words were kept, dropped as stop words or cut by the length cap, and Show Work lists every step. Everything runs in your browser; nothing you type is sent anywhere.

Related tools: Meta Tag & Open Graph Generator, URL Encoder / Decoder, and Text Case Converter.

Frequently Asked Questions

What is a URL slug?

The readable part of a URL that names one page, usually made from its title. In example.com/blog/how-to-bake-bread the slug is how-to-bake-bread. Slugs use only letters, digits and a separator, so they are safe to type, share and read aloud.

Should I use hyphens or underscores?

Hyphens for public URLs. Google’s own URL guidelines recommend hyphens because a hyphen is read as a space between words, while an underscore can join them: red-shoes is two words, red_shoes may be read as one. Underscores are fine for file names, database keys and code identifiers.

What happens to accents and letters like ß?

They are transliterated to their nearest plain-ASCII spelling before anything is removed: é becomes e, ñ becomes n, ł becomes l, ß becomes ss, æ becomes ae and þ becomes th. Without this step a naive slugifier deletes the letters instead, so “Crème Brûlée” becomes cr-me-br-l-e rather than creme-brulee. Scripts with no Latin spelling (Greek, Cyrillic, Chinese) are removed, so slug those titles by hand or keep them as encoded Unicode.

What are stop words, and should I remove them?

Short filler words — a, an, the, and, of, to, in, for and 25 others in this tool’s list of 33 — that carry little meaning alone. Dropping them makes “The Best Guide to Coffee in the World” 23 characters (best-guide-coffee-world) instead of 37. It is a matter of taste: keep them when the phrase reads badly without them. If every word is a stop word the tool keeps them all rather than return nothing.

How long should a slug be?

Short enough to read at a glance: three to five meaningful words, ideally under about 60 characters. The Max length option cuts at the limit and then steps back to the last whole word, so a 30-character cap turns creme-brulee-10-tips-tricks-for-beginners (41) into creme-brulee-10-tips-tricks (27), never …-tricks-fo.

How do I use the URL Slug Generator?

Just pick your options. The answer shows up right away — there is no button to press. Change anything and it updates by itself.

Does it cost anything or need an account?

No. The tool is completely free, there is no account to create, and it keeps working offline after the page first loads.

Is anything I type uploaded?

No. The tool works entirely on your device, so the values you enter never leave your browser.

Common Use Cases

Blog and CMS permalinks

Turn a headline into its permalink before publishing in WordPress, Ghost or a static site generator: “10 Tips & Tricks” becomes 10-tips-tricks.

Product and category URLs

Paste a column of 200 product names and get 200 matching slugs, one per line, ready to paste back into the spreadsheet.

Heading anchors

Make safe id values for headings so #getting-started links work in docs and long articles.

File names and keys

Switch to underscores for file names, S3 keys or database identifiers: “Straße & Café” becomes strasse_cafe.

Site migrations

Regenerate every slug the same way when moving platforms, so old and new URLs can be matched for 301 redirects.

Last updated: