Slugify
텍스트모든 텍스트(한자, 악센트, 이모지 포함)를 URL에 안전한 슬러그로 변환합니다. 구분 기호, 대소문자, CJK→병음 음역, 길이 제한을 선택할 수 있으며 실시간 미리보기를 제공합니다.
이 페이지에서
Slugify 도구란?#
Slugify 도구는 사람이 읽을 수 있는 제목을 URL에 안전한 슬러그로 바꿉니다. 웹 주소에서 도메인 뒤에 오는, 간결하고 소문자이며 구두점이 없는 문자열입니다. How to Brew Coffee at Home는 how-to-brew-coffee-at-home이 되고, Café Münchën은 cafe-munchen이 되며, 你好世界는 ni-hao-shi-jie가 됩니다. 슬러그는 블로그·이커머스·문서 시스템이 URL을 염두에 두지 않고 쓴 제목에서 읽을 수 있고 공유 가능하며 SEO에 친화적인 URL을 만드는 방식입니다.
까다로운 부분은 사람들이 실제로 쓰는 문자입니다. 악센트(café), 합자(ß, æ), em 대시와 스마트 인용부호, 그리고 ASCII 표현이 아예 없는 CJK 표의문자. 단순한 “a-z가 아닌 모든 것을 지우기”는 你好世界를 빈 문자열로 만들어 깨진 URL을 만듭니다. 이 도구는 셋 모두 제대로 처리합니다. 악센트가 있는 글자를 분해하고 결합 부호를 벗겨 내고(é → e), 분해되지 않는 라틴 합자를 매핑하며(ß → ss, æ → ae), CJK 표의문자를 성조 없는 병음으로 음차합니다(你好世界 → ni hao shi jie). 그래서 중국어 제목도 의미 있고 발음 가능한 슬러그를 만듭니다.
모든 것은 로컬에서 동작합니다. 병음 사전은 입력이 실제로 CJK를 포함할 때만 로드되므로, 순수 라틴 슬러그는 결코 그 비용을 치르지 않습니다.
사용 방법#
- 왼쪽 입력 창에 제목을 입력하거나 붙여넣습니다.
- 구분 기호 를 고릅니다. 하이픈(기본값) 또는 밑줄.
- 소문자 (기본 켜짐)에 체크하여 출력을 소문자로 접고, 대소문자를 보존해야 하면 해제합니다.
- CJK를 병음으로 음역 (기본 켜짐)에 체크하여 CJK 문자를 성조 없는 병음으로 변환하고, 음역이 아니라 CJK를 제거하고 싶으면 해제합니다.
- 선택적으로 최대 길이 를 설정합니다(0은 무제한). 슬러그가 이를 넘으면 잘리며, URL이 노출된
-로 끝나지 않도록 뒤에 매달린 구분 기호가 다듬어집니다. - 오른쪽 출력 창을 읽습니다. 입력이나 옵션이 바뀌는 순간 슬러그가 나타납니다. 복사 로 가져옵니다.
상태 줄은 슬러그 길이를 보고하고 두 특수 케이스에 표시를 붙입니다. CJK가 음차되었을 때와 최대 길이에 맞춰 잘렸을 때입니다.
주요 기능#
- 악센트·합자 처리. NFKD 분해와 작은 라틴 호환 맵으로
café,Münchën,straße,œuvre를 깨끗한 ASCII(cafe,munchen,strasse,oeuvre)로 바꿉니다. 글자를 통째로 버리는 대신. - CJK를 병음으로. 중국 표의문자는 번들된 사전으로 성조 없는 병음으로 음차되어
你好世界가ni-hao-shi-jie가 됩니다. 비었거나 망가진 슬러그가 아니라 발음 가능하고 의미 있는 슬러그. - 깨끗한 단어 경계. CJK 구간은 구분 기호 패스 전에 공백으로 감싸져 음차된 출력이(
nihao처럼 들러붙는 게 아니라)ni-hao처럼 단어로 나뉩니다. - 깔끔하게 다듬는 길이 상한. 최대 길이는 슬러그를 자른 뒤 매달린 구분 기호를 벗겨내어
-로 끝나는 URL이 생기지 않게 합니다. - 하이픈 또는 밑줄. 플랫폼이 기대하는 구분 기호를 고르세요. 대부분의 현대 웹 슬러그는 하이픈을 쓰지만, 일부 시스템과 파일명 관례는 밑줄을 씁니다.
- 게으른 병음 로드. 병음 사전은 입력이 실제로 CJK를 포함하는 처음일 때만 임포트되어, 올 라틴 슬러그는 결코 그것을 다운로드하지 않습니다.
- 로컬이며 절대 예외를 던지지 않음. 빈 입력은
empty를 보고하고, (예: 이모지만) 모두 벗겨져 없어진 입력은no-output을 보고합니다. 실패는 명확한 메시지가 되지, 예외가 되지 않습니다.
사용 예#
모든 기본값(하이픈 구분 기호, 소문자 켜짐, 음역 켜짐)으로 입력 플레이스홀더의 제목을 붙여넣습니다.
Café Münchën — 你好世界
단계별로:
- CJK가 감지되어
你好世界가ni hao shi jie로 음차됩니다. - 악센트가 벗겨집니다.
Café→Cafe,Münchën→Munchen. - em 대시와 공백이 구분 기호로 축약됩니다.
- 결과가 소문자화되고 선행/후행 구분 기호가 다듬어집니다.
출력 창은 다음을 보여 줍니다.
cafe-munchen-ni-hao-shi-jie
이제 최대 길이 를 20으로 설정하고 다시 생성합니다. 슬러그가 잘리고 매달린 후행 하이픈이 제거됩니다.
cafe-munchen-ni-hao
악센트는 일반 ASCII가 되고, 중국어 제목은 단어로 나뉜 발음 가능한 병음이 되며, 길이 상한은 단어 중간에 끊기거나 노출된 대시로 끝나는 것이 아니라 깨끗한 URL 조각을 만들었습니다.
FAQ#
왜 중국어 제목이 문자로 남지 않고 병음이 되나요?#
URL은 ASCII를 쓸 때 가장 안전하고 이식성이 높기 때문입니다. URL 안의 CJK 문자는 퍼센트 인코딩이 필요하고(각 你는 %E4%BD%A0가 됨) 사람과 많은 분석 도구에 읽을 수 없습니다. 성조 없는 병음은 슬러그를 발음 가능하고 의미 있고 ASCII 전용으로 유지합니다. ni-hao-shi-jie는 퍼센트 기호 나열보다 훨씬 나은 URL입니다. 원래 문자를 그대로 유지하고 싶다면 CJK를 병음으로 음역 을 해제하세요.
이모지와 다른 비영숫자 기호는 어떻게 되나요?#
벗겨집니다. 이모지, 스마트 인용부호, 괄호, 대부분의 구두점은 슬러그 파이프라인을 살아남지 못합니다. 글자가 아니므로 비영숫자 축소 패스가 그것들을 구분 기호로 바꿉니다. 입력이 이모지와 기호 뿐 이라면 모두 벗겨져 도구는 빈 슬러그를 내보내는 대신 no-output을 보고합니다.
하이픈과 밑줄 중 어느 구분 기호를 써야 하나요?#
사람이 읽을 URL에는 하이픈 을 쓰세요. 검색엔진은 하이픈을 단어 구분자로 취급하고, 거의 모든 현대 웹 플랫폼에서 하이픈이 관례입니다. 슬러그가 실제로는 파일명이거나 하이픈을 다른 것(버전 범위, 플래그)에 예약하는 시스템이 소비하는 식별자일 때 밑줄이 적합합니다. 도구는 둘 다 지원하므로 대상이 기대하는 것에 맞추세요.
최대 길이 잘림은 어떻게 동작하나요?#
슬러그를 먼저 전체로 빌드한 뒤 요청된 길이로 자릅니다. 잘림이 단어 중간에 떨어지면 단어는 부분으로 남고, 잘림이 후행 구분 기호를 남기면 그 구분 기호는 다듬어집니다. 이렇게 하면 슬러그가 한계를 넘지 않고 노출된 - 또는 _로 끝나지 않음이 보장되는데, 이것이 URL 필드와 데이터베이스 컬럼 너비가 실제로 요구하는 것입니다.
이것은 URL 인코딩과 같나요?#
아니요, 그리고 그 차이가 중요합니다. URL 인코딩(퍼센트 인코딩)은 문자가 URL 안을 여행할 수 있도록 이스케이프합니다. café는 caf%C3%A9가 됩니다. Slugify는 대신 텍스트를 ASCII 문자와 구분 기호로 정규화합니다. café는 cafe가 됩니다. 슬러그는 URL의 사람이 읽을 수 있는 경로 세그먼트용입니다. 퍼센트 인코딩은 쿼리 문자열에서 임의 값을 안전하게 운반하기 위한 것입니다. 후자가 필요하다면 /en/encoding/url/ 도구를 사용하세요.