SNS 글자수 카운터
스레드, X, 인스타에 올릴 글을 입력하면 플랫폼별 남은 글자수를 실시간으로 보여줍니다. 입력한 글은 서버로 전송되지 않습니다.
스레드 (Threads)
사용 0 / 500자
남은 500자
X (트위터)
사용 0 / 280 (가중치)
남은 280
한글·한자·가나·이모지는 2글자로 계산돼 한글만 쓰면 실질 140자입니다. 실제 X 계산과 약간 다를 수 있는 근사치입니다.
인스타 캡션
사용 0 / 2,200자
남은 2,200자
해시태그 0 / 30개
인스타 바이오
사용 0 / 150자
남은 150자
사용법
- 위 입력창에 SNS에 올릴 글을 입력하거나 붙여넣습니다.
- 아래 네 개 카드에서 스레드·X·인스타 캡션·인스타 바이오 기준 사용 글자수와 남은 글자수를 실시간으로 확인합니다.
- 한도를 넘으면 카드의 숫자와 진행 바가 강조 색으로 표시되니 이를 보고 분량을 줄입니다.
- 글을 완성했으면 복사 버튼으로 가져가거나 지우기 버튼으로 입력을 초기화합니다.
이럴 때 꺼내 쓰기 좋습니다
- 스레드에 올릴 글이 500자 한도에 걸리는지 앱에서 붙여넣기 전에 미리 확인하고 넘치면 어디를 줄일지 가늠하고 싶을 때
- X(트위터)에 한글로 글을 쓰면 280자라던 한도가 절반쯤에서 차버리는 이유를 몰라 실제 가중치 기준 사용량을 보고 싶을 때
- 같은 홍보 문구를 스레드·X·인스타에 동시에 올려야 해서 플랫폼별 한도를 한 화면에서 한꺼번에 비교하고 싶을 때
- 인스타 게시물에 해시태그를 잔뜩 붙였는데 30개 제한을 넘었는지 일일이 세기 번거로울 때
- 인스타 프로필 바이오를 새로 다듬는데 150자 한도 안에서 소개·링크 안내 문구가 다 들어가는지 확인하고 싶을 때
플랫폼마다 한도와 세는 법이 다릅니다
인스타그램은 캡션이 2,200자, 프로필 바이오가 150자로 서로 다릅니다. 댓글은 바이오가 아니라 캡션과 같은 2,200자까지 쓸 수 있으니, 150자에 맞춰야 하는 건 바이오뿐입니다. 또 피드에서는 캡션의 앞 125자 정도만 보이고 나머지는 '더 보기'로 접히기 때문에, 하고 싶은 말은 앞쪽에 배치하는 편이 눈에 잘 띕니다.
X(트위터)는 한도가 280자지만 한글·한자·가나 같은 CJK 문자와 이모지를 한 글자당 2로 계산하는 가중치 방식을 씁니다. 그래서 한글로만 쓰면 280의 절반인 140자 부근에서 한도가 찹니다. 반면 스레드는 코드포인트 기준이라 한글도 영문과 똑같이 1자로 세어 500자를 온전히 쓸 수 있습니다. 같은 문구라도 어느 플랫폼에 올리느냐에 따라 실제로 들어가는 분량이 달라지는 이유입니다.
플랫폼마다 글자수를 왜 다르게 세는지, 이모지가 왜 2글자로 세지는지는 스레드·X·인스타 글자수 제한 총정리 가이드에서 실측으로 정리했습니다.
인스타에 올릴 글의 줄바꿈을 유지하고 싶다면 인스타 줄바꿈 도구를, 자기소개서 등 다른 글자수 계산이 필요하다면 글자수 세기 (자소서용) 도구를 이용해 보세요.
이모지 한 개는 몇 자로 세지나 — 셈법 네 가지 비교
"글자수"라는 말에는 서로 다른 셈법이 최소 네 가지 섞여 있습니다. 프로그램이 문자열 길이를 재는 기본값(UTF-16 단위), 유니코드 코드포인트, 사람 눈에 한 글자로 보이는 덩어리(자소), 그리고 X가 쓰는 가중치입니다. 같은 이모지 하나를 두고 이 넷이 얼마나 벌어지는지 직접 세어 봤습니다.
실측은 Node.js 25(MacBook Pro M1 Pro, macOS 26.5.2)에서 돌렸고, 코드포인트와 X 가중치는 위 도구가 쓰는 계산식을 그대로 옮겨 썼습니다. 자소는 브라우저·Node에 기본 내장된 Intl.Segmenter로 셌습니다.
| 입력 | UTF-16 길이 | 코드포인트 | 자소 | X 가중치 |
|---|---|---|---|---|
| 안녕하세요 | 5 | 5 | 5 | 10 |
| hello | 5 | 5 | 5 | 5 |
| 😀 한 개 | 2 | 1 | 1 | 2 |
| 👨👩👧👦 한 개 | 11 | 7 | 1 | 11 |
| 🇰🇷 한 개 | 4 | 2 | 1 | 4 |
| 👍🏻 한 개(피부톤) | 4 | 2 | 1 | 4 |
| 한글 (NFD로 저장된 것) | 6 | 6 | 2 | 12 |
가족 이모지 하나가 코드포인트로는 7자입니다. 사람 넷과 그 사이를 잇는 결합 문자가 한 덩어리로 묶여 하나처럼 보이는 것뿐입니다. 스레드는 코드포인트로 세기 때문에 이 이모지만으로 500자를 채우면 71개에서 한도가 찹니다. 국기 이모지는 지역 표시자 두 개 조합이라 코드포인트 2자, 같은 계산으로 250개가 한도입니다.
맨 아래 줄이 실전에서 가장 자주 사고를 냅니다. 맥의 Finder나 일부 앱에서 복사한 한글은 자음·모음이 분리된 NFD 형태로 붙어 넣어질 때가 있는데, 화면엔 똑같이 "한글" 두 글자로 보이지만 코드포인트로는 6자입니다. 분량을 다 맞춰 놨는데 붙여넣는 순간 한도가 넘치는 일이 여기서 생깁니다. 이 현상의 배경은 맥 자소분리 실측 가이드에 바이트까지 정리해 뒀습니다.
링크를 넣으면 X 계산이 달라집니다
X는 링크 길이를 실제 글자수로 세지 않고 23으로 고정합니다. 이모지와 링크를 섞은 캡션 하나로 재보면 차이가 이렇게 납니다.
본문: 오늘 신제품 출시했습니다 👨👩👧👦 자세한 내용은
https://papernhoney.com/sns-char-count/ 에서 확인해주세요 🇰🇷
코드포인트(스레드·인스타 기준) : 82
링크의 실제 길이 : 39자 → X는 23으로 고정
X 가중치 (링크 고정 적용) : 97
X 가중치 (링크 고정 없이) : 113 링크 하나에서만 16이 차이 납니다. 링크를 여러 개 넣는 글이라면 이 차이가 그대로 쌓이므로, 링크를 실제 글자수로 세는 계산기를 쓰면 실제보다 훨씬 빨리 한도가 찬 것처럼 보입니다. 위 카운터는 링크 23 고정을 반영해 계산합니다.
다만 X의 실제 계산은 문자 구간별 가중치 표를 따르고 그 표는 갱신되기도 합니다. 위 값은 그 표를 CJK·이모지 중심으로 근사한 결과이며, X 서버가 최종적으로 계산하는 값과 몇 단위 차이가 날 수 있습니다. 이 글에서는 X 앱에 실제로 붙여넣어 카운터를 대조하는 검증까지는 하지 못했습니다.
자주 묻는 질문
- 스레드(Threads)는 한글을 입력해도 500자를 다 쓸 수 있나요?
- 네. 스레드는 코드포인트 기준으로 글자수를 세기 때문에 한글도 영문과 똑같이 1자로 계산됩니다. 즉 한글로만 글을 채워도 500자 한도를 그대로 다 사용할 수 있습니다.
- X(트위터)는 왜 한글로 쓰면 실질 140자밖에 안 되나요?
- X는 한도가 280이지만 한글·한자·가나 같은 CJK 문자와 이모지를 글자당 2로 계산하는 가중치 방식을 씁니다. 그래서 한글로만 글을 쓰면 280을 2로 나눈 실질 140자에서 한도가 찹니다.
- 인스타 해시태그는 몇 개까지 달 수 있나요?
- 인스타그램은 게시물 하나에 해시태그를 최대 30개까지 허용합니다. 이 도구는 입력한 해시태그 개수를 세어 30개를 넘으면 숫자를 강조 색으로 표시해 줍니다.
- 입력한 글이 서버로 전송되거나 저장되나요?
- 아니요. 이 도구는 브라우저 안에서만 동작하며 입력한 텍스트는 서버로 전송되지 않습니다. 새로고침 후에도 이어 쓸 수 있도록 브라우저의 localStorage에만 저장됩니다.
- 이모지나 특수문자도 글자수에 포함되나요?
- 네. 스레드와 인스타 캡션·바이오는 이모지를 코드포인트 1자로 계산해 한도에 그대로 포함시킵니다. X에서는 이모지가 한글과 같은 가중치 2로 계산되어 실질 글자수를 더 빨리 채웁니다.