What is a Slug Generator?
A slug is the readable part of a URL that identifies a page — the beginner-s-guide-to-css-grid in a post address. It exists because URLs have to survive being copied, pasted, spoken aloud and truncated, so unlike a title a slug cannot contain spaces, capitals that might be case-folded, question marks or accents.
Generating one means a fixed sequence of normalisation steps. Accented characters are decomposed and their combining marks dropped, so café becomes cafe rather than caf%C3%A9. Apostrophes are deleted rather than turned into separators, so Repon's Guide becomes repons-guide and not repon-s-guide. Everything that is not a letter or a digit collapses into a single separator, and runs of separators are merged so no slug ends up with two hyphens in a row.
Two options change the result on purpose. Stop-word removal drops the, a, and, of and similar words, producing shorter slugs — helpful when a title is a sentence, harmful when the words carry meaning. A maximum length caps the slug for systems with a hard column limit, trimming back to the last complete word rather than cutting one in half.
How to create a URL slug
- Type or paste the title. The slug updates as you type.
- Leave Lowercase on unless you have a reason not to. Mixed-case URLs are case-sensitive on most servers and are prone to being mistyped.
- Leave Strip accents on so café, naïve and où become plain ASCII. Turning it off keeps the original characters, which will appear percent-encoded in a URL.
- Turn on Remove stop words only if the title is a full sentence. It is skipped automatically when the result would otherwise be empty.
- Set a maximum length if the destination has a column limit — usually 60 to 75 characters for a blog URL. The slug is cut back to the end of the last whole word.
- For a whole list, put one title per line. The tool switches to a per-line table and Copy all gives you the slugs one per line.
Slug Generator limits and rules
| Item | Limit |
|---|---|
| Allowed characters | A–Z, a–z, 0–9 and the chosen separator — everything else is removed |
| Default separator | Hyphen, which search engines treat as a word boundary; underscore and none are also available |
| Apostrophes | Deleted, so Repon's becomes repons rather than repon-s |
| Ampersands | Expanded to the word and before the other rules are applied |
| Accents | Stripped by Unicode decomposition — diacritic marks are dropped, base letters kept |
| Stop words | Dropped only when the title has more than two words, and never if that would empty the slug |
| Max length | Trimmed to the last complete word; a dangling separator is removed |
| Separator runs | Collapsed, so no slug contains two separators in a row |
| Bulk mode | One title per line; blank lines are dropped from the output |
| Not covered | Transliteration of non-Latin scripts — Cyrillic, Arabic and CJK characters are removed rather than romanised |
When to use it
- Naming a blog post, product page or category before publishing, so the URL is chosen deliberately rather than generated from a word processor's heading.
- Fixing an existing URL that contains %20, uppercase letters or an accent — all of which a CMS may have produced from the title without asking.
- Converting a spreadsheet of article titles into a column of slugs in one pass, ready to paste into a CMS import.
- Producing short slugs for a URL-shortener or a file-naming scheme where the separator has to be an underscore rather than a hyphen.
- Keeping slugs consistent across a site that spans several authors, so the structure stays predictable even when the titles are not.
Is it private?
Everything runs inside your browser. Your text and files are never uploaded, never stored and never seen by anyone else — including me. You can use the tool with the network tab open and watch no request leave the page. Closing the tab erases the input.
Frequently asked questions
Hyphens. Google treats a hyphen as a word separator and an underscore as a word character, so beginner-guide is read as two words and beginner_guide as the single token beginner_guide. Underscores are still worth choosing only when a downstream system cannot handle hyphens.
Because the default output is plain ASCII, which every server and file system handles without escaping. Accented Latin letters are recovered by decomposition, but Cyrillic, Greek, Arabic and CJK have no ASCII equivalent, so they are removed. Turn Strip accents off to keep the originals, accepting that they will be percent-encoded in the URL.
Short enough to read in a search result — around 60 characters, or five to eight words. There is no hard technical limit, but long slugs are truncated in some interfaces and carry no extra ranking benefit once the keywords are already present.
Only with a permanent redirect from the old address. Changing a slug otherwise breaks every existing link and discards whatever authority the page had accumulated. Get it right at publication time and treat later changes as migrations.
No. The slug is produced by JavaScript in your own tab, with no request made, so nothing you paste here reaches a server or a log.
Related tools
Written and maintained by Md. Nur Hossain Repon.