UTF-8/SMS

바이트 계산기

입력한 문장이 몇 바이트인지 확인하고 제출 제한을 맞춰보세요.



글자마다 바이트 수가 다른 이유

바이트는 글자 개수가 아니라 그 글자를 저장할 때 실제로 차지하는 용량입니다. 이 도구는 브라우저의 TextEncoder로 웹 표준 인코딩인 UTF-8을 기준으로 셉니다. UTF-8은 자주 쓰는 영문·숫자를 1바이트로 아주 효율적으로 저장하는 대신, 한글이나 한자처럼 문자가 많은 언어는 한 글자에 3바이트를 씁니다. 그래서 '10글자'라는 말만으로는 몇 바이트인지 알 수 없고, 영문 10자는 10바이트지만 한글 10자는 30바이트가 됩니다. 제출 제한이 '글자 수'가 아니라 '바이트'로 걸려 있으면 이 차이 때문에 예상보다 훨씬 빨리 한도에 걸리게 됩니다.

글자별 실제 바이트 (UTF-8 기준)

  • 영문·숫자·기본 기호(a, Z, 7, @, ! 등): 1바이트
  • 한글 음절 한 글자(가, 안, 힣): 3바이트
  • 한글 자모 단독(ㄱ, ㅏ, ㅢ): 3바이트
  • 한자 및 일본어 가나: 3바이트
  • 전각 기호와 특수문자(…, —, ·, 「」): 대부분 3바이트
  • 일반 이모지(😀, 👍, 🎉): 4바이트
  • 국기·피부톤·가족 등 결합 이모지: 8바이트 이상
  • 공백(스페이스): 1바이트, 줄바꿈: 1~2바이트

실제 문장으로 계산해 보기

예시 문장 '안녕하세요 Kim 님 :)'을 UTF-8로 계산하면, 한글 5자(안녕하세요)는 15바이트, 그 뒤 공백 1바이트, 영문 Kim 3바이트, 공백 1바이트, 님 3바이트, 공백 1바이트, :) 2바이트로 합계 26바이트입니다. 그런데 이 문장의 글자 수는 공백 포함 14자입니다. 즉 14글자짜리 문장이 26바이트로, 거의 두 배 가까이 됩니다. 반대로 '안녕하세요'만 있으면 5글자 15바이트지만, 같은 5글자라도 'Hello'는 5바이트뿐입니다. 이렇게 한글이 섞인 비율에 따라 같은 글자 수라도 바이트가 크게 달라집니다.

UTF-8과 EUC-KR, 같은 글이 왜 다르게 세어질까

인코딩 방식이 다르면 같은 문장도 바이트 수가 달라집니다. UTF-8은 한글을 3바이트로 저장하지만, 예전부터 국내에서 널리 쓰인 EUC-KR(완성형)은 한글을 2바이트로 저장합니다. 예를 들어 '자기소개서'라는 5글자는 UTF-8에서 15바이트, EUC-KR에서 10바이트입니다. 제출 칸에 '500바이트 이내'라고만 적혀 있을 때, 이 500바이트가 UTF-8 기준이면 한글은 약 166자까지, EUC-KR 기준이면 약 250자까지 쓸 수 있어 한 문단 분량이 통째로 차이 납니다. 그래서 제한 바이트를 볼 때는 반드시 어떤 인코딩 기준인지 먼저 확인해야 합니다.

이런 상황에서 써보세요

  • 자기소개서·지원서: '2,000바이트 이내' 같은 항목에서 붙여넣기 전에 초과 여부를 미리 확인합니다. 한글 위주 글은 바이트가 빨리 차므로 여유를 두고 다듬는 것이 좋습니다.
  • 알림톡·앱 푸시 문구: 길이 제한이 빡빡한 발송 문구에서 강조 문구나 이모지를 넣었을 때 몇 바이트가 늘어나는지 점검합니다.
  • DB 필드 설계: 오라클의 VARCHAR2(n BYTE)처럼 바이트 단위로 길이를 잡는 컬럼에서, 한글 이름·주소가 몇 바이트를 차지하는지 확인하고 컬럼 길이를 정합니다. 예를 들어 '가나다라' 4글자는 UTF-8에서 12바이트라 VARCHAR2(10 BYTE)에는 들어가지 않습니다.
  • 레거시 게시판·API: EUC-KR을 쓰는 오래된 시스템에 보낼 데이터의 실제 저장 크기를 가늠할 때 참고합니다.

자주 하는 실수와 오해

  • 글자 수와 바이트를 같은 것으로 착각: 한글이 섞이면 글자 수보다 바이트가 훨씬 큽니다. '몇 자'와 '몇 바이트'는 서로 다른 제한입니다.
  • 줄바꿈을 빼먹고 계산: 엔터(줄바꿈)도 1~2바이트를 차지합니다. 특히 일부 시스템은 줄바꿈을 CR+LF 2바이트로 세므로 문단이 많으면 예상보다 바이트가 늘어납니다.
  • 공백이 공짜라는 오해: 스페이스도 한 칸당 1바이트입니다. 문장 사이 공백이 많으면 그만큼 바이트가 쌓입니다.
  • 이모지 한 개를 1바이트로 생각: 일반 이모지는 4바이트, 국기나 가족 이모지는 8바이트가 넘습니다. 이모지 하나가 한글 세 글자보다 무겁습니다.
  • '…'이나 '—' 같은 특수문자를 가볍게 봄: 마침표 세 개(...)는 3바이트지만 말줄임표 한 글자(…)는 3바이트로, 겉보기와 달리 무거운 문자가 많습니다.

주의사항과 한계

이 도구는 UTF-8 기준으로 계산하므로, 서비스가 EUC-KR이나 다른 인코딩을 쓰면 결과가 다를 수 있습니다. 특히 국내 SMS 표준 문자는 EUC-KR 기준 90바이트(한글 약 45자)로 정해져 있어, UTF-8 계산값과 그대로 비교하면 안 됩니다. 또한 어떤 서비스는 바이트가 아니라 글자 수로 제한하기도 하므로, 안내 문구가 '바이트'인지 '자'인지 먼저 확인하세요. 중요한 제출이나 실제 발송 전에는 해당 입력창이나 발송 콘솔에서 한 번 더 확인하는 것을 권합니다.

개인정보는 안전한가요?

입력한 문장은 브라우저의 TextEncoder로만 계산하며 서버로 전송하거나 저장하지 않습니다. 계산이 끝난 내용은 어디에도 남지 않으므로 지원서 문구나 내부 문서도 안전하게 확인할 수 있습니다.

개인정보처리방침 보기

자주 묻는 질문

한글 한 글자는 몇 바이트인가요?

UTF-8 기준으로 한글 한 글자는 3바이트, 영문·숫자는 1바이트입니다. 다만 EUC-KR(완성형)을 쓰는 서비스에서는 한글이 2바이트로 계산됩니다. 이 도구는 웹 표준인 UTF-8을 기준으로 셉니다.

UTF-8과 EUC-KR 계산이 다른 이유는 뭔가요?

문자를 저장하는 인코딩 방식이 다르기 때문입니다. 같은 한글이라도 UTF-8은 3바이트, EUC-KR은 2바이트로 저장합니다. 예를 들어 '자기소개서' 5글자는 UTF-8에서 15바이트, EUC-KR에서 10바이트입니다. 그래서 '몇 바이트 제한'이 어떤 인코딩 기준인지 확인하는 것이 중요합니다.

글자 수 제한과 바이트 제한은 어떻게 다른가요?

글자 수는 문자의 개수를, 바이트는 저장 용량을 셉니다. 영문 위주 글은 글자 수와 바이트가 비슷하지만, 한글은 한 글자가 3바이트라 차이가 큽니다. '500자'와 '500바이트'는 전혀 다른 한도이니 안내 문구에서 단위를 꼭 확인하세요.

이모지는 몇 바이트인가요?

일반 이모지는 UTF-8에서 대개 4바이트입니다. 국기, 피부톤이 붙은 이모지, 가족 이모지처럼 여러 문자가 결합된 이모지는 8바이트가 넘기도 합니다. 이모지 하나가 한글 세 글자보다 무거울 수 있어, 바이트 제한이 빡빡하면 사용을 줄이는 것이 안전합니다.

줄바꿈이나 공백도 바이트에 포함되나요?

네, 포함됩니다. 스페이스는 한 칸당 1바이트, 줄바꿈은 시스템에 따라 1바이트(LF) 또는 2바이트(CR+LF)입니다. 문단이 많거나 빈 줄이 많으면 눈에 보이지 않는 바이트가 쌓이므로 제한이 아슬아슬할 때는 이 부분도 확인하세요.

문자 메시지(SMS) 바이트 확인에 쓸 수 있나요?

참고용으로는 됩니다. 다만 국내 SMS는 보통 EUC-KR 기준 90바이트(한글 약 45자)를 한도로 하므로, UTF-8로 계산하는 이 도구 값과는 다릅니다. 정확한 SMS 한도는 발송 서비스의 안내를 함께 확인하세요.