FormatterHQ

URL Slug Generator

Turn titles and headings into clean, readable URL slugs. Accents are transliterated, symbols removed, and you control separator, case, stop words and maximum length.

Input TEXT
Output TEXT
Ready.

How to use the URL Slug Generator

  1. Paste one or more titles into the input editor — each line becomes its own slug.
  2. Choose the Separator (hyphen, underscore, dot or none) and whether to lowercase.
  3. Optionally remove stop words, keep non-Latin letters (untick ASCII only) or set a Max length.
  4. Copy or download the slugs from the output editor.

Create clean URLs with the slug generator

A slug is the human-readable part of a URL that identifies a page, such as css-grid-guide in example.com/blog/css-grid-guide. Good slugs are short, descriptive and contain only safe characters. This slug generator converts titles into slugs the same way content management systems and frameworks do, and handles tricky input such as accents, ampersands and typographic quotes.

Examples

TitleSlug
Crème Brûlée & Café: 10 Tips for Beginners!creme-brulee-and-cafe-10-tips-for-beginners
What’s New in PHP 8.5?whats-new-in-php-8-5
Straße über Ærøstrasse-uber-aero
The Complete Guide to CSS Grid (stop words removed)complete-guide-css-grid

How the conversion works

  1. Special letters without a simple accent are transliterated (ß → ss, æ → ae, ø → o, ł → l), and symbols such as &, @, % and + become words.
  2. Unicode normalisation (NFKD) splits accented letters into base letter plus accent, and the accents are dropped (é → e, ü → u).
  3. Apostrophes are removed so "What’s" becomes "whats" rather than "what-s".
  4. Everything that is not a letter or digit becomes a separator, and repeated separators collapse into one.
  5. Optional steps: lowercase, remove common English stop words and trim to a maximum length at a word boundary.

Options explained

  • Separator: hyphens are recommended for URLs — Google treats hyphens as word separators but underscores as joining characters. Underscores and dots suit file names and identifiers.
  • ASCII only: on by default for maximum compatibility. Untick it to keep letters from scripts such as Cyrillic, Greek or Chinese; browsers display them, although they are percent-encoded when copied.
  • Remove stop words: drops words like "the", "a", "of" and "to" for shorter slugs. If a title consists only of stop words, they are kept.
  • Max length: cuts at the last separator before the limit so no word is chopped in half.

Slug best practices

  • Keep slugs to three to six meaningful words and include the main keyword.
  • Avoid dates and numbers that will age, such as "2019" in an evergreen guide.
  • Do not change slugs of published pages without adding a 301 redirect — the .htaccess redirect generator helps with that.
  • Use lowercase only: some servers treat /About and /about as different URLs.

Preview how the URL appears in search results with the SERP preview, or convert text between other styles such as camelCase with the case converter.

Slugs in code

Most frameworks ship a slug helper — Str::slug() in Laravel, slugify in Django, the slugify package in Node.js — and their output for plain English titles matches this tool. Differences appear with accents, symbols and non-Latin text, so this page is a quick way to check what a title will look like before you publish, to prepare slugs in bulk for an import, or to create file names and anchor IDs by hand. Paste a column of titles from a spreadsheet and copy the resulting column back — empty lines are preserved so rows stay aligned.

Privacy

The tool runs entirely in your browser. Nothing you type or paste is sent to our servers.

Frequently asked questions

Should I use hyphens or underscores in URLs?
Hyphens. Google treats a hyphen as a space between words, while an underscore joins words together, so hyphenated slugs are easier to read for people and search engines.
Should I remove stop words from slugs?
Often yes, for shorter URLs, but keep them when they change the meaning or readability — for example "how-to-cook-rice" reads better than "cook-rice".
Can slugs contain non-English characters?
Yes, modern browsers display Unicode URLs, but they are percent-encoded when shared, which makes them long. Transliterated ASCII slugs are safer.
How long should a URL slug be?
There is no fixed limit, but short slugs of three to six words (under about 60 characters) are easier to read, share and remember.
Can I slugify many titles at once?
Yes. Put each title on its own line and every line is converted separately.

Last updated September 26, 2026

Related tools

ASCII Art Text Generator (FIGlet) Turn text into large ASCII art banners with 30 FIGlet fonts. Wrap them as code comments for README files, CLIs and source headers. Barcode Generator Generate Code 128, EAN-13, UPC-A, Code 39, ITF-14, ISBN, Data Matrix, PDF417 and more barcodes. Download PNG or SVG for free. Basic Auth Header Generator Build an HTTP "Authorization: Basic" header from username:password, or decode an existing Basic auth header back to credentials. Bcrypt Hash Generator Generate a bcrypt password hash ($2y$) with a configurable cost factor, compatible with PHP password_hash and Laravel. Crontab Generator Build a crontab line from presets or custom fields, with a plain-English explanation and a preview of the next run times. CSR Generator Generate an RSA private key and certificate signing request (CSR) with SANs in your browser — the private key never leaves your device. Small Text Generator Convert text into small caps, superscript or subscript Unicode letters you can copy and paste. Sort Text Lines Sort lines alphabetically, naturally, by length, in reverse or randomly — with optional de-duplication. String Builder Turn multi-line text into StringBuilder / string concatenation code for Java, C#, JavaScript, Python, PHP or Go. String Byte Size Counter Count how many bytes a string uses in UTF-8, UTF-16 and UTF-32, plus characters, code points and Base64/URL-encoded size. String Utility Inspect a string: length, UTF-8 byte size, words, lines, plus uppercase, lowercase, reversed and trimmed versions. Text Cleaner Clean messy text: remove invisible characters, straighten smart quotes, collapse spaces and strip HTML.