Slug Generator
Titles to URL slugs, one per line: accents stripped by Unicode rules, ß/ø/ł transliterated, & to "and", separator and length of your choice, duplicates flagged.
Clean, unique, URL-safe slugs for a batch of titles, with every transformation rule stated so the same input always gives the same slug.
Example: "Crème brûlée & Straße" → creme-brulee-and-strasse; "Łódź – Đà Nẵng — Ærø" → lodz-da-nang-aero; with a 12-character limit the first becomes "creme".
The same title,
the same slug, every time.
The exact steps from text to slug, what happens to accents and non-Latin scripts, and why uniqueness is checked.
The steps, in order
1. "&" becomes " and " (optional). 2. Letters that have no Unicode decomposition are replaced from a short table: ß → ss, æ → ae, œ → oe, ø → o, đ → d, ł → l, þ → th, ð → d, dotless ı → i, and a few others, keeping their case. 3. The text is decomposed with Unicode NFKD (Unicode Standard Annex #15) and every combining mark is removed, so é → e, ñ → n, ü → u, and compatibility characters expand (½ → 1/2, fi → fi). 4. Lower-casing, if on. 5. Every run of characters outside A–Z, a–z, 0–9 becomes one separator. 6. Leading and trailing separators are removed. 7. If a maximum length is set, the slug is cut at the last separator that fits. Each line of the input is slugged independently, so a whole list of titles goes through at once.
Non-Latin scripts and the Unicode option
By default only ASCII letters and digits survive, so a Greek, Cyrillic, Arabic or CJK title produces an empty slug and a warning — this page does not transliterate scripts (Москва → moskva) because every language has its own conventions and no single table is right. With "keep Unicode letters" on, letters and digits of any script are kept after accent removal; browsers display them, but links carry them percent-encoded and some systems require ASCII, which the page says.
Uniqueness and length
Two titles that differ only in punctuation or case slug to the same value — the page flags repeats, since a URL must be unique, but does not invent suffixes; add a number or a word yourself so the choice is deliberate. A length limit cuts at a word boundary rather than mid-word. Slugs use only RFC 3986 unreserved characters, so they never need encoding.
What the tool does not do
No stop-word removal ("the", "a") — some sites want it, most do not, and it changes meaning; no transliteration between scripts; no check against slugs that already exist on your site. Nothing you enter leaves the browser; the same four anonymous usage counts as the rest of the site apply.
SOURCES
- Unicode Standard Annex #15 — Unicode Normalization Forms (NFKD)
- RFC 3986 — URI Generic Syntax, §2.3 unreserved characters
Last reviewed 19 September 2026. How results are checked: How we verify.