글자수 세기
글자 수·단어 수·줄 수를 실시간 카운트
X 글자수: 한글·한자·가나·이모지 2, 영문·숫자 1, 링크 23
처리 중…
0.0
멈춘 것이 아닙니다. 계산이 끝나면 결과가 표시됩니다.
글자수 세기 소개
이 도구는 공백 포함 글자수, 공백 제외 글자수, 단어(어절) 수, 줄 수와 함께 UTF-8 바이트, EUC-KR 바이트, X(트위터) 가중 글자수를 보여 줍니다. 글자는 Intl.Segmenter의 「자소 클러스터(grapheme)」 단위로 세기 때문에, 가족 이모지 👨👩👧👦처럼 여러 코드 포인트가 이어 붙은 문자도 1자로 셉니다. 같은 문자열을 JavaScript의 .length로 재면 11이 나옵니다.
문제는 「글자수」의 정의가 제출처마다 다르다는 점입니다. 자기소개서 입력창, 원고지, X(트위터), 예전 전산 시스템은 서로 다른 규칙으로 셉니다. 아래에서 그 차이와, 이 도구의 숫자를 어느 쪽에 맞춰 읽어야 하는지 설명합니다.
자기소개서: 공백 포함인지, 바이트인지 먼저 확인
채용 사이트의 자기소개서 칸은 대부분 공백과 줄바꿈을 포함해 셉니다. 그러니 「1,000자 이내」라면 이 도구의 공백 포함 숫자를 기준으로 삼는 편이 안전합니다. 다만 줄바꿈을 몇 자로 치는지는 사이트마다 달라서, 한도에 딱 맞춰 쓰면 제출 단계에서 몇 글자가 넘치는 경우가 있습니다. 여유를 10~20자 남겨 두세요.
일부 기관·공공 시스템은 「byte」로 제한을 겁니다. 이때는 글자수와 전혀 다른 숫자가 됩니다. 옛 한글 인코딩 EUC-KR(KS X 1001)에서 한글 한 글자는 2바이트, 영문·숫자·공백은 1바이트입니다. 오늘날 웹 표준인 UTF-8에서는 한글이 3바이트입니다. 같은 「안녕하세요 반갑습니다」(11자)가 EUC-KR로는 21바이트, UTF-8로는 31바이트입니다. 입력창에 「2,000byte」라고 적혀 있으면 한글만 쓸 때 대략 1,000자(EUC-KR 기준) 또는 약 666자(UTF-8 기준)라는 뜻입니다. 이 도구는 두 바이트 수를 모두 보여 줍니다. 줄바꿈은 1바이트(LF)로 세는데, 줄바꿈을 CRLF 2바이트로 세는 사이트도 있으니 최종 기준은 해당 사이트의 카운터로 보세요.
원래 EUC-KR(KS X 1001)은 완성형 한글 2,350자만 담고 있어서 「똠」, 「쌰」 같은 글자는 표현하지 못합니다. 오래된 시스템에 붙여 넣었을 때 특정 글자가 ?로 바뀐다면 이 때문입니다. 이 도구의 EUC-KR 바이트는 브라우저와 Windows가 「EUC-KR」로 쓰는 확장 완성형(CP949) 기준이라 한글 11,172자를 모두 2바이트로 셉니다. 이모지처럼 EUC-KR로 아예 표현할 수 없는 문자는 바이트 수에서 빼고, 아래에 어떤 문자인지 따로 표시합니다.
원고지는 글자가 아니라 칸을 센다
원고지 분량은 「몇 자」가 아니라 「몇 칸을 차지했나」로 계산합니다. 문단 첫 칸 들여쓰기, 줄 끝에서 남는 빈칸, 문장부호가 차지하는 칸까지 분량에 들어갑니다. 그래서 공백 포함 글자수보다 원고지 매수가 항상 조금 많이 나옵니다. 200자 원고지 10매 과제를 이 도구로 맞춘다면 공백 포함 1,800자 안팎에서 멈추고 실제 원고지 배치로 확인하는 것이 현실적입니다.
X(트위터) 280자는 한글에 140자
X 개발자 문서에 따르면 게시물은 가중치 합이 280 이하여야 하고, 한국어·중국어·일본어 문자는 1자를 2로, 라틴 문자·문장부호·일반 기호는 1로 셉니다. 이모지는 피부색이나 ZWJ 결합과 상관없이 2, URL은 길이와 무관하게 t.co 단축 주소 기준 23으로 계산합니다. 한글만 쓰면 140자가 한도입니다.
이 도구의 「X 글자수」는 이 규칙(twitter-text 방식)대로 계산하고, 280을 넘으면 숫자를 빨갛게 표시합니다. 예를 들어 한글 100자와 영문·공백 60자면 100×2+60=260으로 통과, 여기에 링크 하나를 붙이면 260+1(공백)+23=284로 넘칩니다. 링크는 http:// 또는 www.로 시작하는 주소와 .com·.kr 같은 흔한 도메인으로 끝나는 주소를 알아봅니다.
이 도구가 세는 방식의 세부
공백 제외 글자수는 JavaScript 정규식 \s에 해당하는 문자를 모두 지운 뒤 셉니다. 여기에는 스페이스, 탭, 줄바꿈뿐 아니라 줄바꿈 없는 공백(NBSP, U+00A0)과 전각 공백(U+3000)도 들어갑니다. 반면 폭이 없는 공백(ZWSP, U+200B)은 공백으로 치지 않아 글자로 셉니다. 웹에서 복사한 글의 공백 제외 숫자가 예상보다 1~2자 많다면 이런 보이지 않는 문자가 섞였을 가능성이 있습니다.
단어 수는 공백으로 나뉜 덩어리 수입니다. 한국어에서는 어절 수이고, 띄어쓰기를 하지 않는 일본어·중국어 문장은 한 문장 전체가 1단어로 나옵니다. 줄 수는 줄바꿈 기호 개수에 1을 더한 값이라, 마지막에 Enter를 한 번 더 누르면 빈 줄 하나가 더 세어집니다.
Windows에서 만든 텍스트의 줄바꿈 CRLF(\r\n)는 유니코드 자소 규칙상 한 덩어리라서 공백 포함 숫자에 1자로 들어갑니다. .length로 세는 다른 카운터는 이를 2자로 셀 수 있어, 줄이 많은 글에서는 두 도구의 숫자가 줄 수만큼 차이 납니다.
예시
두 줄짜리 자기소개서 문장
- 입력
저는 성실한 사람입니다. 지원 동기는 다음과 같습니다.- 결과
공백 포함 30 / 공백 제외 24 / 단어 7 / 줄 2
첫 줄 13자, 줄바꿈 1자, 둘째 줄 16자로 30자입니다. 공백 5개와 줄바꿈 1개를 빼면 24자입니다. EUC-KR 바이트로는 한글 22자×2 + 나머지 8자×1 = 52바이트가 됩니다(줄바꿈을 LF 1바이트로 칠 때).
보이지 않는 문자가 섞인 경우
- 입력
a[NBSP]b[ZWSP]c (U+00A0, U+200B 포함)- 결과
공백 포함 5 / 공백 제외 4 / 단어 2
NBSP는 공백으로 인정돼 빠지지만 ZWSP는 남아 1자로 셉니다. 화면에는 「a bc」로 보여도 단어는 2개, 글자는 4자입니다.
이모지와 결합 문자
- 입력
👨👩👧👦- 결과
공백 포함 1
코드 포인트 7개(사람 4 + ZWJ 3), UTF-16 코드 유닛 11개, UTF-8 25바이트지만 화면에서 한 글자로 보이므로 1자로 셉니다. X에서는 2로 계산됩니다.
사용 방법
- 텍스트를 입력칸에 붙여 넣거나 직접 씁니다.
- 입력하는 동안 글자수·바이트·X 글자수가 바로 바뀝니다.
- 제출처 규칙(공백 포함·제외, 바이트, 가중치)에 맞는 숫자를 골라 봅니다.
자주 묻는 질문
자소서 사이트와 글자수가 몇 자 다르게 나와요.
대개 줄바꿈 처리 차이입니다. 사이트가 줄바꿈을 2자(CRLF)로 세거나 아예 빼고 세면 줄 수만큼 차이가 납니다. 최종 제출은 사이트 카운터 기준으로 맞추세요.
바이트 수도 볼 수 있나요?
네. UTF-8 바이트와 EUC-KR 바이트를 함께 보여 줍니다. 한글은 EUC-KR 2바이트, UTF-8 3바이트이고 영문·숫자·공백은 두 방식 모두 1바이트입니다.
일본어 문장은 단어 수가 1로 나와요.
단어를 공백으로만 나누기 때문입니다. 일본어·중국어는 글자수를 기준으로 보세요.
X에 올릴 글이 280자 안에 드는지 알 수 있나요?
네. 「X 글자수」가 한글·한자·가나 2, 영문·숫자·공백·문장부호 1, 이모지 2, 링크 23으로 더한 값이고, 280을 넘으면 빨갛게 바뀝니다.
관련 가이드
출처
- X Developer Platform — Counting characters
- Unicode UAX #29 — Text Segmentation (grapheme cluster)
- WHATWG Encoding Standard — EUC-KR
- MDN — Intl.Segmenter
기준일: