Is the Slug Generator free?
Yes. It is free and runs entirely in your browser, with no account or limits.
Does it upload my text?
No. The slug is generated locally in your browser, so your text never leaves your device.
Can I choose underscores instead of dashes?
Yes. You can switch between dash and underscore separators depending on where the slug will be used.
Does it preserve Unicode characters?
No. It is ASCII-first by design, transliterating accented and non-Latin characters so the slug stays URL-safe everywhere.
What is it good for?
It is ideal for blog and page URLs, anchor links, permalinks, filenames, and internal naming that need to be clean and consistent.
What happens to accented characters?
They are normalized and stripped of their diacritics before the slug is built, so café becomes cafe and Müller becomes muller. This is done by decomposing each character and dropping the combining marks, which is why it works for the whole Latin range rather than for a hand-written list of letters.
Why is my slug empty?
Because nothing survived the ASCII step. The transliterator maps Cyrillic and strips diacritics from Latin, and everything else that is not already ASCII is dropped. A title written entirely in Chinese or Arabic therefore leaves nothing to slugify. Transliterate or translate the title first.
Should I use dashes or underscores?
Dashes for URLs. Search engines have long treated the hyphen as a word separator and the underscore as a word joiner, so my-post-title reads as three words and my_post_title can read as one. The underscore option exists for filenames, anchors and internal identifiers where that convention does not apply.
How are numbers and punctuation handled?
Digits are kept. Every run of characters that is not a lowercase letter or a digit is replaced with a single separator, so a colon followed by a space becomes one dash, not two. Apostrophes and quotes are a special case: they are deleted outright, so words do not get split at the apostrophe.
Will the same title always produce the same slug?
Yes. The transformation is deterministic and has no randomness, no counter and no timestamp. That also means it cannot guarantee uniqueness. If two posts are called Update, both get the slug update, and it is your CMS that has to resolve the collision.
Is anything uploaded?
No. The whole pipeline is string manipulation in the page, so the title never leaves the browser. That matters if you are slugging unpublished headlines.