ERROR - Updated 2026-05-15

한글 byte 계산 방법

한글 글자 수와 UTF-8 byte 수가 다른 이유, DB·SMS·SEO 입력 제한에서 byte를 확인하는 방법.

Open Byte / Character Counter

한글 byte 계산은 단순한 글자 수 계산과 다릅니다. UTF-8에서는 한글 한 글자가 보통 여러 byte로 저장되기 때문에, "10글자"와 "10byte"는 같은 의미가 아닙니다. DB 컬럼, SMS, 광고 문구, SEO 문구처럼 길이 제한이 있는 곳에서는 글자 수와 UTF-8 byte를 함께 확인해야 합니다.

증상

  • 화면에서는 짧아 보이는데 저장 시 길이 초과 오류가 납니다.
  • 영문은 저장되지만 한글 상품명이나 고객명이 잘립니다.
  • 이모지나 특수문자를 넣으면 제한을 더 빨리 넘습니다.
  • SEO title은 글자 수 기준으로 맞췄는데 검색 결과에서 잘려 보입니다.

원인

문자 수는 사용자가 보는 글자 개수에 가깝고, byte 수는 시스템이 저장하거나 전송하는 데이터 크기에 가깝습니다. UTF-8에서는 영어 알파벳은 보통 1byte지만, 한글은 보통 3byte로 계산됩니다. 이모지와 일부 특수문자는 더 많은 byte를 사용할 수 있습니다.

텍스트글자 수UTF-8 byte의 의미
abc3영문은 보통 3byte
한글2한글은 보통 6byte
한글A3한글과 영문이 섞이면 byte가 다르게 증가
안녕🙂3이모지는 여러 byte를 차지할 수 있음

바로 해결 방법

  1. 제한 기준이 "글자 수"인지 "byte"인지 먼저 확인합니다.
  2. Byte / Character Counter에 실제 문구를 붙여넣습니다.
  3. 글자 수, 공백 제외 글자 수, UTF-8 byte를 함께 봅니다.
  4. DB나 API라면 컬럼 타입과 문자셋을 확인합니다.
  5. SEO 문구라면 title과 meta description 길이도 따로 점검합니다.

FixData 도구로 확인하기

Byte / Character Counter는 입력 텍스트의 글자 수, 공백 제외 글자 수, 줄 수, UTF-8 byte, SEO title/meta description 길이 상태를 한 번에 보여줍니다. 한글, 일본어, 영어, 이모지가 섞인 문구를 넣어 실제 차이를 비교하기 좋습니다.

도구는 UTF-8 byte 기준을 빠르게 확인하는 용도입니다. 실제 DB 저장 가능 여부는 데이터베이스 문자셋, 컬럼 타입, 애플리케이션 검증 규칙까지 함께 봐야 합니다.

수동 해결 방법

글자 수와 byte 수를 분리해서 보기

입력 제한 문구가 "50자"라고 되어 있어도 내부적으로는 byte 제한일 수 있습니다. 관리자 화면, API 문서, DB 스키마에서 기준을 다시 확인하세요.

UTF-8 byte 기준 잡기

UTF-8 기준으로 한글은 보통 한 글자에 3byte로 잡히지만, 모든 문자가 같은 크기는 아닙니다. 특히 이모지, 결합 문자, 특수기호가 포함되면 예상보다 byte가 커질 수 있습니다.

운영 UI에 남은 길이 표시하기

사용자가 한글을 입력하는 서비스라면 "글자 수"만 보여주기보다 실제 제한 기준에 맞는 남은 byte 또는 저장 가능 여부를 함께 보여주는 편이 안전합니다.

예제

문구:

한글 상품명 테스트

이 문구는 공백을 포함한 글자 수로는 짧아 보이지만, UTF-8 byte로는 더 크게 계산됩니다. DB 컬럼이 byte 기준으로 제한되어 있다면 영문 상품명보다 빨리 제한에 닿을 수 있습니다.

자주 하는 실수

  • 한글 1글자를 1byte로 계산합니다.
  • 화면의 글자 수 제한과 DB 저장 제한이 같다고 가정합니다.
  • 이모지와 특수문자가 byte를 더 차지한다는 점을 놓칩니다.
  • SEO title/meta description을 byte 기준으로만 판단합니다.
  • DB 문자셋과 애플리케이션 검증 규칙을 따로 확인하지 않습니다.

관련 도구

관련 글

업데이트 날짜

2026-05-15