kernos/Slug Generator

Text Tools / Slug Generator

Slug Generator

Turn any text into a clean, URL-safe slug — instantly in your browser.

Buy me a coffee

About Slug Generator

Slug Generator converts any title, heading, or phrase into a clean, URL-safe slug — the lowercase, hyphenated string that shows up in a page's URL (e.g. "My Blog Post!" becomes "my-blog-post"). It strips punctuation and accented characters, collapses whitespace into a single separator, and trims any leading or trailing separators, all as you type. It's a common step for developers and content writers alike when publishing a new page, post, or product, and it runs entirely in your browser.

How to use it

  1. 1

    Type or paste your title

    Enter the text you want turned into a slug in the workspace above — a page title, blog post name, or product name.

  2. 2

    Choose a separator

    Pick hyphen (the standard for URLs and most CMSs) or underscore, depending on what your platform expects.

  3. 3

    Adjust casing if needed

    Slugs are lowercase by default, since that's the near-universal convention for URLs — turn off "Lowercase" to preserve the original casing instead.

  4. 4

    Copy the result

    The generated slug updates instantly below — click Copy to grab it.

What it does

FAQ

Why use hyphens instead of underscores in a slug?

Hyphens are the near-universal convention for URLs — search engines treat a hyphen as a word separator but generally don't treat an underscore the same way, so hyphenated slugs tend to read better in search results. Underscores are still common in non-URL contexts like filenames or database keys, which is why both are offered here.

Does this handle accented or non-English characters?

Yes — accented Latin characters are converted to their closest plain-ASCII equivalent (e.g. "café" becomes "cafe") before the slug is built, since most URL slugs are expected to be plain ASCII.

What happens to numbers and existing hyphens in my text?

Numbers are kept as-is. Existing hyphens, underscores, and any other punctuation are treated the same as spaces — converted to your chosen separator and collapsed if there are runs of them.

Related tools