URL Slug Generator
Turn titles into URL slugs the way WordPress does: accents mapped to their base letter, symbols spelled out, and an optional stop word strip.
how-to-build-a-wordpress-plugin-in-2026
cafe-and-bar-50-percent-off
Output is valid and updates as you type.
Fix the highlighted fields to update the output.
Turn a title into a slug the way WordPress does, so the URL you plan is the URL the site will store.
How to use
- Paste one title per line. Each line becomes its own slug.
- Keep the hyphen separator. Google reads an underscore as part of the word, so
hello_worldis one word to it andhello-worldis two. - Leave symbol spelling on for titles where the symbol carries meaning:
&becomesand,%becomespercent,@becomesat. - Turn on stop word removal for long titles. It never strips everything: a title made only of stop words keeps them.
- Set a maximum length if your URLs have one. The cut lands on a word boundary, never mid-word.
Example
How to Build a WordPress Plugin in 2026
Café & Bar: 50% Off!
becomes
how-to-build-a-wordpress-plugin-in-2026
cafe-and-bar-50-percent-off
Café becomes cafe, not caf. The accent is mapped to its base letter, which is what WordPress does through its own accent table; stripping the character instead is how a URL quietly loses a word.
Pitfalls
- Changing a published slug changes the URL. Old links break unless you add a redirect, and search engines treat the new URL as a new page.
- Accents are the usual surprise. A naive slug generator drops them, turning
Größeintogre; mapping them givesgrosse, which is what the German reader expects. - Stop word removal can change meaning.
how-to-be-a-good-hostandgood-hostare not the same title, and the second is harder to recognise in a link. - Non-Latin titles have no ASCII equivalent. WordPress percent-encodes them, which works but gives an unreadable URL; this tool tells you when nothing usable is left rather than emitting an empty slug.
- Length is not an SEO ranking factor, but it is a usability one. A slug people can read aloud is the useful limit, not a character count.
- Dates in slugs age the content.
wordpress-plugin-2026looks stale in 2027, even if the article is updated. - A trailing number added by WordPress means the slug was taken. Check for an existing post with the same slug before assuming yours will be used as is.
- Uppercase letters are lowercased. Some servers treat URLs case-sensitively, so a mixed-case slug is a source of duplicate pages.
Compatibility
The accent mapping follows the Latin-1 and Latin Extended-A tables WordPress uses in remove_accents, so slugs match what sanitize_title would produce for the same title. Hyphens, digits and lowercase ASCII are the whole output, which is safe in every browser, server and CDN. The tool runs in your browser and uploads nothing.