CMS · Free tool

Slug Generator

Turn any title into a clean, URL-safe slug — live, as you type.

Generate a slug

Type a title. The slug updates live: lowercased, accents stripped, everything that isn't a letter or number collapsed to a single dash.

Slug

how-to-set-up-a-headless-cms-for-free

37 / 60 characters

How it works

The title is Unicode-normalized to split accented characters from their base letters, the accent marks are dropped, everything is lowercased, then every run of non-alphanumeric characters collapses to a single dash. This is the same normalization step most CMS platforms — including content type slug fields — run automatically on save.

Slug maker vs. slug creator: same job

“Slug generator,” “slug maker,” and “slug creator” all point at the same problem: turning a human-readable title into the string that goes in a URL path. Whatever you call it, the output rules are the same — lowercase, hyphen-separated, no punctuation, no accented characters — because that’s what’s actually safe unescaped in a URL, not a style preference.

Python’s slugify vs. this tool

If you’re slugifying on the backend, Python’s django.utils.text.slugify or the standalone python-slugify package do the same normalize-strip-lowercase-join steps this tool runs client-side. Use this page to eyeball a slug instantly while drafting a title; use the Python library when the same logic needs to run server-side on every save, so a slug can’t be entered any other way. Once a content schema has a slug field like this one, the rest of its fields are usually worth typing too — see the JSON to TypeScript converter.

Get slug validation built into your schema

Mark any field isSlug in a Draftbase template and the API rejects anything that doesn't match this exact pattern — no separate validation step in your app.

Hobby is free, no card. Startup is $49/mo when you outgrow it. The price is on the pricing page, where prices go.

No migration quarter, no kickoff workshop. Define a template and ship something today.

Frequently asked questions

What makes a slug URL-safe?

Lowercase letters, numbers, and single dashes between words, with no spaces, punctuation, or accented characters. That set is safe in a URL path without percent-encoding and reads clearly in a browser address bar.

Why strip accented characters instead of encoding them?

A URL-encoded accented character (e.g. %C3%A9 for é) is technically valid but unreadable and inconsistent across tools — converting café to cafe keeps the slug readable and matches how most CMS and static-site slug fields behave.

What slug length should I use?

There’s no hard limit, but keeping a slug under ~60 characters keeps it fully visible in search results and easy to read in a URL bar — the default here matches that.

More free tools on the tools page, or read the content modeling guide on /content-modeling.