Slug Generator — Free Online Tool

Generate URL slugs: lowercase, hyphenated, SEO-friendly. Convert 'Hello World!' to 'hello-world'. Clean URLs for blogs, CMS, APIs. Permalink creator.

Use this free online Slug Generator directly in your browser. No signup required, no data leaves your device. Part of Utilier — a collection of 133+ developer utilities.

What is URL Slug Generator (SEO-Friendly, Lowercase, Hyphenated)?

URL slug generator converts text (titles, names) to clean, URL-safe slugs for web addresses, permalinks, file names. Transforms: 'Hello World!' → 'hello-world', 'C++ Tutorial: Part 1' → 'c-tutorial-part-1', 'Café & Restaurant' → 'cafe-restaurant'. Rules: lowercase (Hello → hello), spaces → hyphens (Hello World → hello-world), remove special characters (! ? @ # $ → removed), transliterate accents (é → e, ñ → n), remove stop words (optional: 'the', 'and', 'or' → removed), trim hyphens (--hello-- → hello), limit length (optional: max 50 chars). Useful for: blog permalinks (example.com/blog/hello-world), CMS pages (WordPress, Drupal: /about-us), API endpoints (/api/users/john-doe), file names (my-document.pdf), SEO (clean URLs rank better, readable by users/search engines).

  • Lowercase conversion: ALL TEXT → lowercase. Hello World → hello-world. URLs case-insensitive in most servers (apache, nginx), but lowercase standard (SEO, consistency).
  • Spaces to hyphens: Spaces → hyphens (-). 'Hello World' → 'hello-world'. Hyphens = word separators in URLs (Google treats 'hello-world' as 2 words). Underscores less common (_).
  • Remove special characters: Special chars (! ? @ # $ % ^ & * ( ) + = [ ] { } | \ : ; " ' < > , . /) → removed. 'Hello, World!' → 'hello-world'. Only letters, numbers, hyphens allowed.
  • Transliterate accents: Accented letters → ASCII. é → e, ñ → n, ü → u, ç → c. 'Café' → 'cafe'. URLs should be ASCII (international domains use Punycode, but slugs = ASCII for compatibility).
  • Remove stop words (optional): Common words (the, and, or, of, in, to, a, an) → removed. 'The Best Coffee' → 'best-coffee'. Shorter URLs (SEO benefit: keyword-focused). Configurable (keep stop words if needed).

Why use slug generator?

Clean URLs = better SEO, user experience, sharing. example.com/blog/hello-world (readable) vs example.com/blog?p=123 (opaque).

  • SEO optimization: Google: URLs with keywords rank better. /blog/javascript-tutorial vs /blog?id=123. Slugs include keywords (javascript, tutorial). Hyphens separate words (Google treats as spaces).
  • Readability: Users understand URL content. /products/blue-running-shoes (clear) vs /products/SKU12345 (obscure). Share URLs: readable slugs more trustworthy (social media, emails).
  • Consistency: Automated slug generation: same rules for all URLs (no manual typos). 'About Us' → 'about-us' (not 'AboutUs', 'about_us', 'ABOUT-US'). Consistent URL structure.
  • Permalink stability: Slugs don't change (permalinks). /blog/my-first-post (permanent). Avoid IDs (/blog/123: breaks if database changes). Slugs = human-readable, stable.
  • Avoid encoding issues: Special chars (!, ?, spaces) in URLs → percent-encoded (%20, %21). 'Hello World!' → 'Hello%20World%21' (ugly). Slugs = clean (hello-world: no encoding).
  • CMS compatibility: WordPress, Drupal, Ghost: auto-generate slugs from titles. Ensure uniqueness (append -2 if duplicate). Clean URLs out-of-box (no manual sanitization).

When to use slug generator

Use when creating URLs, permalinks, file names from text.

  • Blog permalinks (post title → URL slug: /blog/hello-world).
  • CMS pages (WordPress, Drupal: page name → slug).
  • E-commerce (product name → URL: /products/blue-running-shoes).
  • API endpoints (user name → /api/users/john-doe).
  • File names (document title → my-document.pdf, no spaces/special chars).
  • SEO (keyword-rich URLs for better ranking).
  • URL shorteners (generate readable short codes from titles).
  • GitHub repos (project name → repo-slug: my-awesome-project).

How to use slug generator

Enter text, get URL-safe slug.

  1. Enter text: Type or paste title/name: 'C++ Tutorial: Part 1', 'Café & Restaurant', 'Top 10 JavaScript Tips!'. Or upload .txt file (bulk generation).
  2. Configure options (optional): Lowercase: ON (default, recommended). Separator: hyphen (-) or underscore (_). Remove stop words: ON (shorter slugs: 'The Best Coffee' → 'best-coffee'). Max length: 50 chars (truncate long titles).
  3. Generate slug: Click Generate or auto-generate as you type. Tool applies: lowercase, replace spaces with hyphens, remove special chars, transliterate accents, remove stop words, trim hyphens.
  4. View result: Original: 'C++ Tutorial: Part 1'. Slug: 'c-tutorial-part-1'. Special chars (:, +, +) removed. Spaces → hyphens. Lowercase.
  5. Copy slug: Click Copy to copy slug. Paste into: WordPress permalink, Drupal URL alias, API endpoint, file name. Or export as CSV (bulk slugs).
  6. Check uniqueness (if needed): If slug exists (duplicate), append number: 'hello-world-2'. Tool can check against existing slugs (database, file list). Ensure uniqueness.
  7. Preview URL: See full URL: example.com/blog/c-tutorial-part-1. Test in browser (click to open). Verify slug works (no encoding issues, readable).

Key features

  • Automatic slug generation: Type title → slug generated instantly. No manual editing (spaces, special chars, lowercase). Real-time preview (see URL as you type).
  • Customizable separators: Hyphen (hello-world, default, SEO-friendly) or underscore (hello_world, less common). Or custom (dot: hello.world, not recommended for URLs).
  • Accent transliteration: Unicode → ASCII. é → e, ñ → n, ü → u, ø → o, ç → c. Café → cafe, Señor → senor. URLs compatible (no percent-encoding: %C3%A9 → e).
  • Stop word removal: Remove: the, and, or, of, in, to, a, an, for, with. 'The Quick Brown Fox' → 'quick-brown-fox'. Shorter URLs (SEO: focus on keywords). Configurable (keep if needed).
  • Length limit: Truncate to max length (50, 100, 200 chars). 'This is a very long title that exceeds the limit' → 'this-is-very-long-title-exceeds' (50 chars). Prevents overly long URLs.
  • Uniqueness check: Check against existing slugs (database, file). If exists, append -2, -3, etc. 'hello-world' (exists) → 'hello-world-2'. Avoid duplicate URLs.
  • Bulk generation: Upload .txt, .csv (list of titles). Generate slugs for all. Download as CSV (title, slug columns). Useful for CMS migration, bulk content.

Common use cases

  • Blog post permalink: Post title: 'Top 10 JavaScript Tips for Beginners'. Slug: 'top-10-javascript-tips-beginners'. URL: example.com/blog/top-10-javascript-tips-beginners. SEO-friendly (keywords: JavaScript, tips, beginners).
  • WordPress page: Page name: 'About Us & Our Team'. Slug: 'about-us-our-team'. URL: example.com/about-us-our-team. WordPress auto-generates, but tool allows preview/customization.
  • E-commerce product: Product: 'Nike Air Max 270 - Blue (Size 10)'. Slug: 'nike-air-max-270-blue-size-10'. URL: shop.com/products/nike-air-max-270-blue-size-10. Descriptive, SEO-optimized.
  • API endpoint: User name: 'John Doe'. Slug: 'john-doe'. Endpoint: /api/users/john-doe. Clean, predictable (no ID: /api/users/12345). RESTful URL design.
  • File name: Document: 'Q4 2023 Financial Report.pdf'. Slug: 'q4-2023-financial-report.pdf'. No spaces (spaces in file names = issues in shells, URLs). Lowercase, hyphenated.
  • GitHub repo: Project: 'My Awesome React App'. Slug: 'my-awesome-react-app'. GitHub repo: github.com/user/my-awesome-react-app. Lowercase, hyphenated (GitHub convention).

Examples

Text to slug conversion examples.

Blog post title

Top 10 JavaScript Tips for Beginners!
top-10-javascript-tips-for-beginners

Lowercase, spaces → hyphens, exclamation removed. 'for' kept (not stop word removal). SEO-friendly (keywords: top, 10, javascript, tips, beginners).

Special characters & accents

Café & Restaurant: Chez François
cafe-restaurant-chez-francois

é → e (transliterate), & → removed, : → removed, ç → c. Spaces → hyphens. Clean, ASCII-only slug.

Stop words removed

The Best Coffee in the World
best-coffee-world

'The', 'in', 'the' removed (stop words). Shorter slug (focus on keywords: best, coffee, world). SEO benefit.

Programming title

C++ Tutorial: Part 1 (Advanced)
c-tutorial-part-1-advanced

++ → removed, : → removed, ( ) → removed. C++ → c (special chars removed). Readable slug.

Long title truncated

This is a very long blog post title that should be truncated to fit the maximum length limit
this-is-very-long-blog-post-title-should-be-truncated-fit-maximum-length

Truncated to ~50 words (if 50-char limit set). Or full slug if no limit. Prevents overly long URLs.

Technical reference

Slug generation rules and best practices:

Lowercase
Convert ALL text to lowercase. Hello World → hello-world. Reason: URLs case-insensitive (Linux servers: case-sensitive, but lowercase = standard). SEO: Google treats 'Hello-World' and 'hello-world' as different (duplicate content). Always lowercase.
Separator
Spaces → hyphens (-). Hello World → hello-world. Hyphens = word separators (Google treats 'hello-world' as 2 words: 'hello', 'world'). Underscores (_): Google may treat as single word (hello_world = 'helloworld'). Use hyphens for SEO.
Special characters
Remove: ! ? @ # $ % ^ & * ( ) + = [ ] { } | \ : ; " ' < > , . / ~. Keep: letters (a-z), numbers (0-9), hyphens (-). Example: 'C++ Tutorial!' → 'c-tutorial'. URLs: only safe chars (RFC 3986).
Accents/diacritics
Transliterate to ASCII. é → e, ñ → n, ü → u, ø → o, ç → c, å → a, ä → a, ö → o. Café → cafe, Señor → senor. URLs: ASCII preferred (Unicode → percent-encoded: Café → Caf%C3%A9, ugly).
Stop words
Remove (optional): the, and, or, of, in, to, a, an, for, with, on, at, by, from, as, is, was, are, were, be, been, being. 'The Best Coffee in Town' → 'best-coffee-town'. Shorter URLs (keyword-focused).
Length limit
Recommended: 3-50 chars. Max: 200 chars (Google truncates long URLs in search results). Too short (<3): ambiguous (seo → 'seo', ok). Too long (>100): hard to read, share. Truncate if needed.
Uniqueness
Ensure unique slugs (no duplicates). If exists, append counter: hello-world → hello-world-2 → hello-world-3. Check database/file system before creating.
Trim hyphens
Remove leading/trailing hyphens. --hello-world-- → hello-world. Remove consecutive hyphens: hello---world → hello-world. Clean, professional URLs.
Reserved words
Avoid: admin, login, api, cdn, www, blog, post, page (if conflicts with site structure). Example: /blog/blog (confusing). Use /blog/blogging-tips instead.
Language-specific
German: ß → ss, ä → ae, ö → oe, ü → ue (or ß → ss, ä → a). French: œ → oe. Transliteration rules vary (configure based on language). Default: remove accents (ä → a).

Common mistakes to avoid

Using underscores instead of hyphens (SEO penalty)

Why it happens: Google: hyphens = word separators (hello-world = 'hello' 'world'). Underscores = word joiners (hello_world = 'helloworld'). SEO: hyphens better (keywords recognized separately).

How to avoid it: Always use hyphens (-) for URL slugs. Underscores (_) ok for programming (variable names), not URLs. Tool default: hyphens.

Not removing stop words (long, keyword-diluted slugs)

Why it happens: 'the-best-coffee-in-the-world' vs 'best-coffee-world'. Stop words (the, in, the) add length, no SEO value. Google ignores stop words in rankings. Shorter = better.

How to avoid it: Enable stop word removal (optional). Shorter slugs (focus on main keywords). Exception: if stop word changes meaning ('to be or not to be' → 'to-be-or-not-to-be', keep 'to').

Keeping accents/special chars (percent-encoded URLs)

Why it happens: Café → Caf%C3%A9 (ugly, hard to read). URLs with non-ASCII → percent-encoded (%XX). Search engines handle it, but users confused. Share on social media: ugly links.

How to avoid it: Transliterate accents to ASCII (é → e, ñ → n). Tool does automatically. Clean, readable URLs (cafe, senor).

Not checking uniqueness (duplicate slugs)

Why it happens: Two posts: 'Hello World' → 'hello-world'. Duplicate URL (/blog/hello-world = which post?). 404 errors, confusion. CMS: auto-append -2, but manual slugs need checking.

How to avoid it: Check database for existing slugs. If exists, append number (hello-world-2). Tool can check against slug list (input existing slugs, auto-increment).

Slugs too long (>100 chars, hard to share)

Why it happens: Long URLs: hard to read, remember, share. Google truncates in search results (>50-60 chars). Twitter/social: long URLs take character limit. SEO: shorter better.

How to avoid it: Limit slug length: 3-50 chars recommended. Truncate long titles (remove words, not chars mid-word). 'this-is-very-long-title' → 'this-is-very-long' (trim at word boundary).

Frequently asked questions

Should I use hyphens or underscores in URL slugs?

Hyphens (-). Google treats hyphens as word separators (hello-world = 2 words). Underscores = word joiners (hello_world = 1 word). SEO: hyphens better for keyword recognition.

What are stop words and should I remove them?

Stop words: the, and, or, of, in, to, a, an. Removal = shorter URLs (SEO benefit: keyword-focused). Optional: keep if changes meaning ('to be or not to be').

How long should a URL slug be?

3-50 chars recommended. Google truncates long URLs (>50-60 chars in search results). Too short (<3): ambiguous. Too long (>100): hard to read, share. Focus on main keywords.

Can I change a slug after publishing?

Possible but risky. Old URL (/blog/old-slug) → 404 (broken links, SEO penalty). If change: set up 301 redirect (old-slug → new-slug). Preserve SEO, backlinks. Avoid changing if possible.

What if my slug conflicts with an existing page?

Append counter: hello-world → hello-world-2. Or add context: hello-world-2024, hello-world-tutorial. Ensure uniqueness (check database, file system).

How do I handle non-English characters (Chinese, Arabic)?

Transliterate to ASCII (if possible: é → e). Or use Punycode (Unicode domain encoding). Or keep Unicode (modern browsers support, but less compatible). Tool: ASCII recommended (compatibility).

Should I include keywords in slugs for SEO?

Yes. Keywords in URLs = minor SEO ranking factor. /blog/javascript-tutorial (keyword: javascript) vs /blog/post-123 (no keyword). Readable, keyword-rich slugs = better SEO, click-through rate.

References

Privacy and availability

  • Runs entirely in your browser — zero server processing
  • No signup or account required
  • Works offline once loaded
  • Fast, lightweight, no external dependencies
  • Available as a browser extension for Chrome and Firefox