← All Tools
Slug Case Converter🔒 100% local
Convert to URL slug. Privacy-first, no server uploads, no tracking.
Turns a title into a URL slug: lowercases it, strips accents by decomposing to NFKD and dropping the combining marks, removes apostrophes, replaces every remaining run of non-alphanumeric characters with a single hyphen, and trims hyphens from the ends. Paste a full URL instead and it takes the last path segment and slugifies that. The conversion runs in the page.
How to use it
- Type a title such as 'My Blog Post' into the box.
- Press Process. The output shows the original, the slug, and a full example URL using it.
- Copy the slug out, or Clear the box.
Worked example
Café Déjà Vu!becomesInput: Café Déjà Vu!
Slug: cafe-deja-vu
URL: https://example.com/cafe-deja-vuComputed in Node with the same NFKD pass. The accents are dropped rather than transliterated, so e-acute becomes a plain e.
It's a TestbecomesInput: It's a Test
Slug: its-a-testThe apostrophe is deleted, so 'It's' becomes 'its' with no hyphen inserted.
https://example.com/blog/Hello-World-Post.htmlbecomesURL: https://example.com/blog/Hello-World-Post.html
Slug: hello-world-postURL input takes the final path segment and strips a trailing .html extension.
When to use it
- Naming a blog post or documentation page so the URL matches the heading.
- Turning an imported title list into slugs by hand for a handful of pages.
- Checking how a title containing an apostrophe or an accented letter will come out before committing it to a route.
What it does not do
- Slug Generator, its neighbour on this site, handles many titles at once and lets you pick the separator and a maximum length. This one takes a single title, always hyphenates, and imposes no length cap.
- Accented letters are stripped rather than transliterated, so 'Cafe' and 'Café' both slugify to the same string and can collide.
- CJK, Cyrillic and other non-Latin scripts reduce to nothing, and the tool then reports that no slug-able characters were found.
- URL mode only inspects the last path segment. A bare domain falls back to the hostname, and query strings or trailing slashes are not carried into the slug.