본문으로 건너뛰기

글자수와 바이트 수 차이 — 한글이 3바이트인 이유

2026년 3월 15일일상 유틸읽는 시간 5분

문자 메시지를 보내다 “바이트 초과” 경고를 본 적 있으신가요? 글자수는 괜찮은데 왜 바이트가 초과될까요? 이 글에서 글자수와 바이트 수의 차이를 쉽게 설명합니다.

글자수와 바이트 수는 다릅니다

글자수는 우리가 눈으로 세는 문자의 개수입니다. “안녕”은 2글자, “Hello”는 5글자이죠.

바이트(Byte)는 컴퓨터가 데이터를 저장하는 단위입니다. 문자를 컴퓨터에 저장할 때 각 글자가 차지하는 실제 용량이 글자마다 다릅니다.

핵심 포인트

영문 1글자 = 1바이트, 한글 1글자 = 3바이트 (UTF-8 기준)
→ “안녕” 2글자 = 6바이트, “Hello” 5글자 = 5바이트

UTF-8 인코딩 기초

컴퓨터는 모든 데이터를 0과 1의 이진수로 저장합니다. 문자를 어떻게 이진수로 변환할지 정한 규칙이 문자 인코딩이고, 현재 웹 표준으로 가장 널리 쓰이는 방식이 UTF-8입니다.

UTF-8은 문자에 따라 1~4바이트를 가변적으로 사용합니다. 자주 쓰이는 영문자는 1바이트로 효율적으로 저장하고, 전 세계 다양한 언어의 글자는 더 많은 바이트를 사용합니다.

문자 종류UTF-8 바이트예시
영문 소문자·대문자1바이트a, b, Z, M
숫자1바이트0, 1, 9
영문 특수문자1바이트!, @, #, $
한글 (완성형)3바이트가, 나, 한, 글
한자3바이트中, 漢, 字
일부 이모지3~4바이트😀, ❤️

왜 한글은 3바이트일까?

한글 자음·모음 조합으로 만들어지는 완성형 글자(가~힣)는 유니코드 코드포인트 범위 U+AC00~U+D7A3에 해당합니다. UTF-8은 이 범위의 글자를 저장하기 위해 3바이트(24비트)가 필요합니다. 영문 알파벳은 128개에 불과해 1바이트(7비트)로 충분하지만, 한글은 11,172개의 완성형 글자를 표현해야 하므로 더 많은 비트가 필요합니다.

SMS/MMS 바이트 제한

문자 메시지에서 “바이트 초과” 경고가 뜨는 이유가 바로 이 때문입니다. SMS와 MMS는 글자수가 아닌 바이트 수로 용량을 제한합니다.

메시지 종류바이트 제한한글 기준 글자수영문 기준 글자수
SMS (단문)90바이트약 30자약 90자
LMS (장문)2,000바이트약 666자약 2,000자
MMS (멀티미디어)제한 없음이미지·동영상 첨부 가능

한글로 문자를 보낼 때 약 30자를 넘으면 LMS(장문)로 발송되어 추가 요금이 발생할 수 있습니다. 통신사마다 기준이 조금씩 다를 수 있으니 확인하세요.

실무에서 바이트 수가 중요한 경우

데이터베이스 컬럼 설계

VARCHAR(100)은 100바이트가 아닌 100글자(MySQL 기준) 또는 100바이트(일부 DB)입니다. 한글을 저장할 DB 컬럼 크기를 설계할 때 바이트 수를 반드시 고려해야 합니다.

API 입력 제한

일부 API는 글자수가 아닌 바이트 수로 입력 제한을 적용합니다. 한글로 가득 찬 내용이 예상보다 일찍 잘릴 수 있습니다.

파일명·URL 인코딩

URL에 한글이 포함되면 퍼센트 인코딩(%ED%95%9C%EA%B8%80)으로 변환되어 한 글자가 9글자로 늘어납니다. URL 길이 제한에 영향을 줍니다.

이메일 제목·본문

이메일 헤더는 바이트 제한이 있어 한글 제목이 길면 인코딩 처리가 필요합니다. 일부 시스템에서 제목이 깨지는 원인이기도 합니다.

글자수·바이트 계산 예시

텍스트글자수바이트 수
Hello5자5바이트
안녕하세요5자15바이트
Hello 안녕8자 (공백 포함)12바이트
2026년5자11바이트 (숫자4+년3+특수문자1 아님, 년=3B)
딱계산.com8자14바이트

* UTF-8 기준. 공백(스페이스)은 1바이트입니다.

결론

글자수는 눈에 보이는 문자 개수, 바이트 수는 컴퓨터가 실제로 저장하는 데이터 크기입니다. 한글은 1글자당 3바이트이기 때문에 같은 글자수라도 바이트 수는 영문의 3배입니다.

딱계산의 글자수 세기 도구에서 공백 포함/제외 글자수와 바이트 수를 실시간으로 확인할 수 있습니다. 문자 메시지, DB 설계, API 개발 등 다양한 상황에서 활용해 보세요.