How to make a URL slug from a title
- Type or paste a title into Enter text. One line gives a single slug. Several lines switch to bulk mode with one slug per line.
- Pick the Separator: a hyphen (the usual choice for URLs) or an underscore.
- Tick Remove stop words to drop short filler words (a, an, and, are, as, at, be, but, by, for, from, in, is, it, of, on, or, that, the, this, to, was, with). If a title is made only of stop words, the full slug is kept.
- Set Max length to cut the slug at the last whole word before that many characters. 0 means no limit.
- Press Copy next to a slug, or Copy all slugs in bulk mode.
How the slug is built
The title is lowercased and accents are stripped using Unicode decomposition, so é, ü and ñ become e, u and n. Letters that do not decompose are spelled out (ß becomes ss, æ becomes ae, ø becomes o). Cyrillic and Greek are transliterated, so "Привет" becomes privet. Apostrophes are dropped, so "don't" becomes dont. Any other run of characters that is not a letter or digit becomes one separator, and separators at the ends are trimmed.
The second box keeps a dot between two letters or digits, such as 2.1.0 or example.com, which suits version numbers and file names. Google Search Central recommends hyphens over underscores and one consistent letter case. WordPress's sanitize_title_with_dashes() turns periods into hyphens and keeps underscores, so its slug can differ from this one.
Worked example with the default text
The page opens with "Café Menu: Crème Brûlée & Other Desserts (2026 Edition)". Lowercasing and stripping accents gives "cafe menu: creme brulee & other desserts (2026 edition)". The colon, ampersand and brackets are not letters or digits, so each run of them and the spaces around it becomes one hyphen, giving cafe-menu-creme-brulee-other-desserts-2026-edition (50 characters). The dots box matches because the title has no dots. For "Release 2.1.0" the URL slug is release-2-1-0 and the dots box shows release-2.1.0.
Limits and edge cases
- Symbols are not translated: "Tom & Jerry" becomes tom-jerry, so type "and" yourself if you want it.
- Chinese, Japanese, Korean, Arabic, Hebrew and Hindi have no letter-by-letter conversion, so a title in only those scripts gives an empty slug and the page says so.
- In bulk mode, a line that makes the same slug as an earlier line is marked as a duplicate.
To remove accents without making a slug, use the Accent Stripper. The Text Case Converter turns existing text into kebab-case or snake_case, and the URL Encoder and Decoder shows how special characters are percent-encoded.
Frequently asked questions
How long should a URL slug be?
Google sets no maximum but recommends readable words over long ID numbers. A common rule of thumb is 3 to 5 words, or about 60 characters. Use Max length to trim at a whole word.
Should I remove stop words from a slug?
It is optional. Dropping words like the, a and of shortens a slug and keeps it readable, but keep them when removing them changes the meaning. Tick Remove stop words and compare with the full slug.
Should I use hyphens or underscores in a slug?
Use hyphens. Google recommends hyphens instead of underscores to separate words in URLs. Underscores suit file names and database keys, which is why Separator offers both.
Does changing a slug hurt SEO?
It can, if the old address stops working. Once a page is indexed or linked to, a new slug is a new URL. Redirect the old URL to the new one with a 301 redirect and update internal links.
Why is my slug empty?
Slugs here use only a to z and 0 to 9. Accented Latin, Cyrillic and Greek letters are converted, but a title in only Chinese, Japanese, Arabic or Hindi has no letter-by-letter conversion. Add an English or romanized phrase.
Sources: Google Search Central, URL structure best practices; WordPress Developer Resources, sanitize_title_with_dashes().