DEVELOPER & DATA

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".

v0.1.0 · last reviewed 19 September 2026
Loading the workspace…
BUILT TO BE UNDERSTOOD

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

Last reviewed 19 September 2026. How results are checked: How we verify.