한글 바이트 계산기
한글 문장이 UTF-8과 EUC-KR에서 각각 몇 바이트인지 한 번에 비교하세요.
EUC-KR 값은 완성형 기준 근사치입니다. 중요한 제출 전에는 실제 입력창에서도 확인하세요.
바이트가 인코딩마다 달라지는 이유
글자수는 눈에 보이는 문자 개수지만, 바이트는 그 문자를 컴퓨터가 저장할 때 실제로 쓰는 공간입니다. 영어와 숫자는 어떤 방식이든 한 글자당 1바이트지만, 한글은 저장 방식(인코딩)에 따라 크기가 달라집니다. 오늘날 웹 표준인 UTF-8에서는 한글 한 글자가 3바이트를 차지하고, 오래된 완성형 인코딩인 EUC-KR에서는 2바이트를 차지합니다. 그래서 똑같은 '안녕하세요'라도 UTF-8에서는 15바이트, EUC-KR에서는 10바이트로 값이 다릅니다. 이 도구는 같은 문장을 두 기준으로 동시에 계산해, 어느 쪽 제한이든 바로 맞춰볼 수 있게 해줍니다.
직접 계산해보기: 문장별 바이트
- 안녕하세요 (한글 5자): UTF-8 = 5×3 = 15바이트, EUC-KR = 5×2 = 10바이트
- 택배 3개 도착 (한글 5자 + 공백·숫자 3개): UTF-8 = 5×3 + 3 = 18바이트, EUC-KR = 5×2 + 3 = 13바이트
- 주문번호: 20260719-001 (한글 4자 + 나머지 14자): UTF-8 = 4×3 + 14 = 26바이트, EUC-KR = 4×2 + 14 = 22바이트
- 공식은 단순합니다. UTF-8 = (한글 글자수 × 3) + (영문·숫자·기호 개수 × 1), EUC-KR = (한글 글자수 × 2) + (영문·숫자·기호 개수 × 1) 입니다. 이모지는 UTF-8에서 대개 4바이트이며, EUC-KR로는 아예 표현되지 않습니다.
이 계산이 실제로 필요한 순간
바이트 계산은 '글자수 제한'이 아니라 '바이트 제한'이 걸린 곳에서 필요합니다. 대표적으로 문자 발송(SMS/LMS), 오래된 게시판·관공서 지원서의 입력창, 그리고 데이터베이스 컬럼 길이 설계입니다. 예를 들어 데이터베이스에서 이름 칸을 VARCHAR2(20 BYTE)로 잡았다면, UTF-8 환경에서는 한글이 6자(18바이트)까지만 안전하게 들어가고 7자는 21바이트가 되어 저장에 실패합니다. 같은 20바이트라도 EUC-KR이라면 한글 10자까지 들어갑니다. 글자수로만 생각하면 '20자니까 괜찮겠지' 하다가 실제 저장에서 잘리는 사고가 여기서 생깁니다.
SMS 90바이트와 글자수의 관계
국내 SMS 단문은 보통 EUC-KR 90바이트를 기준으로 합니다. EUC-KR에서 한글이 2바이트이므로 90바이트는 한글 45자, 영문·숫자만이면 90자에 해당합니다. 이 한도를 넘으면 요금과 형식이 다른 LMS(장문)로 전환됩니다. 문제는 발신 표기나 링크가 섞일 때입니다. 예를 들어 순수 한글 50자짜리 안내 문구는 EUC-KR 100바이트라서 이미 90바이트를 10바이트(한글 5자) 초과합니다. 단문으로 보내려면 5자를 줄여야 45자에 맞습니다. 이렇게 '몇 글자를 줄여야 단문이 되는지'를 두 인코딩 값으로 미리 가늠할 수 있습니다.
자주 하는 실수와 오해
- 글자수와 바이트를 같은 것으로 보는 실수: 한글 10자는 UTF-8에서 30바이트, EUC-KR에서 20바이트입니다. '10자 = 10바이트'가 아닙니다.
- 공백을 안 센다고 생각하는 오해: 띄어쓰기와 줄바꿈도 각각 1바이트입니다. 문장이 길어지면 공백만으로도 수 바이트가 쌓입니다.
- 이모지를 1~2바이트로 어림하는 오해: 이모지는 UTF-8에서 보통 4바이트이고, 일부는 여러 코드가 결합돼 더 커집니다. 짧은 문구에 이모지 몇 개만 넣어도 바이트가 훌쩍 늘어납니다.
- 제한 기준을 확인하지 않는 실수: 같은 '90바이트'라도 시스템이 UTF-8 기준인지 EUC-KR 기준인지에 따라 들어가는 한글 글자수가 15자나 차이 납니다.
주의사항과 한계
- EUC-KR 계산은 완성형(현대 한글) 기준의 근사치입니다. 옛한글 자모나 완성형에 없는 일부 문자는 실제 저장 바이트가 다를 수 있습니다.
- 이모지·일부 특수문자·일부 한자는 EUC-KR로 표현되지 않아, EUC-KR을 쓰는 시스템에서는 글자가 깨지거나 물음표로 바뀔 수 있습니다.
- 이 도구는 바이트 크기만 계산합니다. 실제 SMS/LMS 요금, DB 저장 성공 여부는 각 서비스의 정책과 설정에 따라 달라지므로 최종 한도는 해당 안내에서 확인하세요.
- 제한이 어떤 인코딩 기준인지 애매하면, 더 큰 값이 나오는 UTF-8 기준에 맞춰 두는 편이 대부분의 환경에서 안전합니다.
입력한 문장은 브라우저에서만 바이트를 계산하며 서버로 전송하거나 저장하지 않습니다. 계산이 끝난 내용은 어디에도 남지 않습니다.
개인정보처리방침 보기 →자주 묻는 질문
한글은 UTF-8에서 몇 바이트인가요?
UTF-8에서 한글 한 글자는 3바이트이고, 영어·숫자·기본 기호는 1바이트입니다. 같은 한글이 EUC-KR에서는 2바이트입니다. 그래서 '안녕' 두 글자는 UTF-8에서 6바이트, EUC-KR에서 4바이트가 됩니다.
왜 UTF-8과 EUC-KR 두 값을 같이 보여주나요?
요즘 서비스는 대부분 UTF-8을 쓰지만, 문자 발송 시스템이나 오래된 게시판·관공서 양식은 EUC-KR 기준을 쓰는 곳이 남아 있습니다. 제한이 어느 기준인지 확실하지 않을 때 두 값을 함께 보면 어느 쪽이든 안전하게 맞출 수 있습니다.
SMS는 몇 바이트까지 단문으로 보내지나요?
국내 SMS 단문은 보통 EUC-KR 90바이트를 기준으로 하며, 한글은 45자, 영문·숫자는 90자에 해당합니다. 이 한도를 넘으면 LMS(장문)로 전환됩니다. 발신 표기나 링크가 붙으면 그만큼 바이트가 줄어드니 정확한 한도는 발송 서비스 안내를 함께 확인하세요.
글자수 제한과 바이트 제한은 어떻게 다른가요?
글자수 제한은 문자 개수만 세고, 바이트 제한은 인코딩된 실제 저장 크기를 셉니다. 한글은 한 글자가 여러 바이트라서, 글자수로는 여유가 있어도 바이트로는 초과할 수 있습니다. 문자 발송이나 데이터베이스 저장은 대개 바이트 기준입니다.
이모지는 바이트로 얼마나 차지하나요?
이모지는 UTF-8에서 보통 4바이트를 차지하고, 피부색이나 조합형 이모지는 더 커지기도 합니다. 또 EUC-KR에서는 이모지를 표현하지 못해 깨질 수 있으니, EUC-KR 기준 시스템에 보낼 문구에는 이모지를 넣지 않는 편이 안전합니다.
입력한 내용이 서버에 저장되나요?
아니요. 모든 계산은 브라우저 안에서만 이루어지며, 입력한 문장은 서버로 전송하거나 저장하지 않습니다. 개인정보나 발송 예정 문구를 붙여넣어도 외부로 나가지 않습니다.