Slug generator
Slug generator is a developer tool that turns any text into a URL-safe slug. It normalises Unicode, strips diacritics, removes punctuation, and joins words with a separator of your choice. The tool runs in your browser.
Input (one title per line)
Output slugs
5 slugs
SEPARATOR
OPTIONS
10 to 500 characters
Runs entirely in your browser
Dedicated pages
Direct links for specific slug workflows.
SEO-friendly URL slug generator
Generate URL-safe slugs from any text as you type. Handles diacritics, punctuation, and custom separators. All processing runs in your browser.
Text to Slug Converter
Convert any text to a URL slug instantly. Strips diacritics and punctuation, lower-cases letters, joins words with a hyphen. Runs in your browser.
Bulk Slug Generator
Generate hundreds of slugs at once. Paste one title per line and copy the entire slug list in seconds. All processing runs in your browser.
How to generate URL slugs
- Paste one title per line into the input pane.
- Choose the separator: hyphen or underscore.
- Toggle lowercase and strip-diacritics to taste.
- Set the maximum length, then copy the generated slugs.
Common uses
- Generating clean URLs for blog posts, articles and product pages
- Producing file names that work the same on every operating system
- Keeping accented letters in a slug and checking how they look once percent-encoded in a URL
- Removing repeated slugs from a bulk list with the line sorter's duplicate filter before an import
Technical specification
- Algorithm or formula: With Strip diacritics on, Unicode NFKD normalisation via
String.prototype.normalize("NFKD"), followed by a combining-mark stripping regex (/\p{Diacritic}/gu), a small table for letters with no decomposition (ß becomes ss, æ ae, œ oe, ø o, ł l, đ and ð d, þ th), lowercasing, and a regex that collapses every run of characters other than ASCII letters and digits to the chosen separator. With it off, NFKC normalisation, lowercasing, removal of variation selectors (such as the emoji selector), other invisible letters and marks (such as the Hangul filler) and keycap marks, and a regex that keeps every Unicode letter and digit with the combining marks that follow it. Leading and trailing separators are trimmed, and a separator left at the length cut is removed. - Browser API or library: Native
String.prototype.normalize, regular expressions with Unicode property escapes (/uflag). No external library. - Input limits: No hard cap; bulk mode handles thousands of lines comfortably.
- Output: Single slug or one slug per line, with options for separator (hyphen, underscore), lowercase, strip diacritics, and max length.
- Known limitations: With Strip diacritics on (the default), scripts with no ASCII equivalent (for example Cyrillic, Greek, Arabic, Chinese and Japanese) are removed, not transliterated, so a title written only in them gives an empty slug. Turn Strip diacritics off to keep those letters as they are, or transliterate the text first.
Frequently asked questions
- What is a URL slug, and what characters does this tool keep?
- A URL slug is the readable part of a web address that identifies a page, like 'my-first-post'. With Strip diacritics on (the default), this generator keeps lowercase ASCII letters, digits, and the separator (hyphen by default): diacritics are normalised to base letters, letters such as ß and ø become ss and o, and spaces and punctuation become the separator. With it off, accented and non-Latin letters are kept as they are. All processing runs in your browser.
- Is my text sent to a server?
- All slug generation runs in your browser using built-in string methods. Our servers are not involved at any point.
- How does the generator handle accented characters?
- With Strip diacritics on (the default), characters with diacritics are normalised to their base letter using Unicode NFKD normalisation, and letters with no decomposition, such as ß, æ, œ, ø, ł and þ, are spelled out as ss, ae, oe, o, l and th. Turn it off to keep letters such as é and ü in the slug; browsers percent-encode them in the URL.
- Can I switch between hyphen and underscore separators?
- Yes. The separator toggle in the side panel re-generates every slug instantly with the chosen character.
- How do I generate many slugs at once?
- Paste one title per line. Each line becomes a slug in the output area, ready to copy in bulk.
- Will the generator preserve uppercase letters?
- Slugs are lower-cased by default for portability. Disable the lowercase toggle to keep the original casing in the output.
Related tools
URL encode / decode
Percent-encode and decode URLs, or parse query strings into key-value pairs.
Case converter
Convert text between camelCase, snake_case, kebab-case, PascalCase and more.
UUID generator
Generate random UUID v4 values in bulk. Uses the browser's crypto API.
- Background reading: Complete guide to developer tools
Reviewed and tested September 30, 2026.