Slugify URL Generator
Turn any title into a clean, URL-safe slug.
What Makes a Good URL Slug
A slug is the human-readable part of a URL that identifies a page. Good slugs are lowercase, use hyphens to separate words, and contain only letters and numbers — no spaces, punctuation, or accents. This tool transliterates accented characters (é → e), replaces everything non-alphanumeric with your chosen separator, and collapses repeats so the result is clean and SEO-friendly. Turn on batch to slug a whole list at once, one title per line. Nothing is sent to a server.
Transliteration goes beyond stripping accents. Letters that Unicode cannot split into “base plus accent” need a real spelling: ß → ss, æ → ae, ø → o, þ → th. Cyrillic is romanised BGN/PCGN-style (Привет Мир → privet-mir) and Greek with the modern ISO 843 transcription (Ελληνικά → ellinika), so a non-Latin title still yields a usable slug instead of an empty one.
Built and maintained by Meet Shah · Last updated
What this tool is used for
- Producing a URL-safe slug from a title that contains punctuation and accents.
- Checking a slug is unique against the ones already published before committing to it.
- Generating a consistent anchor from a heading.
- Converting a title with accents and punctuation into a clean path.
- Producing a slug to compare against an existing one before renaming.
Frequently Asked Questions
- What does slugifying do to non-Latin text?
- It transliterates rather than strips. That distinction is the whole point: the naive approach of decomposing to NFKD and deleting anything non-ASCII destroys every letter Unicode cannot decompose — æ, ø, ß, đ, þ — and returns an EMPTY slug for Cyrillic or Greek input entirely.
- Why is `Blåbær` a good test case?
- Because it contains both kinds of character. The `å` decomposes to `a` plus a combining ring and survives a strip; the `æ` is indivisible and gets deleted, which is how the naive version produced `blab-r`. Real transliteration maps it to `ae` and gives `blaabaer`.
- Hyphen or underscore as the separator?
- Hyphen. Google has stated it treats a hyphen as a word separator and an underscore as a word joiner, so `red_shoes` reads as one token and `red-shoes` as two. It is one of the few URL style choices with a documented search consequence.
- Should slugs be lowercase?
- Yes, because URL paths are case-sensitive on most servers, so `/About` and `/about` are two different pages. Lower-casing everything removes a whole class of duplicate-content and broken-link problems that only appear after a platform migration.
- How long should a slug be?
- Long enough to be readable and short enough to survive being pasted. Three to five meaningful words is the usual advice; beyond that the tail is truncated in search results and in link previews anyway, so it costs length without being read.
Common errors and gotchas
- Changing a published slug without a redirect, which breaks every link to it.
- Transliterating a non-Latin title into something meaningless rather than keeping it.
- Producing a slug long enough to be truncated inconsistently by different systems.
- Allowing two titles to collapse to the same slug without handling the collision.
- Including a volatile element such as a date that will later need to change.