Slug Generator
Turn a title into a clean, lowercase URL slug: accents normalised, punctuation removed, spaces replaced with hyphens. The small step between a headline and a working web address. It is free, needs no account, and adds no watermark to your result.
Loading text tools…
Working with other formats? Open your file workspace →
What people use it for.
What happens to your file.
Text is Unicode-normalised so accented characters map to their base letters, punctuation and symbols are stripped, whitespace becomes your chosen separator, and the result is lowercased. Letters from scripts that have no Latin equivalent are kept rather than deleted, because deleting them would leave an empty slug. Letters with no accent to strip are spelled out (ß becomes ss, ø becomes o, ł becomes l), an apostrophe joins its word (don’t becomes dont), and a list of titles pasted one per line gives one slug per line. This runs in your browser.
Everything you need, without a paywall.
Common questions.
What happens to accented characters?
They are normalised to their base letters, so "Café Münster" becomes "cafe-munster" rather than dropping the characters entirely.
What about non-Latin scripts?
Arabic, Cyrillic, Greek and similar letters are kept as they are, so "مرحبا بالعالم" becomes "مرحبا-بالعالم". Deleting them would leave nothing behind. Such a slug works wherever the platform accepts Unicode URLs, which most modern ones do, and the browser shows it as typed while sending it percent-encoded.
Can I use underscores instead of hyphens?
Yes, the separator is configurable, though hyphens are the convention for URLs and generally preferred by search engines.
Can I make slugs for a whole list at once?
Yes. Paste one title per line and each line gets its own slug, in the same order.
You might also need.
Convert text between uppercase, lowercase, title case, sentence case, camelCase, PascalCase, snake_case and kebab-case.
Clean messy text by removing duplicate spaces, empty lines, HTML, invisible characters and unwanted formatting.
Parse a URL into protocol, hostname, port, path, query parameters, fragment and normalized URL fields.
Join wrapped lines into clean paragraphs or a single line while preserving intentional paragraph breaks.