What a slug is
A slug is the human-readable part of a URL that identifies one page: the cafe-menu-summer-2026 in example.co.uk/blog/cafe-menu-summer-2026. Good slugs are lowercase, use hyphens between words and contain nothing but letters and digits, because that form is safe in every browser, readable in every link preview and kind to search engines. This generator applies those rules as you type: it lowercases the text, strips accents to plain letters, turns every run of spaces and punctuation into a single hyphen and trims stray hyphens from the ends. It all happens in your browser, so nothing you type is uploaded.
Worked examples
Accents are removed with a standard trick: the text is decomposed into base letters plus separate accent marks (Unicode NFD normalisation), and the marks are then deleted. That is how café becomes cafe and Zürich becomes zurich. Letters from scripts that have no plain a-to-z equivalent, such as Chinese or Arabic, cannot be converted this way and are treated as separators instead.
Why slugs matter for SEO
The URL is one of the small signals search engines read, and it is one of the things people see in results and link previews before deciding to click. A slug made of real words tells both parties what the page is about; a slug like p=4823 tells them nothing. Hyphens matter too: search engines treat a hyphen as a word boundary, so red-wine-guide is read as three words, while underscores join words together and red_wine_guide can be read as one lump. Keep slugs short, three to six meaningful words, drop filler like a, the and of, and put the words people actually search for in there.
The other rule is stability. Once a page is published and linked to, its slug is its address, and changing the address breaks every existing link until you set up a redirect. So spend the extra ten seconds getting the slug right before publishing, and resist the urge to tweak it later for cosmetic reasons.
Slugs, encoding and the alternative
A slug is not the only way to put text in a URL. Percent encoding (see the URL encoder) preserves every character by escaping it, which is right for query values where fidelity matters. A slug goes the other way: it deliberately throws information away in exchange for a clean, permanent, readable address. That is why slug generation is one-directional, you cannot recover the original title, punctuation and capitalisation from a slug. Most content systems, WordPress included, generate slugs automatically with rules very close to these, so this tool is handy for writing slugs by hand, tidying imported URLs or building static sites where you control the file names yourself. It is equally useful away from the web, wherever you need a safe machine-friendly name: file names, image names, CSS classes, database keys or campaign codes.
Frequently asked questions
What exactly does the generator change?
It lowercases the text, converts accented letters to their plain equivalents (so cafe with an e acute becomes cafe), replaces every run of spaces, punctuation and other symbols with a single hyphen, and trims any hyphens left at the ends. Letters and digits are the only characters that survive.
Why hyphens rather than underscores?
Search engines treat a hyphen as a word separator but treat an underscore as joining two words together, so red-wine is read as two words while red_wine can be read as one. Hyphens are also easier to see in a link, where an underscore can vanish under the underline.
How long should a slug be?
Three to six meaningful words is a good target. Keep the words people would search for and drop filler like a, the and of. Short slugs are easier to read, share and type, and they survive redesigns better than dates and category paths baked into the URL.
What happens to characters like the ampersand or the pound sign?
Symbols with no letter equivalent are treated as separators, so a title containing an ampersand between fish and chips becomes fish-chips. If the symbol matters to the meaning, type the word out instead, giving fish-and-chips.
Is my text uploaded anywhere?
No. The slug is generated in your browser as you type and nothing leaves your device.