Skip to content
Plaintools

Slug generator

Paste a heading or product name. The slug is lowercased, punctuation is replaced with hyphens, and common English stop words can be dropped. Accented letters are transliterated so “Crème brûlée” becomes creme-brulee.

Slug generator example

A long blog title

“The Ultimate Guide to Crème Brûlée in São Paulo” with stop words on and a 60-character cap becomes ultimate-guide-creme-brulee-sao-paulo.

Slug generator how-to

  1. Trim. Empty input → empty slug.
  2. If transliterate: replace æ→ae, Æ→ae, ø→o, Ø→o, å→a, Å→a, œ→oe, Œ→oe, ß→ss, ł→l, Ł→l, đ→d, Đ→d, þ→th, Þ→th, ð→d, Ð→d; then value.normalize("NFD").replace(/\p{M}/gu, "").
  3. Lowercase. Strip apostrophes ' and ’ (U+2019).
  4. If transliterate: replace /[^a-z0-9]+/g with "-". Else replace /[^\p{L}\p{N}]+/gu with "-".
  5. Split on "-", drop empty parts.
  6. If stripStopWords: filter out tokens in { a, an, the, and, or, but, nor, of, in, on, at, to, for, from, with, by, as, is, it, its, this, that, these, those, be, are, was, were, been, being, am, do, does, did, into, over, under, about, after, before, between, through, during, without, within, than, then, so, if, not, no, yes, you, your, we, our, they, their, he, she, them }. If the filter would be empty, keep the unfiltered parts.
  7. Join with "-".
  8. If maxLength > 0 and slug is longer: slice(0, max), strip trailing hyphens; if lastIndexOf("-") >= Math.floor(max * 0.6), slice to that hyphen; strip trailing hyphens again.

Related tools

SEO

UTM generator

Add source, medium, campaign, term, and content parameters to a URL you already own.

SEO

JSON-LD generator

Build live JSON-LD for FAQ, HowTo, Article, Product, LocalBusiness, Breadcrumb, and Organization.

SEO

Open Graph generator

Generate Open Graph and Twitter Card meta tags with live social preview cards.

Text

Case converter

Convert text between lowercase, UPPERCASE, Title Case, Sentence case, camelCase, PascalCase, snake_case, and kebab-case.

SEO

Meta tag generator

Generate HTML title, meta description, canonical, robots, viewport, and theme-color tags with live Google SERP preview. Nothing is uploaded.

People also use

SEO

Favicon generator

Convert any image into PNG favicons (16×16, 32×32, 48×48), favicon.ico, and Apple touch icons.

SEO

Robots.txt generator

Generate RFC 9309 robots.txt files with allow/disallow paths, bot groups, sitemaps, and crawl delays.

SEO

Schema checker

Validate Schema.org JSON-LD syntax, @context, @type, and required fields for FAQ, HowTo, Article, and Product.

SEO

Hreflang generator

Generate HTML link tags, XML sitemap snippets, and HTTP headers for multilingual and multi-regional hreflang SEO.

Slug generator FAQ

How do I create a URL slug from a title?
Paste the title. This slug generator lowercases it, replaces punctuation and spaces with hyphens, optionally drops English stop words (a, the, and, …), and can transliterate accents so “Crème brûlée” becomes creme-brulee. Cap length if your CMS has a limit. Nothing is uploaded — the string is built in this tab.
Is my title uploaded?
No. The slug is built in this tab with string transforms only. There is no upload and no request that includes your heading. Refresh the page and the text is gone.
What is a slug generator?
A slug generator turns a title or phrase into a URL path segment: lowercase, hyphenated, without punctuation. This one can also drop English stop words and transliterate unicode so “Crème brûlée” becomes creme-brulee.
Which words are treated as stop words?
A short English list: articles, common prepositions, and copulas such as a, the, and, of, in, to, for, with, is. If stripping them would leave nothing, the original tokens are kept.
What does transliterate do?
It maps letters such as é, ø, ß, and ł to ASCII lookalikes, then strips remaining combining marks. Turn it off if you want unicode code points to stay in the slug.
How does max length work?
The slug is cut to your limit, then trimmed back to the last hyphen when that hyphen sits in the final 40% of the string. That avoids a dangling half-word in most cases.
Should I change slugs on published pages?
Only with a redirect. This tool does not check whether a slug is already in use; it only formats the string.
How do I build the same slug without this page?
Trim. If transliterate (UI default on): map æ/Æ→ae, ø/Ø→o, å/Å→a, œ/Œ→oe, ß→ss, ł/Ł→l, đ/Đ→d, þ/Þ→th, ð/Ð→d, then NFD and strip combining marks. Lowercase; strip ' and ’. Replace non-alphanumerics with hyphens ([^a-z0-9] if transliterate, otherwise [^\p{L}\p{N}]). Split on hyphens. Optionally drop English stop words (a, an, the, and, or, but, nor, of, in, on, at, to, for, from, with, by, as, is, it, its, this, that, these, those, be, are, was, were, been, being, am, do, does, did, into, over, under, about, after, before, between, through, during, without, within, than, then, so, if, not, no, yes, you, your, we, our, they, their, he, she, them) unless that would leave nothing. Join with “-”. If maxLength > 0 (UI default 60) and the slug is longer, clip, then trim back to the last hyphen when that hyphen is at or after floor(max * 0.6).