Formula
slug = lowercase(text) with accents removed, then every run of characters other than a–z and 0–9 replaced by one separator, trimmed at both ends
- & becomes “and”; ß → ss, æ → ae, ø → o, đ → d, ł → l
- A maximum length cuts at a whole word where possible
Keep letters and digits, drop the rest, and join words with one hyphen.
Worked example
A title with accents and symbols
- Title or text
- 10 Crème Brûlée Tips & Tricks — Café Edition!
- Separator
- Hyphen (-)
- Letter case
- lowercase
Slug
10-creme-brulee-tips-and-tricks-cafe-edition
Length: 44 characters
Example URL: https://example.com/blog/10-creme-brulee-tips-and-tricks-cafe-edition
How it works
A slug is the readable last part of a URL, such as 10-creme-brulee-tips-and-tricks-cafe-edition. Good slugs are short, lowercase, use hyphens between words and avoid punctuation, which keeps them easy to read, share and type. The generator removes accents by decomposing characters (é becomes e), transliterates a few special letters, turns & into “and”, and collapses everything else into a single separator.
Hyphens are the usual choice for the web because search engines treat them as word separators, while underscores join words together. If you set a maximum length the slug is cut at the last whole word that fits, so it does not end halfway through a word. Text written only in other scripts, such as Devanagari or Chinese, has no Latin letters to keep and is dropped; those characters are valid in URLs when percent-encoded, which the URL Encode and Decode tool can show you.
Change the case of a title first with the Case Converter, break an existing address into parts with the URL Parser, and tidy up text with the Word Counter.
Assumptions and limits
- Output is plain ASCII: Latin letters and digits only.
- Other scripts are dropped rather than transliterated.