Generate WordPress-ready post slugs: accents transliterated, only letters, digits, hyphens and underscores kept, validated against the 200-character post_name limit.
Stays on your deviceFree
Max length (0 = flavor default)
Result
WordPress builds slugs with sanitize_title(): accents become ASCII, only lowercase letters, digits, hyphens and underscores survive, and the database caps post_name at 200 characters. This page applies those exact rules, so what you paste into the permalink field is what WordPress will keep.
FAQ
WordPress stores the slug in the post_name column, a VARCHAR(200). Anything longer is cut by the database — we truncate at a word boundary and warn you instead.
WordPress percent-encodes non-Latin slugs, which turns them into long unreadable URLs. We transliterate to ASCII instead — paste the result into the slug field to avoid the URL-encoding blowup.
Yes — sanitize_title() keeps them. Hyphens are still the convention (and what WordPress generates from spaces), but pasted underscores survive.
How it works & more
WordPress builds slugs with sanitize_title(): accents become ASCII, only lowercase letters, digits, hyphens and underscores survive, and the database caps post_name at 200 characters. This page applies those exact rules, so what you paste into the permalink field is what WordPress will keep.
FAQ
WordPress stores the slug in the post_name column, a VARCHAR(200). Anything longer is cut by the database — we truncate at a word boundary and warn you instead.
WordPress percent-encodes non-Latin slugs, which turns them into long unreadable URLs. We transliterate to ASCII instead — paste the result into the slug field to avoid the URL-encoding blowup.
Yes — sanitize_title() keeps them. Hyphens are still the convention (and what WordPress generates from spaces), but pasted underscores survive.