Slug Generator — clean URL slugs
Type any title and get a clean, URL-safe slug. Diacritics removed, special characters replaced with your separator of choice, lowercased, optionally truncated.
Type any title and get a clean, URL-safe slug. Diacritics removed, special characters replaced with your separator of choice, lowercased, optionally truncated.
cafe-croissants-a-paris-edition-2026A slug is the human-readable, URL-safe portion of a URL — typically the path segment after the last slash. 'How to Roast Coffee' becomes 'how-to-roast-coffee' in the URL https://example.com/blog/how-to-roast-coffee. Good slugs are short, descriptive, lowercase and use a single separator (usually a dash) to mark word boundaries.
Generating slugs by hand for a couple of articles is fine; doing it for a hundred is error-prone. This tool runs the standard recipe: NFD-normalize to decompose accents, strip the combining marks, replace non-alphanumeric runs with the chosen separator, collapse repeats, trim, optionally lowercase and truncate. The output works as a URL path segment in every browser and CMS.
Search engines treat dashes as word separators inside URLs but treat underscores as part of the same word. So 'why-react-fast' is read as three words; 'why_react_fast' is read as one. Always use dashes for SEO-relevant slugs.
Latin scripts with diacritics (é, ñ, ü) are normalised to their base letter (e, n, u) — perfect for SEO. Non-Latin scripts (Cyrillic, Arabic, CJK) are stripped because most CMSes prefer Latin slugs. If you need to keep the original script, your URL routing has to handle Unicode (most modern systems do).
Mild opinion — keep them. 'how-to-bake-bread' reads naturally; 'bake-bread-how' looks robotic. Modern search engines weight semantic meaning more than keyword density, so removing stop words rarely helps and often hurts readability.
Aim for 50-80 characters. Most CMSes allow longer, but URLs that wrap across two lines in a tweet or chat message look bad and may get truncated. Use the max-length input to enforce a sensible cap.
Yes. Slugification happens entirely in your browser. Your titles never touch our servers, so the tool is safe even with unpublished content.
Where a clean slug saves real frustration.
Convert your post title to a slug before saving the draft. Most CMSes auto-generate, but their algorithms vary — verifying with this tool gives a consistent slug across platforms.
Generate clean, predictable file names from titles. 'My Project Notes – Final Draft' becomes 'my-project-notes-final-draft.md' — no spaces, no special characters, no surprises in shell scripts.
Some applications use slugs as primary keys (Notion, Airtable). Generate them deterministically so you know what the URL will be before saving.
Old URL: '/blog/123/article.aspx?id=42'. New URL: '/blog/the-actual-title-of-the-article'. Generate the new slugs in bulk to bring SEO with you to the new system.
Habits that make slugs durable and SEO-friendly.
Once a slug is published, don't change it without setting up a 301 redirect. Search engines and external links use the slug as the canonical identifier — changing it loses the SEO equity built up over time.
Put the most important keywords at the start of the slug. 'best-coffee-grinders-2026' beats '2026-best-coffee-grinders' for SEO because search engines weigh leading words more heavily.
Dates in URLs ('/2024/05/coffee-guide') make content feel stale fast. Unless your content is genuinely time-bound (events, news), keep the slug timeless and put the date in the page metadata instead.
If you publish the same content in French and English, generate French slugs from French titles ('café-en-grain') and English slugs from English titles ('coffee-beans'). The auto-translated slug always reads worse than one written natively.