Skip to main content

URL Slug Generator — Free, In-Browser

Paste a blog title, product name, or headline and get a clean, lowercase, hyphenated, URL-safe slug. Strips accents, removes special characters, and validates against RFC 3986. Free and 100% client-side — your text never leaves the browser.

Unicode-Aware Transliteration

Café → cafe, Düsseldorf → dusseldorf, Crème Brûlée → creme-brulee. NFD-decomposes accents then strips combining marks. Handles ß, æ, ø, ł, þ, and more.

Full Control

Hyphen, underscore, period, or no separator. Lowercase, preserve case, or uppercase. Optional stop-word removal (a, the, and, …) and max-length cap with word-boundary truncation.

RFC 3986 Compliant

Output is restricted to URL-unreserved characters: A–Z, a–z, 0–9, hyphen, period, underscore, tilde. Validates the result and refuses to leave dangling separators at the edges.

100% Client-Side

Slug generation runs entirely in your browser. Article titles in stealth-launch mode, unreleased product names, and other sensitive copy never reach our servers.

URL Slug Generator: Turn Any Title Into a Clean, SEO-Friendly URL

A URL slug generator converts a title into the URL-safe segment that names a page. Paste text and it lowercases everything, replaces spaces with hyphens, strips accents and special characters, and trims dangling separators. Pick a separator, case style, optional stop-word removal, and a length cap. The output is validated against RFC 3986. Free and 100% in-browser.

How to generate a URL slug

  1. Paste a blog title, product name, or headline into the input — the slug updates instantly.
  2. Choose a separator: hyphen (default, best for SEO), underscore, period, or none.
  3. Set the case: lowercase (default), preserve, or uppercase.
  4. Leave transliteration on so accents become ASCII (cafécafe), or turn it off to drop non-Latin letters.
  5. Toggle Strip Stop Words and set a Max Length if the slug runs long.
  6. Copy the result. The status line confirms it passes RFC 3986 validation.

What is a slug, and how slugify works

A slug is the human-readable last segment of a URL. In https://example.com/blog/why-next-js-is-fast, the slug is why-next-js-is-fast. "Slugify" means transforming arbitrary text into that segment: lowercase it, swap spaces for hyphens, remove anything outside a safe character set. The safe set comes from RFC 3986 section 2.3 (unreserved characters): letters A–Z a–z, digits 0–9, and the four marks - . _ ~. Anything else — spaces, &, !, ?, emoji — would need percent-encoding, so a clean slug avoids them entirely.

This tool runs a seven-step pipeline. It NFD-normalizes the input and drops combining marks (so ée), transliterates letters NFD can't split (ßss, æae), applies the chosen case, optionally filters stop words, replaces every remaining non-alphanumeric run with the separator, collapses doubled separators, trims edge separators, then truncates at a word boundary if you set a cap. Use hyphens for content URLs: Google's URL-structure guidance treats hyphens as word separators and underscores as word joiners.

Worked examples: input → slug

Blog title · lowercase · hyphen

10 Things I Wish I'd Known About React Server Components! → 10-things-i-wish-i-d-known-about-react-server-components

Diacritics · transliteration on

Crème Brûlée & Schadenfreude → creme-brulee-schadenfreude

Punctuation · collapsed separators

Why Next.js 16 — A Deep Dive (2026 Edition) → why-next-js-16-a-deep-dive-2026-edition

Edge case · the apostrophe split

Apostrophes are stripped as non-alphanumeric, so contractions split: I'd becomes i-d, not id. Likewise don'tdon-t. Search-and-replace the apostrophe out of the title first (I'dId) if you want the cleaner form.

Separator and option reference

These are the exact options this tool exposes and what each produces from the title My Blog Post.

OptionValueOutputUse for
Hyphen-my-blog-postContent URLs, SEO (Google word-separates)
Underscore_my_blog_postFilenames, variables (parses as one word)
Period.my.blog.postNamespaced keys, dotted IDs
NonemyblogpostHashtags, handles, compact tokens
RFC 3986 setA–Z a–z 0–9 - . _ ~validated, no edge separatorsEverything else is removed

The truncation rule most generators get wrong

When you set a Max Length, this tool does not just chop at the character limit and risk a half-word. It slices to the cap, finds the last separator, and cuts there only if that separator sits past 60% of the limit(lastSep > maxLength * 0.6). If the nearest break is too early — which would throw away most of the slug — it keeps the hard cut instead. So a 30-character cap on building-privacy-first-web-apps yields building-privacy-first-web, not a stub. The validator also enforces isValidSlug: the result must match ^[a-zA-Z0-9._~-]+$ and must not start or end with - . _ ~, so you never ship a dangling-hyphen URL.

Runs 100% in your browser

Your text never leaves your device. The entire pipeline runs locally in JavaScript — no uploads, nothing leaves your device. I tested it across all five sample titles (English, French/German diacritics, mixed punctuation, a 100-character marketing headline, and a Spanish title with inverted punctuation), every separator, all three case styles, stop-word removal on and off, and length caps from 20 to 80 characters. Accented inputs round-tripped to clean ASCII and the validator caught every edge-separator case. Slug generation stays instant even on the longest input.

Frequently asked questions

Is this URL slug generator free?

Yes — 100% free, no signup, no usage limit. Slugify as many titles as you want.

Does my text get sent to a server?

No. Normalization, accent stripping, transliteration, case conversion, stop-word filtering, and validation all run in your browser. Pre-launch product names and unpublished titles stay on your device.

Why hyphens instead of underscores?

Google treats hyphens as word separators and underscores as joiners. seo-friendly-urls parses as three words; seo_friendly_urls parses as one. Use hyphens for content URLs; the tool also offers underscore, period, or none for IDs and filenames.

What happens to accented characters like é or ñ?

With transliteration on, the tool NFD-decomposes the character and strips the combining mark, leaving the base letter. Letters with no decomposition — ß, æ, ø, ł, þ, ñ — map to ASCII (ßss).

Does this tool generate unique slugs?

No — uniqueness is your CMS's job. The conversion is deterministic, so the same text always yields the same slug. For duplicate titles, append a discriminator from the UUID Generator or a sequence number.

Last updated: June 2, 2026 · Runs 100% in your browser — no uploads, nothing leaves your device.

Need a different tool?

Browse all 89 free, in-browser tools — or tell us what we should build next.

Browse all tools