URL Slugs for Arabic, French & Spanish: A Practical Guide
Accented and non-Latin text breaks most slug tools. Learn how to create clean, readable URL slugs for Arabic, French, and Spanish content the right way.

Most slug generators were built with English in mind. Feed them an accented French phrase or an Arabic headline and they often strip the meaning right out of your URL — turning "Diseño Web" into /dise-o-web or an Arabic title into an empty string.
If you publish in more than one language, you need slug rules that respect each script. Here's how to handle the three most common cases cleanly.
The core problem: naive cleaning destroys meaning
A typical slug function does something like "remove everything that isn't a–z or 0–9." That's fine for plain English. But applied to other languages it deletes the very characters that carry the meaning:
Diseño Web → dise-o-web (the ñ was deleted)
Café Crème → caf-cr-me (accents gone, words broken)
نصائح السيو → (empty) (the whole script removed)
The fix is to apply language-aware rules instead of one blunt filter.
French: convert accents, don't delete them
French uses accents heavily — é, è, ê, à, ç, ï, and more. The correct approach is transliteration: convert each accented letter to its base Latin form before cleaning.
é, è, ê, ë → e
à, â → a
ç → c
î, ï → i
ô → o
û, ù → u
So the slug stays readable and keyword-relevant:
L'optimisation du référencement → /optimisation-referencement
Café & Crème → /cafe-creme
Technically this is done by normalizing the text (Unicode NFD) and removing the combining diacritical marks — then lowercasing and hyphenating as usual.
Spanish: handle ñ, accents, and tildes
Spanish has the same accent situation as French, plus the distinctive ñ. Convert each to its base letter:
á, é, í, ó, ú → a, e, i, o, u
ñ → n
ü → u
Examples:
Diseño Web en España → /diseno-web-espana
Guía de Programación → /guia-programacion
Note that ñ → n is the standard, readable convention for URLs even though they're different letters in Spanish — it keeps the slug ASCII-safe and predictable.
Arabic: preserve the script and strip the marks
Arabic is the trickiest case, for two reasons: it's written right-to-left (RTL), and it uses optional diacritics (Harakat) plus an elongation character (Tatweel).
The wrong move is to transliterate Arabic into Latin letters — that usually produces unreadable results. The right move is to keep the Arabic characters and only remove what doesn't belong:
- Strip Harakat (the vowel marks: َ ُ ِ ّ ْ …).
- Remove the Tatweel elongation character (ـ).
- Drop punctuation and symbols, but keep the Arabic letters intact.
- Replace spaces with hyphens.
The result is a clean, fully Arabic slug:
أفضل 10 نصائح في السيو → /أفضل-10-نصائح-السيو
Modern browsers and search engines fully support non-Latin (IRI) URLs, so an Arabic slug is valid, indexable, and far more meaningful to Arabic readers than a transliterated guess.
Don't forget stop words per language
Stop words differ by language. Removing English stop words from a French slug does nothing useful. Each language needs its own list:
- French: le, la, les, un, une, des, et, de, du…
- Spanish: el, la, los, las, un, una, y, de, del…
- Arabic: في, من, على, إلى, و, ب, ل, مع…
A language-aware generator applies the right list automatically.
A quick comparison
| Input | Language | Clean slug |
|---|---|---|
| Le guide de l'optimisation | French | /guide-optimisation |
| Diseño web en España | Spanish | /diseno-web-espana |
| أفضل 10 نصائح في السيو | Arabic | /أفضل-10-نصائح-السيو |
Get it right automatically
Doing all of this by hand — per language, per script — is error-prone. Slugme.io ships with a dedicated engine for English, Arabic, French, and Spanish: it transliterates accents for Latin scripts, preserves Arabic while stripping Harakat and Tatweel, flips the interface to RTL when needed, and applies the correct stop-word list for each language.
Pick your language, paste your title, and copy a clean slug — no broken characters, no empty strings. For the fundamentals, see what a URL slug is and the best-practices checklist.