URL Slug Generator
Convert titles to clean URL slugs — accented characters transliterated, punctuation stripped, separator and case configurable. Live as you type.
In your browser—your files never leave your device.
Learn moreExample
About this tool
A URL slug is the human-readable tail of a URL — the "my-first-post" in example.com/blog/my-first-post. It needs to be ASCII-safe, hyphenated, and lowercase to behave well across browsers, CMSes, and search engines. This tool takes any title (accented Latin, Cyrillic, Greek, emoji, punctuation, all of it) and produces a clean ASCII slug. Accented characters get transliterated (é becomes e, ş becomes s, ö becomes o, ć becomes c), punctuation gets stripped, multiple spaces collapse into a single separator, and everything goes lowercase by default. Built on the well-tested slugify library with strict mode enabled, so what you get matches what every other serious slug pipeline produces.
How to url slug generator
-
Type or paste your title
Headline, blog title, product name, anything you want as a URL path. Any language, any length.
-
Pick a separator
Hyphen for SEO (the default, and the right choice for blog posts). Underscore for filenames or programmatic identifiers. None for compact paths like "myblogpost," rarely the best choice but available.
-
Toggle lowercase
On by default because most servers are case-insensitive but case-preserving, which causes subtle bugs when one link uses /My-Post and another uses /my-post and they're treated as separate URLs by search engines. Lowercase removes the ambiguity.
-
Copy the slug
Output renders live in the green box below. One click on the copy button puts it on your clipboard. Paste straight into your CMS's slug field, your static-site front-matter, or wherever the path lives.
Why use this tool
Three reasons. First, SEO: Google treats hyphens as word separators in URLs but underscores as word joiners, so "my-blog-post" reads as three words while "my_blog_post" reads as one. Hyphens win for ranking. Second, technical correctness: spaces, accents, and non-ASCII characters in URLs trigger percent-encoding ("café" becomes "caf%C3%A9"), which is ugly, breaks copy-paste, and makes links unreadable when shared in plain-text contexts like email or chat. Pre-slugifying gives you a clean URL that stays readable. Third, content workflow: copying a heading directly from a draft is the fastest way to get a slug, but headings have capitals, punctuation, and the occasional emoji. Slugifying strips all of that in one step. Most CMSes auto-slugify on publish, but the result is often wrong, especially for non-English titles — generate manually if you want control over the final URL.
Features
Live conversion as you type
Slug updates on every keystroke. No "generate" button, no submit step. Type a heading, glance at the slug, copy. The whole interaction takes about three seconds. If you tweak the title, the slug updates immediately, so you can dial it in by editing rather than re-running.
Unicode transliteration
Accented Latin gets stripped to ASCII equivalents: é becomes e, ñ becomes n, ş becomes s, ö becomes o, ć becomes c, č becomes c, ø becomes o. Greek, Cyrillic, and several other scripts get romanized via the standard transliteration tables built into the slugify library. The result is always pure ASCII alphanumeric plus the chosen separator, safe across every URL parser ever written.
Three separator options
Hyphen (-) for SEO and blog posts, which is what 99% of CMSes use. Underscore (_) for filenames and code identifiers where some tools dislike hyphens (a few legacy systems treat hyphens as subtraction in certain contexts). None for compact, unbroken paths, rare but occasionally needed for short product codes or vanity URLs. Most use cases want hyphens.
Strict mode by default
The underlying slugify library runs in strict mode, which means anything not [a-z0-9-] gets dropped. No surprise characters in your URLs, no room for ambiguity about what the slug will look like. Symbols, emoji, math characters, mathematical letters: all stripped. The output is predictable; you can copy it to a clipboard, paste into a URL bar, and know it'll work without further encoding.
Privacy & security
Slug generation runs through the slugify library, which is a few hundred lines of JavaScript that knows how to transliterate accented characters into ASCII (é → e, ş → s, ö → o) and strip punctuation. All of that happens in your browser as you type. If you are slugifying unpublished blog titles, product names, or anything else not yet public, the strings never reach our server. The URL preview that shows what your domain plus the slug will look like is also a pure string concatenation in the tab.