Turn any title or phrase into a clean URL slug: accents transliterated, punctuation stripped, spaces collapsed to hyphens or underscores. Free, in your browser.
How slug generation works
The text is Unicode-normalized so accented letters decompose into a base letter plus a mark — é becomes e — and the marks are stripped. A few special letters that don't decompose, like ß and æ, are transliterated (ss, ae). Everything that isn't a letter or digit then collapses into single separators, repeated separators merge, and the ends are trimmed. By default non-Latin letters are kept — modern browsers and search engines handle Unicode URLs fine — or switch on ASCII-only for the strictest slugs.
text.normalize("NFKD").replace(/\p{M}/gu, "").toLowerCase() → kebabFrequently asked questions
Is my text uploaded anywhere?
No. Slugs are generated instantly in your browser. Nothing you type is sent to a server, logged or stored — only the separator and case options appear in the URL.
Should slugs use hyphens or underscores?
Hyphens. Search engines treat a hyphen as a word separator but may read an underscore as joining words together, so blue-widgets is indexed as two words while blue_widgets may be one. Underscores remain useful for identifiers and file names.
What does the ASCII-only option do?
It drops every character that can't be reduced to a-z or 0-9, instead of keeping non-Latin scripts. Unicode slugs like नमस्ते work in modern browsers and are shown percent-encoded in some contexts; ASCII slugs are the safest for legacy systems, email links and command-line use.
Last updated: 8 July 2026
More tools
Runs entirely in your browser — nothing you enter is uploaded. TextMint · MintKit