유니코드 정규화

텍스트를 4가지 유니코드 정규화 형식(NFC·NFD·NFKC·NFKD) 사이에서 변환 — 결합 악센트 합치기·분해, fi 합자 같은 호환 유사 문자 접기. 100% 브라우저에서 처리되며 업로드되지 않습니다.

정준 결합(Canonical compose) — 결합 문자를 단일 문자로 합칩니다. 웹 표준 기본값.

정규화 결과

코드 포인트: 0 → 0

모든 형식 비교
NFC0자 · 변화 없음
NFD0자 · 변화 없음
NFKC0자 · 변화 없음
NFKD0자 · 변화 없음

🔒 브라우저의 String.prototype.normalize로 처리되며 업로드되지 않습니다.

유니코드 정규화란

눈에 보이는 같은 텍스트도 서로 다른 코드 포인트 배열로 저장될 수 있습니다. 악센트가 붙은 "é"는 하나의 완성형 문자(U+00E9)일 수도, 기본 문자 "e"와 결합 악센트(U+0065 U+0301)의 조합일 수도 있습니다. 화면에는 똑같아 보이지만 서로 다른 문자열이라 비교·중복 제거·정렬·검색이 어긋납니다. 정규화는 이런 변형을 하나의 표준 배열로 통일해 서로 일치시킵니다. 이 도구는 브라우저 내장 정규화를 적용하고 각 형식의 코드 포인트 수를 함께 보여 주어 어떤 형식이 실제로 텍스트를 바꾸는지 한눈에 알 수 있습니다.

NFC·NFD·NFKC·NFKD 차이

정준(Canonical) 형식인 NFC와 NFD는 문자의 의미를 그대로 유지합니다. NFC는 결합 문자를 완성형으로 합치고(웹과 대부분의 데이터베이스가 기대하는 형식), NFD는 기본 문자와 결합 문자로 분리합니다. 호환(Compatibility) 형식인 NFKC와 NFKD는 한 걸음 더 나아가 시각적으로 비슷한 유사 문자를 평범한 형태로 접습니다 — "fi" 합자는 "fi", "①"은 "1", "½"은 "1⁄2"이 됩니다. 저장·교환에는 NFC, 발음 구별 기호 제거에는 NFD, 검색 색인이나 유사 문자·스푸핑 점검에는 NFK 계열을 사용하세요.

자주 묻는 질문

NFC와 NFD의 차이는 무엇인가요?

NFC는 결합 문자를 완성형 단일 문자로 합칩니다 — "e"와 결합 악센트가 "é"(코드 포인트 1개)가 됩니다. NFD는 반대로 "é"를 "e"와 결합 악센트로 분리합니다. 둘 다 문자 자체는 그대로 두고 인코딩 방식만 다르며, 웹과 데이터베이스에는 보통 NFC를 사용합니다.

NFKC나 NFKD는 언제 사용하나요?

시각적으로 비슷한 문자를 같은 것으로 취급해야 할 때 사용합니다. NFKC와 NFKD는 합자, 원문자, 전각 문자, 분수를 평범한 형태로 접습니다(fi→fi, ①→1, ½→1⁄2). 검색 색인, 사용자명 중복 검사, 유사 문자·스푸핑 점검에 적합합니다. 다만 이 접기는 비가역적이므로 원문을 그대로 다시 표시해야 하는 텍스트에는 맞지 않습니다.

입력한 텍스트가 업로드되나요?

아니요. 정규화는 브라우저 내장 String.prototype.normalize로 전부 처리되며 텍스트는 전송·저장·업로드되지 않아 민감한 내용도 안전합니다.