Slug Generator🔒 100% local
Generate URL-friendly slugs from titles. Customize separator, length, and character handling.
Options
Slug Generator: related tools
Produces a URL slug from a block of text with four settings you control: whether to lowercase, whether to delete characters outside a-z0-9 space and hyphen, the separator (hyphen or underscore) and a maximum length. Unlike its single-title neighbour Slug Case, it treats the whole box as one string, so several lines are joined into one slug and accented letters are deleted rather than decomposed.
Slug Generator: how to use it
- Paste a title or several lines of text into the box.
- Set the options: Lowercase, Remove special chars, the separator, and a max length in characters (0 for no limit).
- Press Generate Slugs and copy the result.
Slug Generator: worked example
My Awesome Post
Hello Worldbecomesmy-awesome-post-hello-worldComputed in Node with the default options. The two lines are joined by a hyphen: the label says one title per line, but the whole box is processed as a single string.
How to Build a Modern Responsive React Application in 2024 with TypeScriptbecomeshow-to-build-a-modern-responsive-react-application-in-2024The 60-character default cap truncates here to 58 characters, cutting at the last separator rather than mid-word.
The Ultimate Guide to CSS Grid Layoutsbecomesthe-ultimate-guideWith max length set to 20: the cut lands at 20 characters, then the trailing separator is dropped, giving 18.
Slug Generator: when to use it
- Generating a slug for a post title when you want a specific length cap for a route or a database column.
- Producing underscore-separated identifiers for a system that reserves hyphens for something else.
- Flattening several candidate titles into slugs while you decide which one to keep.
Slug Generator: what it does not do
- It does not produce one slug per line. The whole box is one string, so a five-line list comes back as one very long slug; use Slug Case or run them one at a time if you need a slug each.
- Accents are removed, not transliterated, and removing special characters before the separator pass means punctuation simply vanishes rather than becoming a hyphen.
- The length cap cuts at the last separator only when that separator sits past 70 percent of the limit; otherwise the slug ends mid-word.
- Lowercase can be switched off, which will happily emit a mixed-case slug; and with Remove special chars off, spaces become separators but other punctuation survives into the URL.