Text Utilities
Convert any text into a clean, URL-friendly slug. Hyphens replace spaces, special characters are stripped.
Input Text box — the slug updates instantly in Generated Slug.URL Previews panel to see the slug nested in example paths, with and without a trailing slash.Copy Slug to copy the finished slug to your clipboard.Copy to grab your original text, or Clear to reset the input and start over.Strip spaces, casing, and punctuation so links stay short, predictable, and easy to read and share.
Frameworks like Next.js, Rails, and Django often derive page paths from slugs; a predictable format keeps those routes stable.
Lowercase, hyphen-separated paths are the convention search engines parse most reliably, and they read better in results and breadcrumbs.
The same rules produce portable filenames free of spaces and special characters, so slugs double as filesystem-friendly names.
Removing &, ?, #, and quotes prevents a title from corrupting, truncating, or misdirecting a URL.
Everything runs in your browser. Your text is never uploaded, logged, or sent to a server.
It takes any text and produces a URL-safe slug: lowercase, with spaces and underscores turned into hyphens and punctuation stripped away.
Runs of spaces and underscores collapse into a single hyphen. Characters outside a-z, 0-9, whitespace, and hyphens are removed, then repeated hyphens are collapsed and leading or trailing hyphens trimmed.
They are removed, not transliterated. café becomes caf, and characters like ü, 日本語, or emoji are dropped. For best results, provide the ASCII version of such titles.
Yes. ASCII letters (converted to lowercase) and digits 0-9 are kept. Underscores become hyphens, and existing hyphens are kept but collapsed.
Empty or whitespace-only input — or input made entirely of stripped characters, such as only symbols or emoji — leaves nothing behind to form a slug.
No. Slug generation is lossy: casing, spacing, punctuation, and any removed characters cannot be recovered. Use it for identifiers and routes, not as a reversible encoding.
Never. All generation happens locally in JavaScript. Nothing is uploaded, stored, or sent to a server.