URL Slug Generator
SEO-Friendly Paths
Turn titles and phrases into clean URL and filename slugs. Choose separator, lowercase, and max length with live preview in your browser.
This conversion runs only in your browser — nothing is uploaded.
Latin accents become ASCII (café → cafe). Hangul, CJK, and most non-Latin letters are removed — not romanized. Best for Latin titles and filenames.
- Input0
- Output0
- Separator-
Input
Output
What is this tool?
This URL slug generator converts titles and phrases into clean path segments for pages, posts, docs, products, and filenames. It normalizes Latin text, strips punctuation, joins words with your separator (hyphen, underscore, or dot), optionally lowercases, and can enforce a maximum length.
Latin combining accents are flattened to ASCII via NFKD (café → cafe). Hangul, CJK, and most other non-Latin letters are removed, not romanized—so multilingual titles need a Latin form first if you want readable slugs.
A good slug is short, readable, and stable. Changing a published slug usually needs a redirect to keep SEO signals and bookmarks.
Common use cases
- Turn a blog or docs title into a
/blog/...or/docs/...path segment - Normalize product or CMS import titles before publish
- Build safe-ish filenames from Latin headings (note: dots in extensions are stripped unless you choose
.as separator)
How to use
- Paste a title or phrase. Results update as you type.
- Choose separator (
-,_, or.), keep lowercase on for typical URLs, and set max length if needed (0= unlimited). - Use Sample to see accent stripping and CJK removal.
- Copy the slug. Check uniqueness in your CMS before publishing.
Examples
| Input / setting | Output | Notes |
|---|---|---|
Hello, World! | hello-world | Punctuation removed; default hyphen + lowercase. |
Crème brûlée recipe | creme-brulee-recipe | Latin accents → ASCII. |
Café Résumé — Hello 안녕하세요 世界! | cafe-resume-hello | Hangul/CJK dropped; em dash removed (Sample). |
My Report (Final).PDF · max 12 | my-report-fi | Extension dots stripped; length cut without trailing separator. |
Practical pitfalls
- Slugs are not unique: two titles can collide after punctuation/CJK removal or max-length truncation—resolve collisions in your app.
- CJK/Hangul input without prior romanization often becomes empty or Latin-only fragments; this tool does not transliterate.
- Adjacent words joined only by punctuation (
Hello—World) can collapse tohelloworldwith no separator—prefer spaces between words.
References
Last reviewed: 2026-07-27
Frequently asked questions
- What characters stay in the slug?
- After NFKD normalization, letters A–Z/a–z, digits, underscores, spaces, and hyphens are kept; other punctuation is stripped. Spaces and underscores become your chosen separator.
- Are Hangul or Chinese characters romanized?
- No. Hangul, CJK ideographs, and most non-Latin scripts are removed. Only Latin letters with combining accents are flattened to ASCII (café → cafe). Paste Latin titles or transliterate first.
- Does a slug guarantee uniqueness?
- No. Different titles can produce the same slug (for example after CJK removal or max-length truncation). Check collisions in your CMS or add a numeric suffix yourself.
- Is text uploaded?
- No. Slug generation runs only in your browser.