Generate Clean URL Slugs From Any Title
A slug is the human-readable part of a URL that identifies a page — the
how-to-make-espresso in example.com/blog/how-to-make-espresso.
Paste a headline, a product name, or a file title and this tool returns a slug that is
safe to put in a URL: lowercase, hyphen-separated, ASCII only. Everything runs in your
browser.
What exactly does it change?
| Input | Slug | What happened |
|---|---|---|
Hello, World! | hello-world | Lowercased, punctuation dropped, space became a hyphen |
Café naïve | cafe-naive | Accents converted to plain ASCII letters |
Über Straße | uber-strasse | ü became u, ß expanded to ss |
Top 10 in 2024 | top-10-in-2024 | Digits are kept as-is |
foo_bar.txt | foobartxt | Underscores and dots are deleted, not converted |
Rock & Roll | rock-roll | The ampersand is removed entirely |
Why did my underscores and dots disappear instead of becoming hyphens?
Because a space is the only thing treated as a word separator. Every other character that
is not a letter or a digit is removed rather than replaced, so foo_bar
becomes foobar and file.name.txt becomes
filenametxt. Tabs and line breaks are removed the same way, which means a
multi-line paste runs together into one slug. If you want underscores, dots, and camelCase
boundaries turned into hyphens instead of dropped, use the
kebab-case Converter — it is built for
identifiers rather than URLs and splits on all of them.
Why does my slug start or end with a hyphen?
Because leading and trailing spaces become hyphens and are not trimmed —
padded slugifies to -padded-. It is
worth checking for, since a stray hyphen at either end looks untidy in a URL and some
systems treat it as a different slug. Trim your input first, or delete the hyphen from
the result.
What happens to non-Latin text?
Scripts that have no ASCII equivalent — Chinese, Japanese, Cyrillic, Greek, Arabic
— are dropped, because there is no way to transliterate them by simply stripping
accents. 中文 测试 reduces to a bare hyphen. If your site publishes in one of
those languages, you will want either a real transliteration library for that script, or
percent-encoded Unicode URLs, which modern browsers display correctly. Emoji are removed
for the same reason.
What makes a good slug?
Keep it short and descriptive — three to six words is usually enough, and Google
has said long, keyword-stuffed URLs offer no ranking benefit. Prefer hyphens to
underscores: Google treats a hyphen as a word separator and an underscore as a joiner, so
red_shoes can be read as one word while red-shoes is clearly
two. Drop filler words like "a", "the", and "of" where the meaning survives without them.
And once a URL is published, avoid changing it — if you must, set up a redirect so
existing links and accumulated ranking are not lost.
Last reviewed: August 2026