Free URL slug generator
Slug generator for clean, readable URLs
A slug is the readable tail of a web address — the cafe-menu-2026 in example.com/blog/cafe-menu-2026 — and this page builds one from any headline you paste, one slug per line. It is free and asks for no signup: accents are flattened so café becomes cafe, Cyrillic and Greek are transliterated, punctuation collapses into a single hyphen, apostrophes vanish rather than splitting a word in two, and a length cap cuts at a word boundary instead of through the middle of one. The finished address appears above the box as you type.
- 100% free
- No signup
- Accents and Cyrillic flattened
- Cuts at a word, never mid-word
- One slug per line
The address your first headline turns into
https://example.com/blog/your-headline-here
0 characters in the slug · 0 lines turned into slugs
How to make a URL slug from a title
Three steps, and the finished URL rewrites itself on every keystroke.
Paste one headline, or a month of them
Each line becomes its own slug, so a content calendar copied out of a spreadsheet column comes back as a column of slugs in the same order. Accents, ampersands, em dashes, curly apostrophes, Cyrillic and Greek are all fine as input — that is the point. Hit ⌘V (Ctrl+V on Windows) and the clipboard lands in the box below.
Shape it with the four settings
Choose what goes between the words — a hyphen unless you have a reason — and whether to force lowercase. Set Longest slug allowed and the cut lands on a word boundary, never mid-word, so a 60-character cap gives you a whole last word rather than a chopped one. The stop-word tick removes the, of, and and 39 relatives; the German tick spells ä, ö and ü as ae, oe and ue instead of a, o and u.
Check the address at the top, then copy
The bar above the box shows the finished address for your first line, with the slug in colour and its character count beside it — teal up to 60 characters, amber to 75, rose beyond. Copy all the slugs gives you the bare tails for pasting into a CMS field; Copy the full addresses gives you the whole URLs for a redirect map or a sitemap.
Technical specifications
| What becomes a separator | Every run of characters outside A-Z, a-z and 0-9 collapses to one separator — spaces, punctuation, em dashes, emoji and symbols alike — with leading and trailing separators trimmed off |
|---|---|
| What is removed outright | Apostrophes of all five shapes, so don't becomes dont rather than don-t, plus combining accent marks and any character with no ASCII equivalent at all |
| Transliteration | Accents removed by Unicode decomposition, and a 130-entry table for the letters that cannot decompose: ß æ œ ø đ ð þ ł ı ħ ŋ, the full Russian and Ukrainian Cyrillic alphabets, and Greek |
| Stop-word list | 42 words — a, an, and, the, of, for, with, your and their relatives |
| Length cap | Cuts at a word boundary so the last word is never left half-written; a first word longer than the cap on its own is the only case that is cut through |
| Separators offered | Hyphen, underscore, dot, or nothing at all; ampersands can be spelled out as and, and ä ö ü can follow the German ae oe ue convention |
| Batch size and speed | No line limit; 1,000 headlines are converted in about 13 ms on an Apple M-series laptop, with the comparison table showing the first 60 |
| Where the slugs are built | In this browser tab. Unpublished headlines and embargoed titles are not uploaded anywhere |
Frequently asked questions
What is a URL slug?
The readable tail end of a web address — the cafe-menu-2026 in example.com/blog/cafe-menu-2026. The word is borrowed from newspapers, where a slug was the short working name a story was filed under while it moved through production, itself named after the strip of metal type a Linotype machine cast a line onto. It does the same job on the web: a short, stable handle for one piece of content, meant to be read by a person at a glance.
Should I use hyphens or underscores between the words?
Hyphens. Search engines read a hyphen as a space between two words and an underscore as glue holding them together, so top_ten_recipes has historically been read as one long token while top-ten-recipes is read as three words. Google has said as much for years and the advice has never changed. Underscores are still available in the menu above because some documentation systems and file-based publishing tools require them, but for a public page there is no argument for choosing them.
Should I remove stop words like the and of?
Usually not, and it is off by default here. Dropping them was a habit from a decade when a keyword-shaped URL felt like it mattered, and it makes slugs read like telegrams: best-practices-content-marketing rather than the-best-practices-for-content-marketing. Search engines handle the small words perfectly well. The case for removing them is length — when a headline runs long and the slug will be truncated in a search result, the small words are the cheapest thing to lose.
How long should a slug be?
Under about 60 characters is comfortable, and nothing breaks past it. That number is not a limit anywhere in the specification; it is roughly where a search result stops showing the whole address and starts abbreviating the breadcrumb, and roughly where a URL becomes awkward to read aloud or paste into a chat message. The counter above turns amber at 60 and rose at 75 for that reason. The real ceiling is set by your web server and is in the thousands of characters — you will never meet it.
Can a URL contain accented letters or Cyrillic?
It can, but not literally — anything outside A-Z, a-z, 0-9 and the four marks - . _ ~ has to be percent-encoded before it travels, so the six Cyrillic letters of новини arrive as %D0%BD%D0%BE%D0%B2%D0%B8%D0%BD%D0%B8, thirty-six characters of hexadecimal. Modern browsers show the pretty version in the address bar, but the encoded form is what appears in your analytics, in server logs, in a plain-text email and anywhere the link is pasted without formatting. Flattening the letters to their nearest Latin equivalent avoids all of that, which is what this page does by default.
Do capital letters matter in a slug?
Yes, and more than most people expect. The path part of a URL is case-sensitive on the Linux servers most of the web runs on, so /About-Us and /about-us are two different addresses that can both be indexed, splitting the links between them and reading as duplicate content. Windows and IIS hosts are the exception and treat them as one. Sticking to lowercase everywhere removes the question, which is why the lowercase tick is on when you arrive.
Where do the date and the category go?
In the permalink structure around the slug, not in the slug itself. The slug names one post; the structure decides whether it lives at /post-name/, /2026/08/post-name/ or /category/post-name/, and that decision applies to every post on the site at once. The permalink generator on this site builds those patterns, fills them in from a real post and writes the redirect rules you need if you ever change one.
Why a slug has to be flattened before it travels
A web address is allowed a startlingly small alphabet. RFC 3986 sets aside A-Z, a-z, 0-9 and four marks — hyphen, dot, underscore and tilde — as the characters a path may carry as itself; everything else must be percent-encoded into its UTF-8 bytes before it goes anywhere. That is why café becomes caf%C3%A9 and why the six Cyrillic letters of новини become thirty-six characters of hexadecimal. Your browser hides this and shows you the pretty version in the address bar, which is exactly what makes it a trap: the encoded form is what your analytics reports, what your server logs record, what a plain-text email shows a reader, and what someone pastes back to you when they say the link is broken. Transliterating to the nearest Latin letters costs you the diacritics and buys a URL that survives being copied. The one place it genuinely hurts is a site written entirely in a non-Latin script for its own readers, where a transliterated slug is unreadable to the audience and the encoded original is at least honest.
It is worth being clear about how little the words in a slug do for ranking. Google has described them as a very small factor for years, and no arrangement of keywords in a path will rescue a page or sink one. The slug's real jobs are all human: it appears in the search result under the title, it gets read out in podcasts and typed off screens, it is what people scan to decide whether a link is safe to click, and it is the part of a page other sites copy when they link to you. Which makes stability the property that actually matters. A slug is cheap to get right before publication and expensive afterwards, because every change strands the links pointing at the old one unless a redirect is put in its place — the mechanics of that, and the pattern the slug sits inside, belong to the permalink generator.
Three mechanical details cause most of the untidiness. Capitals: a path is case-sensitive on nearly every server, so /About and /about can both be indexed as separate pages, and lowercasing everything is the one-line cure. Apostrophes: turning them into separators produces don-t and o-brien, so they are deleted here rather than converted, while genuine hyphens inside a compound like state-of-the-art are left alone. And duplicates: publish two posts whose titles differ only in punctuation and most content systems will silently append a -2 to the second, which nobody notices until a link goes to the wrong one — the batch table above makes an accidental collision obvious before it happens. If the headlines you are pasting came out of a word processor, they usually arrive carrying curly quotes, non-breaking spaces and the occasional invisible formatting mark; the text cleaner takes those out first, which matters more for the title you publish than for the slug, since the slug drops them all anyway.
Unpublished headlines stay unpublished
Everything on this page is worked out by JavaScript already in the tab: the transliteration table, the stop-word list and the length cap all live in the page you have downloaded, so an embargoed announcement or next quarter's content calendar can be turned into slugs without a single line of it being uploaded, logged or kept. The settings are not remembered either — reload and you are back to a hyphen, lowercase, no cap.