Convert Text to URL Slug
Turn any headline into a clean URL slug instantly.
Options
0 = unlimited, up to 500. Cuts back to a word boundary.
URL slug
How to convert text to a URL slug
Paste your headline into Your text, or press Load example. The slug appears
next to it and updates as you type. Copy the result or download it as a .txt file.
Everything runs in your browser, so nothing you paste is uploaded.
Examples
| Input | Output |
|---|---|
| Hello World! | hello-world |
| Café au lait | cafe-au-lait |
| Café Review: 10 Best Croissants in Paris! (2026) | cafe-review-10-best-croissants-in-paris-2026 |
Limits and edge cases
- Diacritics are stripped with Unicode NFKD normalization, so café becomes cafe before the slug is built.
- With Strict ASCII on, every run of characters outside a-z, A-Z and 0-9 becomes the separator; non-Latin scripts are dropped entirely. Turn it off to keep unicode letters and digits.
- With a max length set, the slug is cut at the limit, trailing separators are trimmed, and the cut backs off to the last separator when that keeps at least half the allowed length.
- Lowercase is on by default; turn it off to keep the original casing in the slug.
Frequently asked questions
How do I convert text to a URL slug?
Paste your headline into the input box and the slug appears instantly in the result box. Copy it or download it as a .txt file.
How are accented characters handled?
Diacritics are stripped with Unicode NFKD normalization, so café becomes cafe and naïve becomes naive before the slug is built.
What does the Strict ASCII option do?
When on, every run of non-ASCII-letter-or-digit characters is replaced by the separator, so non-Latin scripts are dropped. Turn it off to keep unicode letters and digits in the slug.
How does the max-length cutoff work?
The slug is cut at the max length, any trailing separator is trimmed, and the cut backs off to the last separator within the limit when that keeps at least half the allowed length, so words are not split in half.
Can I use underscores instead of dashes?
Yes. Change the separator option to underscore and runs of spaces and punctuation become _ instead of -.
Is my text uploaded anywhere?
No. Slug generation runs in your browser with JavaScript and nothing is sent to a server. Inputs under 200 KB are kept in your browser's local storage so they are still there when you come back.