트위터 스레드 분할, 번호(1/n)가 글자수를 넘기는 이유

긴 글을 트위터(X) 스레드로 나눌 때 가장 먼저 떠오르는 방법은 "그냥 280자마다 기계적으로 자르면 되지 않을까"입니다. 실제로 해보면 두 가지 문제에 바로 부딪힙니다. 단어 중간이 잘려서 다음 트윗과 어색하게 이어지고, "(1/12)" 같은 번호를 맨 마지막에 붙이면 방금 딱 맞게 채워둔 트윗이 한도를 넘어버립니다.
두 번째 문제가 특히 까다롭습니다. 번호를 붙이는 순간 글자 수 계산 자체가 바뀌어 버리기 때문입니다.
요약 ① 단순히 N자마다 잘라내면 단어 중간이 끊겨 다음 트윗과 부자연스럽게 이어집니다. ② "(9/9)"처럼 나중에 붙이는 번호도 글자 수를 차지하므로, 번호를 붙이고 나서 한도를 넘는 트윗이 생길 수 있습니다. ③ 트윗 개수가 한 자릿수에서 두 자릿수로 바뀌면 번호 표기 길이 자체가 달라져서, "몇 개로 나뉠지"와 "한 트윗에 몇 자가 들어갈지"가 서로를 다시 결정하는 순환 문제가 생깁니다.
단어 중간을 자르면 안 되는 이유
글자 수 한도에 맞춰 기계적으로 뚝뚝 잘라내면, 앞 트윗의 마지막 글자와 다음 트윗의 첫 글자가 원래 하나였던 단어를 반으로 가르게 됩니다. 읽는 사람 입장에서는 문장이 뚝 끊긴 것처럼 느껴지고, 검색이나 인용을 위해 트윗 하나만 따로 떼어 봤을 때 의미가 통하지 않는 경우도 생깁니다.
자연스러운 분할의 원칙은 간단합니다. 지금 채우고 있는 트윗에 다음 단어를 통째로 넣었을 때 한도를 넘는다면, 그 단어는 넣지 않고 다음 트윗으로 넘깁니다. 즉 자르는 기준을 "글자 수"가 아니라 "단어 경계"로 바꾸는 것입니다. 다만 예외가 하나 있습니다 — 공백 없이 아주 긴 URL이나 해시태그처럼 단어 하나 자체가 한도보다 긴 경우입니다. 이때는 어쩔 수 없이 그 단어 안에서 글자 단위로 강제로 나눠야 합니다.
번호를 붙이면 왜 계산을 다시 해야 할까
단어 경계를 지켜서 글을 다 나눴다고 끝이 아닙니다. 각 트윗 끝에 "(1/12)"처럼 순번을 붙이기로 했다면, 이 번호 표기도 트윗 본문과 똑같이 글자 수를 차지합니다. 방금 한도에 딱 맞춰 채운 트윗 뒤에 번호 6~7자를 더 붙이면, 그 트윗은 한도를 넘어버립니다.
그래서 순서가 거꾸로여야 합니다. 먼저 나눈 다음 번호를 붙이는 게 아니라, 번호가 차지할 글자 수만큼 미리 한도에서 빼놓고 그 줄어든 한도로 다시 나눠야 합니다. 그런데 여기서 더 미묘한 문제가 생깁니다. 트윗이 9개면 번호는 "(9/9)" 처럼 6자지만, 다시 나눈 결과 트윗이 10개로 늘어나면 번호는 "(9/10)"처럼 7자가 되어 한 글자가 더 필요합니다. 번호 길이가 늘어나면 한도가 더 줄어들고, 한도가 줄어들면 트윗 개수가 또 늘어날 수 있고, 개수가 두 자릿수에서 세 자릿수로 넘어가면 번호 길이가 또 늘어날 수 있습니다.
즉 "몇 개의 트윗으로 나뉠지"를 알아야 "번호가 몇 자를 차지할지"를 알 수 있는데, 거꾸로 "번호가 몇 자를 차지할지"를 알아야 "몇 개의 트윗으로 나뉠지"를 정확히 계산할 수 있는 순환 관계입니다. 실무에서는 이 값이 몇 번 반복하면 곧 더 이상 바뀌지 않는 값(고정점)에 안정적으로 도달하기 때문에, 나누고 → 번호 길이를 확인하고 → 그 길이만큼 다시 나누는 과정을 몇 차례 반복하는 것으로 충분히 해결할 수 있습니다.
긴 글을 붙여넣으면 단어 경계를 지키며 자동 분할하고, 1/n 번호까지 반영해 한도 초과 여부를 바로 확인할 수 있는 트위터 스레드 분할기

이 도구가 실제로 하는 일
트위터 스레드 분할기는 앞서 설명한 두 원칙을 그대로 구현합니다. "원본 글" 입력창에 텍스트를 붙여넣으면 단어 경계를 지키면서 트윗당 한도 이내로 나누고, 한 단어가 한도보다 길 때만 예외적으로 글자 단위로 쪼갭니다.
"1/n 넘버링 붙이기"를 켜면, 나눈 트윗 개수를 기준으로 번호 표기 길이를 계산해 그만큼 한도에서 뺀 뒤 다시 나누고, 그 결과로 트윗 개수나 번호 자릿수가 바뀌면 값이 더 이상 바뀌지 않을 때까지 이 과정을 다시 반복합니다. 그래서 번호를 붙인 뒤에 뒤늦게 한도를 넘는 트윗이 생기지 않습니다.
한 가지 명확히 해둘 점이 있습니다. 이 도구의 "트윗당 최대 글자수"는 사용자가 직접 지정하는 순수 글자 수 기준이며, 기본값은 280이지만 트위터(X)가 실제로 적용하는 링크·이모지·한글에 대한 세부 가중치 계산까지 그대로 재현하는 것은 아닙니다. 트위터에 실제로 게시했을 때 정확히 몇 자로 계산되는지는 트위터 자체의 글자 수 카운터로 별도 확인하는 것이 가장 정확하며, 이 도구는 "이미 알고 있는 글자 수 한도 안에서 어떻게 자연스럽게 나눌 것인가"라는 분할 문제만을 다룹니다. 결과 화면에서는 트윗마다 "n번 트윗 · 실제글자수/한도자"가 표시되고, 한도를 넘긴 트윗이 있으면 그 트윗만 빨간색 글자로 즉시 표시됩니다. 전체를 한 번에 복사하고 싶으면 "전체 복사" 버튼을, 트윗 하나씩 복사하고 싶으면 각 트윗 옆의 복사 버튼을 누르면 됩니다.
정리
- 글자 수 한도에 맞춰 기계적으로 자르면 단어 중간이 끊겨 다음 트윗과 부자연스럽게 이어지므로, 단어 경계를 기준으로 나눠야 합니다.
- "(1/12)" 같은 번호도 글자 수를 차지하므로, 나눈 뒤에 번호를 붙이면 한도를 넘는 트윗이 생길 수 있습니다.
- 트윗 개수의 자릿수가 바뀌면 번호 표기 길이도 바뀌어, 개수와 번호 길이가 서로를 다시 결정하는 순환 관계가 생깁니다 — 몇 차례 반복 계산으로 안정된 값을 찾아야 합니다.
- 이 도구의 글자 수 한도는 사용자가 지정하는 순수 글자 수 기준이며, 트위터의 실제 링크·이모지 가중치 계산까지 재현하지는 않습니다.
- 트위터 스레드 분할기는 단어 경계 유지와 번호 길이 재계산을 자동으로 처리하고, 한도를 넘긴 트윗만 즉시 빨간색으로 표시해 줍니다.
긴 글을 붙여넣으면 단어 경계를 지키며 자동 분할하고, 1/n 번호까지 반영해 한도 초과 여부를 바로 확인할 수 있는 트위터 스레드 분할기
자주 묻는 질문
이 도구가 트위터의 실제 글자 수 계산 규칙(한글·이모지·링크 가중치)까지 반영하나요?
아니요. 이 도구는 사용자가 지정한 "트윗당 최대 글자수"를 기준으로 순수 글자 수만 세어 나눕니다. 트위터가 실제로 링크를 고정 길이로 바꾸거나 일부 문자를 다르게 계산하는 세부 규칙까지 그대로 재현하지는 않습니다. 실제 게시했을 때의 정확한 글자 수는 트위터 자체의 글자 수 카운터로 확인하는 것이 가장 정확합니다.
번호를 붙이면 트윗이 한도를 넘을 수도 있나요?
이 도구 안에서는 아닙니다. 번호 표기 길이만큼 미리 한도에서 빼고 다시 나누는 과정을 값이 안정될 때까지 반복하기 때문에, 도구가 최종적으로 보여주는 결과에서는 번호를 포함해도 한도를 넘지 않습니다. 다만 도구 없이 직접 손으로 나눈 뒤 번호를 마지막에 붙이면 이 문제가 그대로 발생할 수 있습니다.
어떤 트윗은 왜 한도를 다 채우지 못하고 짧게 끝나나요?
단어 경계를 지키기 때문입니다. 다음 단어를 통째로 넣으면 한도를 넘기는 상황이라면, 그 단어를 억지로 쪼개 넣지 않고 다음 트윗으로 넘깁니다. 그 결과 한도를 살짝 못 채운 채로 끝나는 트윗이 생길 수 있는데, 이는 단어가 잘리는 것을 막기 위한 의도된 동작입니다.
트윗당 글자 수 한도를 280이 아닌 다른 값으로 바꿀 수도 있나요?
네, 가능합니다. "트윗당 최대 글자수" 입력란은 기본값이 280이지만 직접 다른 숫자로 바꿀 수 있습니다. 더 짧게 끊어서 여유를 두고 싶거나 다른 플랫폼 기준에 맞추고 싶을 때 이 값을 조정하면 됩니다.
