바이트 수 계산기
입력하면 UTF-8·EUC-KR 바이트가 실시간으로 잡힙니다.
🔒 모두 브라우저 안에서 계산 · 서버 전송 없음
웹·DB 기본
레거시·문자발송
한글이 섞일수록 두 값이 벌어집니다
설명
텍스트의 글자 수와 UTF-8·EUC-KR 인코딩 기준 바이트 수를 계산합니다. DB 컬럼 길이, 문자 제한 확인에 유용합니다.
관련 도구
글자 바이트 수 계산기는 입력한 텍스트가 UTF-8 또는 EUC-KR 인코딩 기준으로 몇 바이트인지 즉시 알려주는 개발·실무 도구입니다. 데이터베이스 컬럼 길이 설계, SMS·알림톡 발송 시 바이트 초과 여부 확인, API 요청 본문 크기 검증 등 실제 개발 업무에서 자주 마주치는 상황에 바로 활용할 수 있습니다. 한글 한 글자의 바이트 수가 인코딩마다 다르기 때문에 숫자로 정확히 확인하는 것이 중요합니다.
사용 방법
텍스트 입력창에 확인할 문자열을 붙여넣거나 직접 입력합니다. 입력하는 즉시 UTF-8과 EUC-KR 두 기준의 총 바이트 수가 글자 수(문자 수)와 함께 자동으로 표시됩니다. UTF-8 기준으로 한글 1글자는 3바이트, 영문·숫자·공백은 1바이트입니다. EUC-KR은 한글 1글자가 2바이트, 영문은 1바이트입니다. 예를 들어 '안녕하세요'는 UTF-8로 15바이트, EUC-KR로 10바이트가 됩니다.
이럴 때 유용해요
MySQL의 VARCHAR(255)는 바이트가 아니라 문자 수 기준이지만, 레거시 시스템이나 일부 NoSQL에서는 바이트 단위로 컬럼 크기를 제한합니다. 이런 경우 실제 데이터 크기를 미리 파악하지 않으면 저장 시 오류가 발생합니다. 또한 카카오 알림톡은 메시지 1건당 한글 기준 최대 1,000자(약 2,000바이트), 일반 SMS는 보통 90바이트(한글 약 45자) 이내여야 단문으로 처리됩니다. HTTP API를 직접 호출할 때 Content-Length 헤더 값을 수동으로 계산해야 하는 상황에서도 이 도구가 빠른 확인 수단이 됩니다.
자주 하는 실수
len() 함수나 글자 수 카운터만 믿고 바이트를 글자 수와 같다고 착각하는 경우가 많습니다. 한글이 섞인 문자열에서 글자 수와 바이트 수는 완전히 다릅니다. 이모지(이모티콘)는 UTF-8에서 4바이트로 처리되므로 이모지가 포함된 텍스트는 예상보다 바이트 수가 크게 늘어납니다. EUC-KR에서 지원하지 않는 특수 한자나 이모지는 인코딩이 불가능하거나 깨지므로, 현대 시스템에서는 UTF-8을 기본 인코딩으로 사용하는 것이 안전합니다.
자주 묻는 질문
한글 1글자가 UTF-8에서 3바이트인 이유는 무엇인가요?
EUC-KR과 CP949는 다른 건가요?
JavaScript에서 문자열 바이트 수를 코드로 확인하려면 어떻게 하나요?
공백이나 줄바꿈도 바이트를 차지하나요?
SMS 90바이트 제한을 정확히 지키려면 어떻게 해야 하나요?
개인정보처리방침
모든 처리는 브라우저 내부에서만 수행되며 입력값·파일은 서버로 전송·저장되지 않습니다. 광고: Google AdSense(쿠키 사용 가능, 설정). 문의 kjh920424@gmail.com
바이트 수 계산기 사용법
입력창에 텍스트를 붙여넣거나 타이핑하면 UTF-8과 EUC-KR 두 인코딩의 바이트 수가 실시간으로 함께 표시됩니다. 글자 수(문자 개수)만 세는 일반 글자수 세기와 달리, 이 도구는 "실제 저장·전송될 때 차지하는 바이트"를 계산합니다. 한글이 섞인 문장에서 두 값이 크게 벌어지는 이유를 눈으로 확인할 수 있어, DB 컬럼 길이나 문자 발송 한도를 맞출 때 특히 유용합니다.
UTF-8과 EUC-KR 바이트 계산 원리
같은 글자라도 인코딩 방식에 따라 차지하는 바이트가 다릅니다. 영문 알파벳·숫자·기본 기호는 두 방식 모두 1바이트지만, 한글 한 글자는 UTF-8에서 3바이트, EUC-KR(확장 규격 CP949 포함)에서 2바이트를 씁니다. 이 차이 때문에 "안녕하세요"는 UTF-8로 15바이트, EUC-KR로 10바이트가 됩니다.
| 문자 종류 | UTF-8 | EUC-KR |
|---|---|---|
| 영문·숫자·기본기호 | 1바이트 | 1바이트 |
| 한글 완성형 1글자 | 3바이트 | 2바이트 |
| 이모지(😀 등) | 4바이트 | 표현 불가 |
EUC-KR은 이모지나 일부 특수문자를 표현하지 못하므로, 이런 문자가 포함되면 실제 시스템에서는 물음표(?)로 깨지거나 오류가 납니다. 이 계산기는 그런 상황을 미리 파악하는 데 도움이 됩니다.
이럴 때 씁니다
문자메시지(SMS)는 관례적으로 90바이트를 넘으면 LMS(장문)로 전환되는데, 발송 시스템이 EUC-KR 기준인지 UTF-8 기준인지에 따라 들어가는 글자 수가 달라집니다. 한글 45자는 EUC-KR로 90바이트라 SMS에 딱 맞지만 UTF-8로는 135바이트라 초과합니다. 또 데이터베이스 VARCHAR가 바이트 단위로 길이를 제한하는 경우(예: 구형 오라클, 일부 MySQL 설정), 컬럼에 넣을 문자열이 한도를 넘는지 미리 확인할 수 있습니다. 구형 게시판·ERP 등 EUC-KR을 쓰는 레거시 시스템에 데이터를 옮길 때도 깨짐 여부를 점검하기 좋습니다.
활용 팁
입력한 텍스트의 UTF-8 바이트를 3으로 나누면 대략적인 한글 글자 수를, EUC-KR 바이트를 2로 나누면 순수 한글일 때의 글자 수를 가늠할 수 있습니다. 영문과 한글이 섞였다면 UTF-8 값에서 EUC-KR 값을 뺀 차이가 곧 "한글 글자 수"와 같아집니다(한글 1자당 UTF-8 3바이트 − EUC-KR 2바이트 = 1바이트 차이). 공백과 줄바꿈도 바이트로 계산되니, 한도에 아슬아슬할 때는 불필요한 공백부터 줄이세요.
자주 묻는 질문
글자 수와 바이트 수는 왜 다른가요?
글자 수는 문자 개수를 그대로 세지만, 바이트 수는 그 문자를 컴퓨터가 저장·전송할 때 쓰는 용량입니다. 한글 한 글자는 UTF-8에서 3바이트를 차지하므로, 5글자가 15바이트가 되는 식으로 값이 달라집니다.
SMS 90바이트는 어느 기준인가요?
국내 문자 발송은 전통적으로 EUC-KR 기준 90바이트(한글 45자 또는 영문·숫자 90자)를 단문 한도로 삼는 경우가 많습니다. 다만 발송 대행사마다 처리 방식이 다를 수 있으니, 이 도구의 EUC-KR 값을 참고하되 최종 한도는 사용하는 발송 서비스에서 확인하세요.
이모지를 넣으면 왜 EUC-KR 값이 이상한가요?
EUC-KR은 이모지를 지원하지 않는 인코딩입니다. 그래서 이모지가 포함되면 실제 시스템에서는 저장 시 깨지거나 대체 문자로 바뀝니다. 이모지를 쓸 예정이라면 UTF-8을 사용하는 환경인지 먼저 확인해야 합니다.
계산은 어디서 이뤄지나요?
입력한 텍스트는 브라우저 안에서만 처리되어 바이트가 계산되며, 서버로 전송되지 않습니다.
자주 쓰신다면 Ctrl+D로 즐겨찾기에 담아두세요.