Slug Generator

Convert titles or text into a clean URL-friendly slug.

Input

Result

How to Use This Slug Generator

Type or paste a title or phrase and click Generate Slug. The tool lowercases the text, strips accents from letters like é or ü down to their plain equivalent, replaces anything that isn't a letter or number with a hyphen, and collapses repeated or leading/trailing hyphens into a clean result.

Why Slugs Matter

A clean slug keeps URLs readable and consistent — no spaces, no special characters that need encoding, and no accented letters that behave inconsistently across systems. This matters for blog post URLs, file names, anchor links, and anywhere else a title needs to become something safe to put in a web address.

Why More Than Just Spaces Get Replaced

Punctuation isn't stripped just for tidiness — several common characters already have a reserved job inside a URL. A question mark marks the start of a query string, an ampersand separates one query parameter from the next, and a hash marks a page fragment. A title like "Q&A: What's Next?" would silently break URL parsing if the & and ? were kept literally instead of removed, since they'd be read as URL structure rather than as part of the page name. Stripping everything down to letters, numbers, and hyphens sidesteps that entirely.

FAQ

What happens to accented letters?

They're converted to their closest plain-letter equivalent — "café" becomes "cafe" before the rest of the slug rules apply.

Does it keep numbers?

Yes, numbers are kept as-is; only non-alphanumeric characters are replaced with hyphens.

Will it ever produce double hyphens or a leading/trailing hyphen?

No, repeated hyphens are collapsed into one, and any hyphen at the very start or end of the result is removed.

Why not just replace spaces and leave the rest of the punctuation as-is?

Because characters like &, ?, #, and % already have a reserved meaning inside a URL. A title such as "Q&A: What's Next?" would break if the & and ? were kept literally, since a URL parser reads ? as the start of a query string and & as separating one query parameter from the next, not as literal punctuation in a page name.