How do I make a clean URL slug from a title?
Slug generator (URL-friendly text) with 5 styles: kebab-case, snake_case, camelCase, PascalCase, lowercase.
Diacritics from any Latin-script language are normalized to ASCII (café → cafe, naïve → naive, niño → nino, über → uber) - because URLs must be ASCII-safe.
Perfect for bloggers (post URLs), API endpoints, file naming, programming identifiers.
How to use it
- Type text (any Latin-script language with diacritics).
- The generator produces 5 variants live. Each row clickable = copies the value.
- Diacritics handled via Unicode NFD + stripping combining marks: é→e, ü→u, ñ→n, ç→c, å→a, ø→o. Works the same way for any Latin-script language.
- Special characters (!, ?, ., spaces, underscores) are removed or replaced with the separator (kebab, snake) or concat (camel, pascal, lower).
When this is useful
Where slugs show up:
- Blog SEO - title "How to set up DNS in Cloudflare" → slug "how-to-set-up-dns-in-cloudflare" → URL friendly for SEO and humans.
- CMS - WordPress uses kebab-case slugs by default.
- Programming identifiers - "User Profile Page" → "userProfilePage" (camel) for JS variable or "user_profile_page" (snake) for DB column.
- File names - "My document.pdf" → "my-document.pdf" (cross-platform safe).
- API endpoints - REST routes /api/users/get-by-id (kebab).
- Education - see how "Hello World!" + commas / dots produce "hello-world".
Questions and answers
URL-friendly text, lowercase, no specials. Comes from journalism - "slug" is a short code for an article. On the web: the URL part after the domain expressing the topic (`/blog/how-to-set-up-dns` - "how-to-set-up-dns" is the slug).