Unicode 자소 클러스터 검사기
브라우저 처리텍스트를 사람이 보는 글자 단위(자소 클러스터)로 나눠 글자마다 코드 포인트, UTF-16 길이, UTF-8 바이트 수를 보여 줍니다. 👨👩👧👦처럼 여러 코드 포인트로 된 이모지가 왜 길이가 큰지 알 수 있습니다.
- 파일·이미지·문서 처리 도구는 브라우저 안에서 처리되더라도 원본에 개인정보나 민감 정보가 포함될 수 있습니다. 공유·제출 전 원본과 결과를 한 번 더 확인하세요.
JavaScript의 length는 '👨👩👧👦'를 11로, 한글 '한'을 1로 셉니다. 화면에 보이는 한 글자가 실제로는 여러 코드 포인트로 이루어질 수 있기 때문입니다. 이 도구는 브라우저의 Intl.Segmenter로 텍스트를 사람이 인식하는 글자 단위로 나눠 그 구성을 보여 줍니다.
글자(자소 클러스터) 6개 · 코드 포인트 7개 · UTF-16 9 · UTF-8 18바이트 번호 글자 코드 포인트 UTF-16 UTF-8 1 한 U+D55C 1 3 2 글 U+AE00 1 3 3 U+0020 1 1 4 é U+00E9 1 2 5 U+0020 1 1 6 🇰🇷 U+1F1F0 U+1F1F7 4 8
Unicode 자소 클러스터 검사기 사용 가이드
JavaScript의 length는 '👨👩👧👦'를 11로, 한글 '한'을 1로 셉니다. 화면에 보이는 한 글자가 실제로는 여러 코드 포인트로 이루어질 수 있기 때문입니다. 이 도구는 브라우저의 Intl.Segmenter로 텍스트를 사람이 인식하는 글자 단위로 나눠 그 구성을 보여 줍니다.
맨 위에는 전체 글자(자소 클러스터) 수, 코드 포인트 수, UTF-16 길이, UTF-8 바이트 수를 한 줄로 요약합니다. 글자 수 제한이 있는 입력란이나 데이터베이스 길이 제한이 어떤 기준으로 세는지에 따라 결과가 크게 다를 수 있어서입니다.
아래 표에는 글자마다 번호, 실제 글자, 구성 코드 포인트(U+1F468 U+200D …), UTF-16 단위 수, UTF-8 바이트 수가 나옵니다. 국기 이모지가 지역 표시 문자 두 개로, 가족 이모지가 사람 4명과 제로폭 결합자(U+200D)로 이루어진다는 것을 바로 볼 수 있습니다.
사용 방법
- '입력' 칸에 살펴볼 텍스트를 붙여 넣습니다.
- '실행'을 누르면 요약 줄과 글자별 구성 표가 나옵니다.
- 길이 제한 문제를 확인할 때는 요약 줄에서 쓰는 기준(UTF-16, UTF-8)의 값을 봅니다.
예시: 한글, 악센트 문자, 국기 이모지
한글 é 🇰🇷
글자(자소 클러스터) 6개 · 코드 포인트 7개 · UTF-16 9 · UTF-8 18바이트 번호 글자 코드 포인트 UTF-16 UTF-8 1 한 U+D55C 1 3 2 글 U+AE00 1 3 3 U+0020 1 1 4 é U+00E9 1 2 5 U+0020 1 1 6 🇰🇷 U+1F1F0 U+1F1F7 4 8
국기 하나가 지역 표시 문자 2개(K, R)로 이루어져 UTF-16으로 4, UTF-8로 8바이트입니다.
이럴 때 쓰면 좋아요
- 입력란 글자 수 제한이 이모지에서 이상하게 동작하는 원인을 찾을 때
- 데이터베이스 VARCHAR 길이 제한이 바이트 기준인지 글자 기준인지 확인할 때
- 문자열 자르기 코드가 이모지나 결합 문자를 깨뜨리는지 점검할 때
- é처럼 같아 보여도 코드 구성이 다른 글자를 구분할 때
문제가 생겼을 때
é는 하나의 글자(U+00E9)로도, e와 결합 악센트(U+0065 U+0301)로도 쓸 수 있습니다. 통일하려면 Unicode 텍스트 정규화기로 NFC로 바꾸세요.
Intl.Segmenter를 지원하지 않는 브라우저는 코드 포인트 단위로만 나눕니다. 최신 브라우저에서 실행하세요.
활용 팁
- 트위터(X)나 문자 메시지처럼 글자 수를 세는 서비스는 기준이 서로 다릅니다. 이 표의 세 가지 값을 서비스 기준과 비교해 보세요.
- 제어 문자(줄바꿈 등)는 표에서 \u000a처럼 보이게 바꿔 표시합니다.
자주 묻는 질문
사용자가 한 글자로 인식하는 단위입니다. 이모지와 피부색 조합, 국기, 결합 악센트가 붙은 글자처럼 여러 코드 포인트가 모여 하나의 글자가 됩니다.
완성형 한글 '한'은 코드 포인트 하나라 그대로 한 글자로 나옵니다. 자모 단위 분해는 이 도구의 범위가 아닙니다.
아니요. 분석은 브라우저 안에서만 하고 텍스트를 어디에도 보내지 않습니다.