Slug Generator Online — Free URL Slug Maker for SEO

Turn titles, headings, and any text into clean URL-friendly slugs — lowercase, hyphenated, ASCII-only, with optional diacritic stripping and a configurable max length. Includes a bulk mode so you can convert hundreds of titles in one paste.

(0 = unlimited)
Slug appears here as you type.

What is a Slug Generator?

A slug generator turns prose — a blog post title, product name, headline — into the readable, hyphen-separated portion of a URL. It lowercases, strips diacritics, replaces non-alphanumeric runs with single hyphens, and trims to a sensible length. Good slugs improve click-through rates from search results, are easier to share verbally, and outlast database IDs across migrations.

This generator runs the same canonical algorithm used by Hugo, Gatsby, Next.js examples, and most CMS plugins: lowercase → NFKD normalize → strip combining marks → replace non-alphanumeric with hyphens → trim. Bulk mode produces one slug per input line, ideal for migrating a CSV of titles into a new platform.

How to generate a URL slug online — 4 steps

  1. Paste the title. Drop a single heading in the input panel — or enable Bulk mode and paste many titles, one per line.
  2. Tune the options. Leave Lowercase and Strip diacritics on for SEO defaults. Set max length to 80 (default), bump it for category landing pages, or set 0 to disable trimming.
  3. Read the live slug. No Generate button — the slug updates as you type. The output area shows exactly what will appear in the URL.
  4. Copy and paste into your CMS. Drop the slug into WordPress' Permalink field, Ghost's URL, Notion's public link, or Hugo's front-matter slug: key.

Sample input and output

# Input
"How to Build a Modern Web App with Next.js 15 — Tips & Tricks for 2025!"

# Output (default options)
how-to-build-a-modern-web-app-with-next-js-15-tips-tricks-for-2025

# Input with diacritics
"Café Ölbaum — Naïve façade"

# Output (strip diacritics on)
cafe-olbaum-naive-facade

# Input (output if diacritics off)
café-ölbaum-naïve-façade

SEO-Ready Output

Lowercase, hyphenated, ASCII-safe — exactly what Google, Bing, and every link-shortener expect. Default 80-char ceiling matches the industry SEO recommendation.

Unicode Aware

NFKD normalization + combining-mark stripping handles café → cafe, Zürich → zurich, naïve → naive correctly. Disable to keep accented characters as percent-encoded UTF-8.

Bulk Mode

Paste a hundred titles, get a hundred slugs — one per line. Ideal when migrating from a legacy CMS or seeding a redirect map for a sitemap rewrite.

Common use cases

  • check_circleBlog post permalinks (WordPress, Ghost, Hugo, Jekyll, Gatsby, Next.js)
  • check_circleProduct slugs for ecommerce URLs (/products/wool-runner-mens-charcoal)
  • check_circleCategory and tag landing-page URLs
  • check_circleHugo or Jekyll front-matter slug fields when migrating from another CMS
  • check_circleNotion, Linear, and Trello card URL fragments
  • check_circleHelp-desk article URLs and knowledge-base routes
  • check_circlePublic share-link tokens combined with a short ID
  • check_circleBulk renaming a CSV of legacy titles into clean SEO slugs

Slug vs URL encoding — they solve different problems

A common confusion: encodeURIComponent and slugification both make text URL-safe, but they target different goals. Encoding escapes unsafe characters as %XX sequences so any byte string can round-trip through a URL — "Hello World!" becomes "Hello%20World!" and decodes back to the original. Slugification rewrites the text into a clean readable form — "hello-world" — that humans can read in a search snippet or share aloud, and can never round-trip back to the original casing or punctuation. Use slugs in URL paths; use percent-encoding in query-string values.

Need other content and identifier tools?

Pair the slug generator with placeholder text, identifiers, and the rest of OpenFormatter's browser-side tools — perfect when seeding a fresh CMS.

Frequently Asked Questions

What is a URL slug?

A URL slug is the human-readable, hyphenated portion of a URL that identifies a specific page — the "what-is-a-url-slug" in https://example.com/blog/what-is-a-url-slug. It replaces or supplements an opaque ID with words search engines and humans can read. Slugs are conventionally lowercase, ASCII-only, hyphen-separated, and stripped of stop words and punctuation.

Are slugs case-sensitive?

URLs are technically case-sensitive (RFC 3986) for the path segment, so /About and /about can be served as different pages. In practice, every modern site uses lowercase slugs and configures the server to redirect or canonicalise mixed case to lowercase. Mixed-case slugs hurt sharing (people retype them inconsistently) and risk duplicate-content issues for SEO.

How are non-ASCII characters handled?

With "Strip diacritics" enabled, the generator applies Unicode NFKD normalization (decomposing accented characters into base letter + combining marks) and then removes the combining marks — so "café" becomes "cafe", "naïve" becomes "naive", "Zürich" becomes "zurich". Characters with no ASCII base (Cyrillic, Chinese, Arabic) are dropped entirely. Disable the toggle to keep accented characters as percent-encoded UTF-8 in the URL.

What is the recommended max length for SEO?

Aim for under 60–80 characters. Google does not penalise long slugs directly, but they truncate in search snippets, get awkwardly wrapped in shares, and lose click-through. The generator defaults to 80 characters; set max length to 0 to disable trimming. For pages targeting one search phrase, the slug should usually contain that phrase and little else.

Can a slug have numbers?

Yes — numbers are valid in slugs and the generator preserves them. Year-based slugs (best-tools-2024) and version slugs (react-19-release-notes) are common patterns. Avoid leading numbers if the same slug must work as a JavaScript identifier or filesystem path on case-insensitive filesystems.

Should I include stop words like "the", "a", "of"?

Debatable. Some teams strip them aggressively for shorter URLs; modern Google ignores stop words in the URL when ranking. The pragmatic answer: if stripping a word makes the slug ambiguous or harder to read, keep it. "history-of-roman-empire" is clearer than "history-roman-empire". This generator preserves stop words by default — manually trim them if your style guide requires it.

How is this different from URL encoding (percent-encoding)?

URL encoding (encodeURIComponent) makes any text URL-safe by escaping unsafe characters as %XX sequences — "Hello World!" becomes "Hello%20World!". Slugification rewrites the text into a clean human-readable form — "hello-world". Slugs are designed to be readable, indexable, and shareable; percent-encoded URLs are designed to round-trip arbitrary bytes. Use the slug for the URL path; use percent-encoding for query-string values.

Should I keep slug history when renaming a post?

Always. Whenever a slug changes, configure a 301 redirect from the old URL to the new one — this preserves Google rankings, inbound links, and any cached references. WordPress, Ghost, Hugo, and most CMSes can do this automatically. A renamed post with no redirect loses 100% of its accumulated SEO authority.

Slug Generator Online — Free URL Slug Maker for SEO