Slugify — URL Slug Generator

Convert any text to a clean URL slug instantly. Handles German umlauts (ä→ae, ö→oe, ü→ue, ß→ss), accented characters, and special chars. Supports batch mode, custom separator, and max length. 100% client-side — no data uploaded.

Separator

Did we solve your problem today?

What is a URL Slug?

A URL slug is the human-readable part of a URL that identifies a specific page. For example, in example.com/blog/my-first-blog-post, the slug is my-first-blog-post. Slugs are lowercase, use hyphens to separate words, and contain only letters, digits, and the chosen separator — no spaces, no special characters, no accents.

Well-crafted slugs improve SEO, make URLs easier to share, and give users a clear preview of what a page contains before they click. This free online slug generator converts any text to a clean URL slug directly in your browser.

How the URL Slug Generator Works

This tool converts text to a URL slug in the following order:

  1. German umlauts are replaced: ä → ae, ö → oe, ü → ue, ß → ss
  2. Unicode normalization (NFKD) strips accents from letters like é → e, ñ → n, ç → c
  3. Lowercase is applied (optional — disable with the Lowercase toggle)
  4. Non-alphanumeric characters are replaced with the chosen separator
  5. Consecutive separators are collapsed into one
  6. Leading and trailing separators are removed
  7. Max length trims the slug at the last complete word within the limit

Separator Options

SeparatorExample resultBest for
- hyphenmy-blog-postBlog URLs, page paths — best for SEO
_ underscoremy_blog_postPython identifiers, some CMS systems
. dotmy.blog.postRuby gem names, legacy namespacing

Google treats hyphens as word separators in URLs, making them the best choice for search engine optimisation. Underscores are treated as word joiners — my_blog_post is indexed as myblogpost, not three separate words.

Batch Slug Generation

The Batch tab converts an entire list at once. Paste one item per line — product names, blog titles, file names, branch names — click Convert Batch, and copy the results. Empty lines are preserved so the output aligns line-by-line with the input.

Slug to Text (Unslugify)

The Slug → Text tab reverses the process: my-first-blog-post becomes My First Blog Post. This is useful when you have slugs and need to generate readable labels for navigation menus, sitemaps, or import metadata.

Slug Best Practices

Privacy

All conversion runs locally in your browser. No text is sent to any server, stored, or shared. The tool works offline once the page has loaded.

FAQ

What is a URL slug?

A URL slug is the human-readable part of a URL that identifies a specific page. For example, in "example.com/blog/my-first-post", the slug is "my-first-post". Good slugs are lowercase, use hyphens instead of spaces, and contain only letters, digits, and hyphens.

How are German umlauts handled?

German umlauts are converted to their standard ASCII equivalents: ä → ae, ö → oe, ü → ue, and ß → ss. This is the accepted SEO practice for German-language URLs, keeping them readable and indexable.

How does the tool handle accented characters like é, ñ, or ç?

Accented characters are normalized using Unicode NFKD decomposition, which splits them into a base letter and a combining accent mark. The combining marks are then removed, leaving only the base letter. For example, é becomes e, ñ becomes n, and ç becomes c.

What is the unslugify / reverse function for?

Unslugify converts a slug back into a readable title. It replaces hyphens, underscores, and dots with spaces and applies title case. This is useful when you have a slug and need to generate a page title or heading from it.

Is my data sent to a server?

No. All processing happens entirely in your browser using pure JavaScript string operations. No data is sent to any server, stored, or logged.