Quick Answer
- Paste your page title or text into the slug generator.
- Choose a separator (use hyphen for SEO) and set max length (50 chars is a good default).
- Enable Remove Accents and optionally Remove Stop Words for cleaner slugs.
- Copy the result and paste it into your CMS, router, or database.
URL Slug Generator — Free
Hyphen or underscore, lowercase or camelCase, accent removal, stop words, max length — fully customisable, instant results.
Generate URL Slug →A URL slug is the human-readable part of a web address that describes a page. Inhttps://example.com/blog/how-to-bake-bread, the slug is how-to-bake-bread. Good slugs are short, keyword-rich, and free of spaces, special characters, and accents. Creating them manually is tedious — especially when dealing with apostrophes, accented letters, stop words, and length limits. A slug generator handles all of that automatically.
Advertisement
What Makes a Good URL Slug?
| Rule | Good example | Bad example |
|---|---|---|
| Lowercase only | bake-bread | Bake-Bread |
| Hyphens, not underscores | bake-bread | bake_bread |
| No spaces | bake-bread | bake bread |
| No special characters | cafe-au-lait | café-au-lait |
| No stop words | bake-bread | how-to-bake-a-loaf-of-bread |
| Contains primary keyword | how-to-bake-bread | page-1234 |
| Under 60 characters | convert-svg-to-png | complete-guide-to-converting-svg-vector-files-to-png-images |
| No numbers unless meaningful | top-10-recipes | page2 |
Hyphen vs Underscore: Why It Matters for SEO
Google's documentation explicitly recommends hyphens over underscores for URL slugs. The reason is how Google's indexing pipeline tokenises words: hyphens are treated as word separators (like a space), while underscores join adjacent words into a single token.
| URL slug | Google reads it as | SEO impact |
|---|---|---|
| bake-bread | "bake" + "bread" | Matches searches for "bake bread", "bread", "baking" |
| bake_bread | "bakebread" (one token) | Only matches exact "bakebread" — misses most real searches |
Use underscores only if your platform or codebase has a specific convention that requires them (for example, some legacy Python frameworks use snake_case URLs). For all general web content, hyphens are the correct choice.
Stop Words in URL Slugs
Stop words are common words that carry little search intent — articles (a, an, the), prepositions (of, in, to, for), and conjunctions (and, or, but). Removing them makes slugs shorter and more keyword-focused.
Example: “How to Write a Cover Letter for a Job Application”
- With stop words:
how-to-write-a-cover-letter-for-a-job-application(49 chars) - Without stop words:
write-cover-letter-job-application(34 chars)
Both rank equally well because search engines already strip stop words during indexing. The shorter version is easier to share and read. The generator's stop word list includes 35+ common English words and can be extended with custom stop words.
Accented Characters and Transliteration
Accented characters (é, ñ, ü, ç, ø, etc.) are technically valid in URLs under RFC 3986, but they must be percent-encoded, which makes slugs look likecaf%C3%A9-au-lait— ugly, fragile, and platform-dependent. Transliterating accented characters to ASCII equivalents before generating the slug prevents all of this:
| Original | Transliterated slug |
|---|---|
| Café au lait | cafe-au-lait |
| Naïve résumé guide | naive-resume-guide |
| Über alles | uber-alles |
| Ñoño recipe | nono-recipe |
| Søren Kierkegaard | soren-kierkegaard |
| Müller report | muller-report |
Case Format Options
While lowercase is correct for URL slugs, the generator also supports other case formats for generating identifiers in code:
| Case format | Example output | Common use |
|---|---|---|
| lowercase (recommended) | bake-bread | URL slugs, SEO permalinks |
| uppercase | BAKE-BREAD | Rare; avoid for URLs |
| camelCase | bakeBread | JavaScript variables, JSON keys |
| kebab-case | bake-bread | CSS class names, HTML attributes |
| snake_case | bake_bread | Python variables, database columns |
Max Length: How Long Should a Slug Be?
Google does not impose a hard limit on URL slug length, but shorter is generally better:
- Under 50 characters — ideal. Fits comfortably in search result snippets and is easy to copy and share.
- 50–75 characters — acceptable. Might be truncated in some UI contexts.
- Over 75 characters — avoid. Long slugs are hard to read, often contain redundant words, and can be penalised by some CMS platforms.
The generator defaults to a 50-character max. Adjust it under Settings if your CMS or API has a different constraint. You can also add a prefix or suffix (e.g., a category prefix like blog-or a year suffix like -2026) directly in the tool settings.
Common Use Cases
- Blog posts — convert your article title to a permalink before publishing. Most CMSs (WordPress, Ghost, Contentful) accept slugs directly in the URL field.
- E-commerce products — generate consistent slugs for product names. Important for Shopify, WooCommerce, and headless commerce platforms where clean URLs improve organic traffic.
- CMS content migration — when migrating content between platforms, batch-generate slugs for all post titles to ensure consistency and avoid redirect chains.
- CSS class names and IDs — use snake_case or kebab-case output to generate component names or utility class names from design token labels.
- Database column names — use snake_case output to convert human-readable field labels to valid database identifiers.
- Internationalisation — transliterate non-Latin titles (French, German, Nordic languages) to ASCII slugs that work on all servers regardless of locale settings.
URL Slug Generator — Free
Free URL Slug Generator — separator, case, max length, accent removal, stop words, prefix/suffix. No sign-up.
Generate URL Slug →