Slug Generator

Convert titles and text into clean, URL-safe slugs instantly.

Result will appear here.

๐Ÿ“– How to Use

1
Enter Text

Type or paste a title, heading, or any text you want to turn into a URL slug.

2
Choose Options

Pick a separator (hyphen or underscore) and toggle lowercase. Accented characters are automatically folded (รฉ โ†’ e).

3
Copy Result

The slug updates in real time. Click ๐Ÿ“‹ Copy to save it to your clipboard.

๐Ÿ’ก Tip: URL slugs should be short, lowercase, and use hyphens to separate words. This improves readability and SEO for blog posts, product pages, and documentation.

About the Slug Generator

A URL slug is the human-readable tail of a web address — the part after the domain that identifies a page, such as how-to-bake-bread in example.com/blog/how-to-bake-bread. Good slugs are short, lowercase, descriptive, and use hyphens to separate words, which helps search engines and readers understand the page at a glance. The Slug Generator turns an arbitrary title into such a slug automatically, applying normalization and cleaning rules that would otherwise be a tedious manual edit.

How it works

The pipeline applies a fixed sequence of transforms. First the input is lowercased. Next, accented characters are normalized with Unicode NFKD decomposition: a composed character such as é is split into its base letter e plus a combining acute accent, and the combining marks are then stripped, so é collapses to e. After folding, punctuation and symbols are removed and every run of whitespace (spaces, tabs, newlines) is replaced with a single separator — a hyphen by default, or an underscore if you select it. Consecutive separators are collapsed and leading or trailing ones are trimmed. The result contains only URL-safe characters.

The reason for NFKD rather than NFC is decomposition: NFKD breaks composed forms into base plus diacritics, which is what lets the stripper recover the plain ASCII letter. Scripts that NFKD does not map to ASCII (Hangul, CJK, Cyrillic, Arabic) need an additional transliteration step that substitutes a romanized equivalent — for example romanizing the Korean greeting to annyeong — because stripping them outright would lose the word. Hyphens are preferred over underscores because search engines treat a hyphen as a word boundary.

Common use cases

  • Generating SEO-friendly permalinks for blog posts and articles
  • Creating product or category URLs from marketing titles
  • Building anchor links and fragment identifiers from headings
  • Producing kebab-case keys for documentation pages
  • Cleaning pasted titles into safe filename or path segments

Worked example

Take the mixed-language title:

Hรฉllo, World! ์•ˆ๋…•

Lowercasing and NFKD normalization fold é to e and strip the punctuation, then whitespace runs become hyphens. With a transliteration step applied to the Hangul, the final slug is:

hello-world-annyeong

If transliteration is disabled the Hangul is dropped instead, leaving hello-world — still URL-safe, but missing the second word.

Frequently asked questions

What makes a good URL slug?

A good slug is lowercase, short, descriptive, and uses hyphens to separate words. It contains only URL-safe ASCII characters, avoids punctuation and spaces, and reads naturally so both search engines and humans can understand the page topic from the URL alone.

How are accented characters handled?

Accented characters are normalized with Unicode NFKD, which decomposes a composed character into its base letter plus combining marks. The combining marks are then stripped, so e-with-acute becomes plain e. This folds most Latin accents to their ASCII equivalent.

Why hyphens instead of underscores?

Google treats a hyphen as a word separator but not an underscore, so hello-world is read as two words while hello_world is read as one. Hyphens are also reserved characters that never need encoding in a URL path, making them the safer choice for readability and SEO.

What happens to non-ASCII scripts like Korean?

NFKD normalization does not decompose Hangul into ASCII, so the default pipeline strips or transliterates those characters depending on the tool's mode. For full international slugs you may need a dedicated transliteration step that maps each syllable to a romanized form (for example annyeong) before generating the slug.

Is my text sent to a server?

No. Slugs are generated entirely in your browser through string normalization and replacement. Nothing is uploaded, so the tool is safe for unpublished titles, draft content, and confidential material.

์Šฌ๋Ÿฌ๊ทธ ์ƒ์„ฑ๊ธฐ๋ž€?

URL ์Šฌ๋Ÿฌ๊ทธ๋Š” ์›น ์ฃผ์†Œ์˜ ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ๋„๋ฉ”์ธ ๋’ค์— ๋ถ™์–ด ํ•œ ํŽ˜์ด์ง€๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ถ€๋ถ„์œผ๋กœ, example.com/blog/how-to-bake-bread์—์„œ how-to-bake-bread๊ฐ€ ์Šฌ๋Ÿฌ๊ทธ์ž…๋‹ˆ๋‹ค. ์ข‹์€ ์Šฌ๋Ÿฌ๊ทธ๋Š” ์งง๊ณ , ์†Œ๋ฌธ์ž์ด๋ฉฐ, ์„ค๋ช…์ ์ด๊ณ , ๋‹จ์–ด๋ฅผ ํ•˜์ดํ”ˆ์œผ๋กœ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์•ผ ๊ฒ€์ƒ‰์—”์ง„๊ณผ ๋…์ž ๋ชจ๋‘ URL๋งŒ ๋ด๋„ ํŽ˜์ด์ง€๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์Šฌ๋Ÿฌ๊ทธ ์ƒ์„ฑ๊ธฐ๋Š” ์ž„์˜์˜ ์ œ๋ชฉ์ด๋‚˜ ํ—ค๋”ฉ์„ ์ด๋Ÿฐ ์Šฌ๋Ÿฌ๊ทธ๋กœ ์ž๋™ ๋ณ€ํ™˜ํ•˜๋ฉฐ, ์ง์ ‘ ํ•˜๋ฉด ๊ท€์ฐฎ์„ ์ •๊ทœํ™”์™€ ์ •๋ฆฌ ์ž‘์—…์„ ํ•œ ๋ฒˆ์— ์ฒ˜๋ฆฌํ•ด ์ค๋‹ˆ๋‹ค.

์ž‘๋™ ๋ฐฉ์‹

ํŒŒ์ดํ”„๋ผ์ธ์€ ๊ณ ์ •๋œ ๋ณ€ํ™˜ ์ˆœ์„œ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ๋จผ์ € ์ž…๋ ฅ์„ ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ์•…์„ผํŠธ๊ฐ€ ์žˆ๋Š” ๋ฌธ์ž๋ฅผ ์œ ๋‹ˆ์ฝ”๋“œ NFKD ๋ถ„ํ•ด๋กœ ์ •๊ทœํ™”ํ•ฉ๋‹ˆ๋‹ค. ํ•ฉ์ณ์ง„ ๋ฌธ์ž é๋Š” ๊ธฐ๋ณธ ๊ธ€์ž e์™€ ๊ฒฐํ•ฉ ์•…์„ผํŠธ๋กœ ๋ถ„ํ•ด๋˜๊ณ , ๊ฒฐํ•ฉ ๋ถ€ํ˜ธ๊ฐ€ ์ œ๊ฑฐ๋˜๋ฉด์„œ é๋Š” e๋กœ ํ•ฉ์ณ์ง‘๋‹ˆ๋‹ค. ํด๋”ฉ์ด ๋๋‚˜๋ฉด ๊ตฌ๋‘์ ๊ณผ ๊ธฐํ˜ธ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ , ๊ณต๋ฐฑ ๋ฌธ์ž์—ด(์ŠคํŽ˜์ด์Šค, ํƒญ, ์ค„๋ฐ”๊ฟˆ)์„ ํ•˜๋‚˜์˜ ๊ตฌ๋ถ„์ž — ๊ธฐ๋ณธ๊ฐ’์€ ํ•˜์ดํ”ˆ, ์„ ํƒ ์‹œ ๋ฐ‘์ค„ — ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์—ฐ์†๋œ ๊ตฌ๋ถ„์ž๋Š” ํ•˜๋‚˜๋กœ ํ•ฉ์ณ์ง€๊ณ  ์•ž๋’ค ๊ตฌ๋ถ„์ž๋Š” ๋‹ค๋“ฌ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์—๋Š” URL์— ์•ˆ์ „ํ•œ ๋ฌธ์ž๋งŒ ๋‚จ์Šต๋‹ˆ๋‹ค.

NFC๊ฐ€ ์•„๋‹ˆ๋ผ NFKD๋ฅผ ์“ฐ๋Š” ์ด์œ ๋Š” ๋ถ„ํ•ด ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. NFKD๋Š” ํ•ฉ์ณ์ง„ ํ˜•ํƒœ๋ฅผ ๊ธฐ๋ณธ ๊ธ€์ž์™€ ๋ถ„์Œ ๋ถ€ํ˜ธ๋กœ ๋‚˜๋ˆ„์–ด ์ฃผ๋ฏ€๋กœ, ์ œ๊ฑฐ ๋‹จ๊ณ„์—์„œ ์ˆœ์ˆ˜ ASCII ๊ธ€์ž๋ฅผ ๋ณต์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. NFKD๊ฐ€ ASCII๋กœ ๋งคํ•‘ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ž ์ฒด๊ณ„(ํ•œ๊ธ€, ํ•œ์ž, ํ‚ค๋ฆด, ์•„๋ž์–ด ๋“ฑ)์—๋Š” ์ถ”๊ฐ€ ์Œ์—ญ(transliteration) ๋‹จ๊ณ„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋ฌธ์ž๋ฅผ ๋กœ๋งˆ์ž ํ‘œ๊ธฐ๋กœ ์น˜ํ™˜ํ•˜๋Š” ๋‹จ๊ณ„๋กœ, ํ•œ๊ตญ์–ด ์ธ์‚ฌ๋ฅผ annyeong์œผ๋กœ ๋ฐ”๊พธ๋Š” ์‹์ž…๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„ ์—†์ด ํ†ต์งธ๋กœ ์ง€์šฐ๋ฉด ๋‹จ์–ด๊ฐ€ ์‚ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํ•˜์ดํ”ˆ์„ ๋ฐ‘์ค„๋ณด๋‹ค ์„ ํ˜ธํ•˜๋Š” ์ด์œ ๋Š” ๊ฒ€์ƒ‰์—”์ง„์ด ํ•˜์ดํ”ˆ์„ ๋‹จ์–ด ๊ฒฝ๊ณ„๋กœ ์ธ์‹ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ž์ฃผ ์“ฐ๋Š” ๊ฒฝ์šฐ

  • ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ/๊ธฐ์‚ฌ์šฉ SEO ์นœํ™”์  ํผ๋งˆ๋งํฌ ์ƒ์„ฑ
  • ๋งˆ์ผ€ํŒ… ์ œ๋ชฉ์—์„œ ์ œํ’ˆ/์นดํ…Œ๊ณ ๋ฆฌ URL ๋งŒ๋“ค๊ธฐ
  • ํ—ค๋”ฉ์—์„œ ์•ต์ปค ๋งํฌ์™€ ํ”„๋ž˜๊ทธ๋จผํŠธ ์‹๋ณ„์ž ์ƒ์„ฑ
  • ๋ฌธ์„œ ํŽ˜์ด์ง€์šฉ kebab-case ํ‚ค ์ƒ์„ฑ
  • ๋ถ™์—ฌ ๋„ฃ์€ ์ œ๋ชฉ์„ ์•ˆ์ „ํ•œ ํŒŒ์ผ๋ช…/๊ฒฝ๋กœ ์„ธ๊ทธ๋จผํŠธ๋กœ ์ •๋ฆฌ

์‚ฌ์šฉ ์˜ˆ

์—ฌ๋Ÿฌ ์–ธ์–ด๊ฐ€ ์„ž์ธ ์ œ๋ชฉ์„ ์˜ˆ๋กœ ๋“ญ๋‹ˆ๋‹ค.

Hรฉllo, World! ์•ˆ๋…•

์†Œ๋ฌธ์ž ๋ณ€ํ™˜๊ณผ NFKD ์ •๊ทœํ™”๊ฐ€ é๋ฅผ e๋กœ ํด๋”ฉํ•˜๊ณ  ๊ตฌ๋‘์ ์„ ์ œ๊ฑฐํ•œ ๋’ค, ๊ณต๋ฐฑ ๋ฌธ์ž์—ด์ด ํ•˜์ดํ”ˆ์ด ๋ฉ๋‹ˆ๋‹ค. ํ•œ๊ธ€์— ์Œ์—ญ ๋‹จ๊ณ„๋ฅผ ์ ์šฉํ•˜๋ฉด ์ตœ์ข… ์Šฌ๋Ÿฌ๊ทธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

hello-world-annyeong

์Œ์—ญ์„ ๋„๋ฉด ํ•œ๊ธ€์ด ์ œ๊ฑฐ๋˜์–ด hello-world๊ฐ€ ๋ฉ๋‹ˆ๋‹ค — ์—ฌ์ „ํžˆ URL์— ์•ˆ์ „ํ•˜์ง€๋งŒ ๋‘ ๋ฒˆ์งธ ๋‹จ์–ด๊ฐ€ ๋น ์ง‘๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

์ข‹์€ URL ์Šฌ๋Ÿฌ๊ทธ์˜ ์กฐ๊ฑด์€?

์ข‹์€ ์Šฌ๋Ÿฌ๊ทธ๋Š” ์†Œ๋ฌธ์ž์ด๊ณ , ์งง๊ณ , ์„ค๋ช…์ ์ด๋ฉฐ, ๋‹จ์–ด๋ฅผ ํ•˜์ดํ”ˆ์œผ๋กœ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. URL์— ์•ˆ์ „ํ•œ ASCII ๋ฌธ์ž๋งŒ ํฌํ•จํ•˜๊ณ  ๊ตฌ๋‘์ ๊ณผ ๊ณต๋ฐฑ์„ ํ”ผํ•˜๋ฉฐ, ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ฝํ˜€์„œ ๊ฒ€์ƒ‰์—”์ง„๊ณผ ์‚ฌ๋žŒ ๋ชจ๋‘ URL๋งŒ์œผ๋กœ ํŽ˜์ด์ง€ ์ฃผ์ œ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์•…์„ผํŠธ ๋ฌธ์ž๋Š” ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌ๋˜๋‚˜์š”?

์•…์„ผํŠธ ๋ฌธ์ž๋Š” ์œ ๋‹ˆ์ฝ”๋“œ NFKD๋กœ ์ •๊ทœํ™”๋˜์–ด ํ•ฉ์ณ์ง„ ๋ฌธ์ž๋ฅผ ๊ธฐ๋ณธ ๊ธ€์ž์™€ ๊ฒฐํ•ฉ ๋ถ€ํ˜ธ๋กœ ๋ถ„ํ•ดํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋‹ค์Œ ๊ฒฐํ•ฉ ๋ถ€ํ˜ธ๋ฅผ ์ œ๊ฑฐํ•˜๋ฏ€๋กœ e-with-acute๋Š” ์ˆœ์ˆ˜ e๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์ด ๋Œ€๋ถ€๋ถ„์˜ ๋ผํ‹ด ์•…์„ผํŠธ๋ฅผ ํ•ด๋‹น ASCII ๊ธ€์ž๋กœ ํด๋”ฉํ•ฉ๋‹ˆ๋‹ค.

์™œ ๋ฐ‘์ค„ ๋Œ€์‹  ํ•˜์ดํ”ˆ์ธ๊ฐ€์š”?

๊ตฌ๊ธ€์€ ํ•˜์ดํ”ˆ์€ ๋‹จ์–ด ๊ตฌ๋ถ„์ž๋กœ ์ธ์‹ํ•˜์ง€๋งŒ ๋ฐ‘์ค„์€ ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ hello-world๋Š” ๋‘ ๋‹จ์–ด๋กœ, hello_world๋Š” ํ•œ ๋‹จ์–ด๋กœ ์ฝํž™๋‹ˆ๋‹ค. ํ•˜์ดํ”ˆ์€ URL ๊ฒฝ๋กœ์—์„œ ์ธ์ฝ”๋”ฉ์ด ํ•„์š” ์—†๋Š” ์˜ˆ์•ฝ ๋ฌธ์ž์ด๊ธฐ๋„ ํ•˜๋ฏ€๋กœ ๊ฐ€๋…์„ฑ๊ณผ SEO ๋ชจ๋‘์—์„œ ๋” ์•ˆ์ „ํ•œ ์„ ํƒ์ž…๋‹ˆ๋‹ค.

ํ•œ๊ตญ์–ด ๊ฐ™์€ ๋น„ ASCII ๋ฌธ์ž๋Š” ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?

NFKD ์ •๊ทœํ™”๋Š” ํ•œ๊ธ€์„ ASCII๋กœ ๋ถ„ํ•ดํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ๊ธฐ๋ณธ ํŒŒ์ดํ”„๋ผ์ธ์€ ๋„๊ตฌ ๋ชจ๋“œ์— ๋”ฐ๋ผ ์ด ๋ฌธ์ž๋“ค์„ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜ ์Œ์—ญํ•ฉ๋‹ˆ๋‹ค. ์™„์ „ํ•œ ๋‹ค๊ตญ์–ด ์Šฌ๋Ÿฌ๊ทธ๋ฅผ ์›ํ•˜๋ฉด ์Šฌ๋Ÿฌ๊ทธ ์ƒ์„ฑ ์ „์— ๊ฐ ์Œ์ ˆ์„ ๋กœ๋งˆ์ž ํ‘œ๊ธฐ(์˜ˆ: annyeong)๋กœ ๋งคํ•‘ํ•˜๋Š” ์ „์šฉ ์Œ์—ญ ๋‹จ๊ณ„๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ œ ํ…์ŠคํŠธ๊ฐ€ ์„œ๋ฒ„๋กœ ์ „์†ก๋˜๋‚˜์š”?

์•„๋‹™๋‹ˆ๋‹ค. ์Šฌ๋Ÿฌ๊ทธ๋Š” ์ „์ ์œผ๋กœ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ฌธ์ž์—ด ์ •๊ทœํ™”์™€ ์น˜ํ™˜์œผ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์—…๋กœ๋“œ๋˜๋Š” ๊ฒƒ์€ ์—†์œผ๋ฏ€๋กœ ๋ฏธ๊ณต๊ฐœ ์ œ๋ชฉ, ์ดˆ์•ˆ ์ฝ˜ํ…์ธ , ๊ธฐ๋ฐ€ ์ž๋ฃŒ์—๋„ ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.