이 도구는 무엇을 하나요?
입력한 텍스트를 지정한 횟수만큼 이어 붙여 하나의 결과로 만들어 줍니다. 마크다운 문서의 구분선이나 게시글 머리·꼬리를 꾸미는 기호 줄, 발표자료의 점선, 폼 테스트용 더미 문자열, 길이 제한 점검용 긴 문자열을 손으로 복사·붙여넣기 하지 않고 만들 때 씁니다. 동작은 아주 단순해서 "텍스트를 N번 넣고 그 사이에 구분자를 끼워 넣는다"가 전부이며, 그래서 결과를 예측하고 검산하기도 쉽습니다.
동작 원리와 결과 길이 계산
내부적으로는 길이 N인 배열에 같은 텍스트를 채운 뒤 구분자로 합칩니다. 따라서 구분자는 항목 사이에만 들어가고 맨 끝에는 붙지 않습니다. 결과 길이는 텍스트 길이 × N + 구분자 길이 × (N − 1)입니다. 반복 횟수는 1~1,000 범위로 고정되며, 범위를 벗어나거나 비어 있으면 가까운 값으로 보정하고 그 사실을 화면에 알려줍니다. 결과가 지나치게 길어 브라우저가 느려지는 것을 막기 위해 총 20만 글자(UTF-16 단위)를 넘기지 않도록 횟수를 자동으로 줄이며, 이때도 안내 문구가 표시됩니다.
입력 길이와 반복 횟수에 따른 결과 길이 (구분 없음, 빌드 시 계산)
| 입력 길이 (UTF-16 단위) | 10회 | 100회 | 1,000회 |
|---|---|---|---|
| 1자 | 10자 | 100자 | 1,000자 |
| 5자 | 50자 | 500자 | 5,000자 |
| 20자 | 200자 | 2,000자 | 20,000자 |
| 100자 | 1,000자 | 10,000자 | 100,000자 |
100자짜리 문장을 1,000회 반복하면 10만 글자로, 트위터·인스타그램 같은 SNS는 물론 대부분의 입력창 한도를 훨씬 넘습니다. 붙여넣을 곳의 글자수 제한을 먼저 확인하세요.
입력 → 출력 예시 (코드로 계산한 값)
| 용도 | 입력 / 횟수 / 구분 | 출력 (줄바꿈은 ↵) | 글자수 |
|---|---|---|---|
| 구분선 | - / 20회 / 구분 없음 | -------------------- | 20 |
| 별 장식 | ★ / 5회 / 구분 없음 | ★★★★★ | 5 |
| 단어 나열 | 안녕 / 3회 / 직접 입력 ", " | 안녕, 안녕, 안녕 | 10 |
| 줄 단위 반복 | ok / 3회 / 줄바꿈 | ok↵ok↵ok | 8 |
| 이모지 | 😀 / 4회 / 공백 한 칸 | 😀 😀 😀 😀 | 11 |
마지막 행의 이모지는 눈에는 4개, 코드 포인트로는 4개지만 UTF-16 길이로는 8(😀 한 개가 2단위) 더하기 공백 3개로 11입니다. 같은 문자열이라도 "글자수"를 어떻게 세느냐에 따라 숫자가 달라지므로, 글자 제한이 있는 서비스에 붙여넣을 때는 그 서비스의 계산 방식을 확인해야 합니다.
한글·이모지·유니코드 주의점
- 한글: 완성형 음절이라 그대로 반복해도 모양이 변하지 않습니다. 자음·모음이 분리된 상태(조합형, NFD)로 복사된 텍스트를 반복하면 화면에 따라 낱자가 따로 보이거나 조합이 어긋나 보일 수 있습니다.
- 이모지: 😀처럼 한 개의 코드 포인트 이모지는 문제없습니다. 가족·직업 이모지처럼 여러 개를 ZWJ(폭 없는 접합자)로 묶은 이모지도 "통째로" 반복되므로 모양이 유지됩니다. 하지만 국기는 지역 표시 문자 두 개의 쌍으로 만들어지므로, 국기의 절반(🇰 하나)만 입력해 붙여 쓰면 앞뒤 문자가 짝지어져 엉뚱한 국기가 나올 수 있습니다.
- 끝이 ZWJ나 결합 문자인 입력: 구분 없이 반복하면 다음 반복의 첫 글자와 합쳐져 모양이 바뀝니다. 구분 문자를 넣으면 대부분 해결됩니다.
- 빈 입력: 입력이 비어 있으면 결과도 빈 문자열(구분자만 N−1개)입니다. 도구는 이 경우 안내 문구를 보여줍니다.
- 줄바꿈 입력: 입력창은 한 줄 입력이라 줄바꿈을 직접 넣을 수 없습니다. 줄 단위 반복은 구분 옵션의 "줄바꿈"을 쓰세요.
쓰임새별 요령
마크다운 가로줄은 보통 ---(하이픈 세 개) 하나로 충분하므로 반복이 필요 없습니다. 반면 순수 텍스트 환경(이메일 서명, 게시판)에서 폭을 맞춘 선을 그으려면 "-" 또는 "=" 를 30~40회 정도 반복하면 모바일 화면에서 줄이 꺾이지 않는 선택이 됩니다. 한글 고정폭 글꼴이 아닌 환경에서는 문자 폭이 달라 글자수가 같아도 길이가 다르게 보입니다. 개발·QA에서는 100자, 255자, 1,000자 등 경계값 문자열을 만들 때 "a" 를 255회 반복하는 식으로 활용합니다. 단, 이때 UTF-8 바이트 길이가 필요하면 텍스트 바이트 계산기로 확인하세요(영문은 1글자 1바이트지만 한글은 보통 3바이트).
한도가 걸리는 조건 (횟수 상한 vs 20만 글자 상한)
입력이 길수록 1,000회에 도달하기 전에 20만 글자 한도가 먼저 걸립니다. 도구가 쓰는 식 floor((200000 + 구분자 길이) / (텍스트 길이 + 구분자 길이))로 계산한 실제 최대 반복 횟수입니다.
| 입력 | 구분 | 실제 최대 반복 | 한도를 정하는 쪽 |
|---|---|---|---|
| 1자 (예: -) | 구분 없음 | 1,000회 | 횟수 상한 1,000회 |
| 10자 문장 | 구분 없음 | 1,000회 | 횟수 상한 1,000회 |
| 10자 문장 | 줄바꿈 | 1,000회 | 횟수 상한 1,000회 |
| 500자 문단 | 줄바꿈 | 399회 | 글자 상한 20만자 |
| 5,000자 본문 | 줄바꿈 | 39회 | 글자 상한 20만자 |
5,000자짜리 본문은 줄바꿈으로 이어도 39회가 한계입니다. 부하 시험처럼 더 큰 데이터가 필요하면 결과를 복사해 여러 번 붙여넣는 방법을 쓰되, 브라우저와 입력창이 감당하는 한도를 넘지 않는지 소량부터 시험하세요.
같은 100글자, 다른 바이트
글자수 제한을 점검하는 시험 문자열은 문자 종류에 따라 UTF-8 바이트가 달라집니다. 아래는 각 문자를 100번 반복했을 때의 길이를 세 가지 방식으로 센 값입니다.
| 문자 | UTF-16 단위 | 코드 포인트 | UTF-8 바이트 |
|---|---|---|---|
| 영문 a | 100 | 100 | 100 |
| 한글 가 | 100 | 100 | 300 |
| 이모지 😀 | 200 | 100 | 400 |
이 도구의 결과 글자수 칩은 UTF-16 단위입니다. 이모지를 100번 반복하면 칩에는 200자로 나오지만 화면에 보이는 그림은 100개이고 UTF-8로는 400바이트입니다. 데이터베이스 열 길이나 API 제한이 바이트 기준이면 이 차이 때문에 영문 시험은 통과하고 한글·이모지 입력에서만 실패하기도 합니다.
시나리오별 설정 예
- QA 경계값 시험: 최대 길이가 255자인 입력란이라면 "a"를 255회, 256회 반복한 두 문자열을 만들어 허용/거부를 비교합니다. 길이는 각각 255자, 256자입니다. 한글 시험은 같은 방식으로 "가"를 반복하되 바이트 제한이면 위 표처럼 환산하세요.
- 블로그·게시판 장식: "·"을 구분 없이 30회 반복하면 점선 한 줄이 됩니다. 글꼴에 따라 점 폭이 다르므로 모바일 미리보기에서 줄이 꺾이는지 확인하세요. 이모지 장식은 기기마다 모양이 다르게 렌더링될 수 있습니다.
- 텍스트 파일 더미 줄: "test line"을 100회, 구분 "줄바꿈"으로 만들면 100줄짜리 파일 내용이 됩니다. 마지막 줄 끝에는 줄바꿈이 붙지 않는다는 점을 유의하세요.
- 쉼표 목록: 구분 "직접 입력"에 ", "(쉼표와 공백)을 넣으면 "항목, 항목, 항목" 형태가 됩니다. CSV처럼 쓸 때는 값 안에 쉼표가 있으면 열이 갈라지니 주의하세요.
붙여넣기 전에 점검할 것
- 결과 글자수 칩과 붙여넣을 곳의 제한을 비교합니다. 칩은 UTF-16 단위이므로 이모지가 있으면 보이는 개수보다 큽니다.
- 구분이 "줄바꿈"이면 마지막 줄 뒤에 빈 줄이 없는지 확인합니다. 구분자는 항목 사이에만 들어가므로 끝 줄바꿈은 없습니다.
- 복사 직후 목적지에서 모양이 유지되는지 소량으로 먼저 시험합니다. 서식이 있는 편집기는 연속 공백을 하나로 줄이거나 특정 기호를 자동으로 다른 기호로 바꾸기도 합니다.
- 구분선이나 장식으로 쓴다면 모바일과 데스크톱 미리보기에서 줄이 꺾이거나 넘치지 않는지 둘 다 확인합니다.
흔한 실수
- 구분자를 "공백 한 칸"으로 두고 마지막에도 공백이 있다고 생각하는 경우: 구분자는 항목 사이에만 들어갑니다.
- 반복 횟수와 줄 수를 혼동하는 경우: 구분이 "줄바꿈"일 때만 줄 수가 횟수와 같습니다(입력 자체에 줄바꿈이 없다는 전제).
- 입력창에 탭 문자를 붙여넣었을 때 눈에 안 보이는 탭이 반복되는 경우: 결과 글자수가 예상보다 많게 나오면 숨은 공백 문자를 의심하세요.
개인정보·보안
이 페이지의 스크립트는 입력값을 가공해 화면의 결과란에 넣고, 복사 버튼을 누르면 브라우저 클립보드 기능 (navigator.clipboard)에 결과를 쓸 뿐이며 입력·결과를 서버로 보내는 요청 코드는 없습니다. 다만 복사된 내용은 클립보드를 읽는 다른 프로그램에서 볼 수 있으므로 민감한 문장은 반복하지 마세요.
관련 도구
- 중복 줄 제거 & 줄 정렬기: 반복해 만든 목록을 정리
- 줄 앞뒤 문자 붙이기: 각 줄에 접두·접미 일괄 추가
- 텍스트 바이트 계산기: 결과의 바이트 길이 확인
- 글자수·단어수 세기: 결과 글자수 재확인
자주 묻는 질문
반복 횟수를 너무 크게 입력하면 어떻게 되나요?
1,000회를 넘으면 1,000으로 보정하고 안내 문구를 보여줍니다. 입력 텍스트가 길어 총 20만 글자를 넘는 경우에는 그 한도에 맞게 횟수를 줄입니다. 결과가 매우 길면 복사·붙여넣기가 느려질 수 있습니다.
이모지도 반복해서 만들 수 있나요?
네. 입력한 문자열 전체가 한 단위로 반복되므로 ZWJ로 이어진 복합 이모지도 모양이 유지됩니다. 다만 국기 절반처럼 짝이 있어야 하나의 그림이 되는 문자를 낱개로 붙여 쓰면 앞뒤가 짝지어져 모양이 바뀔 수 있습니다.
마지막에도 구분자가 붙나요?
아니요. 구분자는 반복 사이에만 들어가므로 3회 반복이면 구분자는 2개입니다. 끝에도 필요하면 입력 텍스트 끝에 직접 구분 문자를 포함시키고 구분 옵션은 "구분 없음"으로 두세요.
줄바꿈이 들어간 문장을 반복할 수 있나요?
입력창이 한 줄짜리라 입력 안에 줄바꿈을 넣기는 어렵습니다. 줄을 나눠 반복하려면 구분 옵션에서 "줄바꿈"을 고르세요. 여러 줄 블록 자체를 반복하는 용도라면 결과를 복사해 다시 붙여 쓰는 방법이 있습니다.
만든 텍스트를 어디까지 믿고 써도 되나요?
단순 문자열 반복이라 계산 오류는 없지만, 붙여넣는 서비스의 글자수 방식(UTF-16, 코드 포인트, 바이트)과 허용 문자에 따라 잘리거나 거부될 수 있습니다. 중요한 곳에 붙이기 전에 미리 소량으로 시험해 보세요.
결과 글자수 칩과 다른 사이트의 글자수가 다른 이유는요?
칩은 자바스크립트 문자열 길이(UTF-16 단위)이고 줄바꿈 한 개도 1자로 셉니다. 일부 사이트는 코드 포인트나 바이트로 세거나 줄바꿈을 2자로 세므로, 영문·숫자만 쓰면 같고 이모지·한글이 섞이면 달라질 수 있습니다.
줄 수 칩은 어떻게 계산되나요?
결과를 줄바꿈 문자로 나눈 개수입니다. 결과가 비어 있으면 0이고, 구분이 줄바꿈이 아니면 보통 1입니다. 입력란은 한 줄 입력이라 붙여넣은 줄바꿈은 보통 제거되므로, 줄 수가 늘어나는 경우는 구분을 "줄바꿈"으로 고른 때입니다.