Skip to content

Slugify

Turn any text into a URL-friendly slug — lowercase, no diacritics, single separator.

Input

What this tool does

Convert text into a URL-friendly slug: lowercase, no diacritics, only letters / digits / a single separator. Useful for blog post URLs, file names, anchor IDs — anywhere a slug from a human title is needed.

How to use it

Paste text, choose a separator (- / _ / .) and optionally keep Unicode letters or cap the length. Result updates live.

Input:  Café — Naïve façade!
Output: cafe-naive-facade

Limits and edge cases

  • Diacritics are stripped via Unicode NFKD normalization, then combining marks dropped. cafécafe.
  • Non-ASCII letters (CJK, Cyrillic, etc.) are collapsed to separators by default. Toggle Keep Unicode to preserve them.
  • Runs of non-alphanumeric chars collapse to a single separator, and leading/trailing separators are trimmed.

Frequently asked questions

Is the slug guaranteed unique?
No — slugify is deterministic on input but won't dedupe against existing slugs. Add a suffix or check your data store for collisions.
When should I keep Unicode?
When the slug is the meaningful identifier in a non-ASCII language (a Japanese blog with Japanese URLs, for example) and your routing layer handles UTF-8 paths.
Will it lowercase my acronyms?
Yes — slug convention is lowercase. Toggle 'Lowercase' off to preserve case.