A good slug turns a messy title into a short, readable, search-friendly URL segment. This tool automates the four steps every slug generator performs — normalizing, stripping accents, replacing punctuation, and trimming — so you don't have to hand-edit URLs one character at a time.

How the Slug Generator works

The algorithm runs in a fixed order: Unicode-normalize the text, strip accents by decomposing each accented letter and discarding its accent mark, optionally lowercase everything, then replace every run of non-letter/non-digit characters with a single separator. If stopword stripping is on, short filler words are removed next. Finally, repeated separators collapse into one and any leading or trailing separator is trimmed.

The tool intentionally keeps all Unicode letters and digits rather than restricting to ASCII a-z0-9 — this means non-Latin scripts (Chinese, Arabic, Cyrillic, etc.) are preserved as their own characters rather than being deleted, though they are not transliterated into Latin letters.

Hyphens vs. underscores — which should you use?

For anything that will live in a public URL, use a hyphen. Google and other search engines treat a hyphen as a word boundary ("my-post" is read as two words, "my" and "post"), but treat an underscore as joining the words into one token ("my_post" reads closer to "mypost"). Underscores are still useful for filenames, database keys, or internal identifiers where SEO doesn't apply — the Options tab supports both.

Accents, stopwords, and non-Latin text — limits to know

Accent stripping only removes combining diacritical marks; it does not attempt full transliteration, so a word like "naïve" becomes "naive" but a Japanese or Arabic phrase is preserved character-for-character rather than converted into a Latin approximation. The stopword list is short and English-only (a, an, the, of, in, on, for, to, and, or, with) — it's meant to trim obviously low-value words from English titles, not to serve as a linguistically complete filter. Leave it off if you want every word kept, or if your text isn't in English.

Privacy: every calculation happens locally in your browser using standard JavaScript string methods. Nothing you type or paste is sent to a server.