Slugify Online — URL Slug Generator

Turn any title or label into a URL-safe slug with live preview. Cyrillic transliteration, hyphen or underscore separators, casing, custom max length, and accent stripping — free and browser-local.

Loading…
Slugify — developer notes
Build URL-safe slugs from titles: Cyrillic transliteration, NFD diacritic strip, ASCII sanitize, separator collapse, casing, and clean max-length truncate.

How slugify works

Pipeline: trim → Cyrillic (and ß) transliteration → optional diacritic strip (NFD) → non-alphanumeric → separator → collapse → trim edges → casing → max-length truncate on a separator boundary. Live preview updates as you type. CJK and other non-covered scripts are not transliterated — they become separators and may yield an empty slug.

Options

Separator (- / _)
Hyphens for typical URL paths; underscores when you need identifier-style slugs.
Casing (lower / upper / preserve)
Lowercase is the web default; upper helps constants; preserve keeps original letter case after sanitize.
Max length (0 = unlimited)
Enter any limit up to 500 characters. 0 means unlimited. Truncation prefers cutting on a separator so you do not leave a trailing separator.
Strip diacritics
On by default — é becomes e via Unicode NFD. Turn off only if you accept ASCII-only sanitize dropping accents.

Examples

French title

Input

Café Déjà Vu!

Slug

cafe-deja-vu

Underscore + upper

Input

Hello World (separator _, upper)

Slug

HELLO_WORLD

Related utilities

To convert identifier case (not URL slugs), use the case converter. Encode URL components with URL encode.

Slugify FAQ

URL slug questions

Does it transliterate Cyrillic or German ß?

Yes — Cyrillic letters map to Latin approximations (e.g. Привет → privet) and ß becomes ss before ASCII sanitize. CJK and Arabic are not transliterated in v1.

What happens with empty input?

You get an empty slug string.

Is the slug uploaded?

No — conversion stays in your browser.

Why truncate on separators?

Cutting mid-word looks ugly in URLs; preferring a separator keeps the last token whole when possible.

Timestamps, UUID, ULID, Nanoid, cron, passwords, regex, slugify, number bases, case, text diff, and chmod — all client-side.