텍스트 줄 번호 매기기: 5가지 형식과 자릿수 맞춤 완벽 가이드

여러 줄짜리 텍스트나 코드 앞에 1. 2. 3. 같은 번호를 붙여야 할 때, 결과는 정해진 규칙만 알면 자동으로 나옵니다.

텍스트를 줄바꿈 기준으로 나누고, 시작 번호부터 한 줄마다 하나씩 늘려가며 번호를 붙이는 것이 전체 원리입니다.

이 글은 그 원리와 함께, 01. 같은 자릿수 맞춤(Zero-padding) 형식이 실제로 어떤 계산으로 만들어지는지도 그대로 설명합니다.

핵심 요약 ① 텍스트는 줄바꿈(개행) 기준으로 나뉘고, 각 줄에는 시작 번호부터 1씩 늘어나는 순번이 매겨집니다. ② 번호 형식은 1. / 1: / [1] / (1) / 01. 다섯 가지이며, 01. 형식은 전체 줄 수와 시작 번호를 더해 자릿수를 자동으로 맞춥니다. ③ '빈 줄 제외'를 켜면 빈 줄은 번호 없이 건너뛰지만, 카운터는 멈추지 않고 다음 줄에서 그대로 이어집니다.

줄 번호가 필요한 상황은 생각보다 많습니다

문서에 여러 줄짜리 목록이나 코드 조각을 붙여넣고 나면, 특정 줄을 "몇 번째 줄"이라고 콕 집어 가리켜야 할 때가 있습니다. 발표 자료에 넣을 순서 목록, 코드 리뷰에서 참조할 스니펫, 문항 목록, 계약서 특약 조항 등이 그렇습니다.

문제는 줄 수가 많아지거나 중간에 항목이 추가·삭제될 때 생깁니다. 10번째 줄 다음에 새 항목 하나를 끼워 넣으면 그 아래 모든 번호를 손으로 다시 고쳐야 합니다. 줄이 40개, 100개가 되면 하나쯤 밀리거나 중복되기 쉽습니다.

이건 사람이 부주의해서가 아니라, 번호를 매기는 규칙 자체는 단순한데 그걸 매번 손으로 반복 적용하다 보니 생기는 오류입니다. 규칙만 정확히 알면 기계적으로 처리할 수 있는 작업입니다.

도구 없이 직접 번호를 매기는 방법

번호 매기기의 규칙은 사실 단순합니다. 직접 손으로 적용해도 결과는 같습니다.

세 가지 원칙

원칙 1 — 줄바꿈이 곧 하나의 줄입니다. 텍스트 안에서 줄바꿈 문자(Enter로 만들어지는 개행)가 나올 때마다 그 앞뒤가 서로 다른 줄로 나뉩니다. 문장 중간에 마침표가 있어도 줄바꿈이 없으면 한 줄로 취급됩니다.

원칙 2 — 시작 번호부터 한 줄마다 1씩 늘립니다. 시작 번호를 1로 두면 첫 줄이 1, 다음 줄이 2로 이어집니다. 시작 번호를 100으로 바꾸면 첫 줄은 100, 다음 줄은 101이 됩니다.

원칙 3 — 앞에 붙는 기호만 형식마다 다릅니다. 숫자 뒤에 무엇을 붙이느냐의 차이일 뿐, 세는 방식 자체는 모든 형식이 같습니다.

줄 번호 추가기

무료 · 설치 불필요 · 텍스트를 붙여넣으면 원하는 형식의 줄 번호가 1초 만에 완성


📖 문서 작업에서 겪는 현실적인 줄 번호 참사 사연

사연 1: 50페이지 계약서 특약 조항 수기 번호 매기기로 밤샌 법무팀

기업 법무팀 A씨는 영문 라이선스 계약서 300개 조항 중간에 3개의 신규 조항을 삽입해야 했습니다. 워드에서 서식이 깨져 일반 텍스트로 작업하다가, 34번째 조항 뒤에 번호를 추가하면서 35번부터 300번까지의 번호를 수기로 수정하느라 4시간을 허비했고, 결국 중간에 '142'번이 두 번 중복되는 치명적인 실수를 저질렀습니다.

사연 2: 기술 블로그 코드 스니펫 줄번호 불일치로 컴플레인받은 개발자

테크 블로거 B씨는 튜토리얼 포스트에 150줄짜리 파이썬 코드 예제를 올렸습니다. 독자들에게 "78번째 줄의 함수를 보세요"라고 설명했는데, 중간에 빈 줄을 손으로 세다 보니 실제 코드 위치와 5줄씩 어긋나 독자들로부터 "설명과 코드가 맞지 않는다"는 지적 댓글을 10개 넘게 받았습니다.

사연 3: 영화 자막 번역 대조표에서 대사 행번호가 밀려 혼란을 겪은 번역가

영상 번역가 C씨는 500줄짜리 영화 대본 원문과 한글 번역문을 1:1 대조하는 작업을 진행했습니다. 원문의 빈 줄(효과음 구간)에 줄 번호가 제각각 매겨지는 바람에, 200번 대사 이후부터 음성과 자막 번호가 1행씩 어긋나 성우 녹음 현장에서 큰 혼선이 빚어졌습니다.


🔬 핵심 기술 메커니즘 — 텍스트 파싱과 동적 제로 패딩(Zero-padding)

자동 줄 번호 생성기가 수만 줄의 텍스트를 0.01초 만에 포맷팅하는 알고리즘을 분석합니다.

1. 개행 문자(Line Separator) 정규화

운영체제마다 줄바꿈 방식이 다릅니다:

  • Windows: CR+LF ( )
  • macOS / Linux: LF ( )
  • 구형 Mac: CR ( ) 엔진은 먼저 모든 개행 문자를 표준 LF( )로 통일한 뒤 문자열을 배열로 분할(split)하여 줄 단위 처리를 시작합니다.

2. 동적 자릿수 계산(Dynamic Digit Calculation)

패딩 형식(01. 001.)은 마지막 줄 번호의 자릿수를 로그 함수로 계산합니다:

  • 최대 번호: $Max = StartNumber + TotalLines - 1$
  • 필요 자릿수: $Digits = lfloorlog_{10}(Max) floor + 1$
  • 문자열 변환 시: String(currentNumber).padStart(Digits, '0')

3. 빈 줄(Whitespace-only line) 판별식

정규식 ^s*$를 사용하여 눈에 보이지 않는 스페이스나 탭만 있는 줄도 정확히 빈 줄로 감지하고, 옵션 활성화 시 번호 할당을 건너뛰고 카운터를 유지합니다.


📊 5대 줄 번호 스타일 비교표

번호 스타일출력 형식 예시 (1~10줄)주 사용 환경
마침표 (dot)1. 2. ... 10.일반 문서 목록, 시험 문제 문항
콜론 (colon)1: 2: ... 10:로그 분석, 터미널 출력 로그
대괄호 (bracket)[1] [2] ... [10]프로그래밍 배열 인덱스, 논문 각주
소괄호 (paren)(1) (2) ... (10)법률 조항, 하위 세부 항목
제로 패딩 (paddedDot)01. 02. ... 10.파일 정렬, 대용량 코드 스니펫

⚠️ 줄 번호 매길 때 흔히 하는 5가지 실수

  1. 스페이스로 공백 맞추기: 19는 스페이스 1칸, 1099는 공백 없이 손으로 맞추다 폰트 비례(Proportional Font) 때문에 정렬이 삐뚤빼뚤해지는 현상.
  2. 복사-붙여넣기 시 탭(Tab) 문자와 공백 혼용: 편집기마다 탭 간격(2칸 vs 4칸 vs 8칸)이 달라 서식이 망가지는 실수.
  3. 빈 줄에 번호를 붙여 전체 번호 인덱스가 왜곡: 문맥상 의미 없는 공백 줄에 번호가 붙어 총 항목 수가 부풀려지는 현상.
  4. 시작 번호 0과 1의 혼동: 프로그래밍 0-indexed와 일반 문서 1-indexed를 헷갈려 인덱스가 1씩 밀리는 문제.
  5. 텍스트 줄바꿈(Soft Wrap)을 실제 줄(Hard Break)로 착각: 화면 너비가 좁아 줄바꿈된 것처럼 보이는 긴 문장에 번호가 쪼개져 들어가는 실수.

💡 완벽한 줄 번호 생성 5단계 실전 워크플로우

  1. 1단계 (원문 텍스트 붙여넣기): 번호를 매길 코드, 목록, 법률 조항 원문을 입력창에 붙여넣습니다.
  2. 2단계 (번호 스타일 선택): 목적에 맞춰 dot(1.), colon(1:), bracket([1]), paren((1)), padded(01.) 중 선택합니다.
  3. 3단계 (시작 번호 지정): 1번부터 시작할지, 이전 문서에서 이어지는 특정 번호(예: 101번)부터 시작할지 설정합니다.
  4. 4단계 (빈 줄 제외 옵션 토글): 코드 가독성을 위해 빈 줄에는 번호를 매기지 않을지 결정합니다.
  5. 5단계 (결과 복사 및 적용): '복사' 버튼을 눌러 마크다운 문서, 워드, 프레젠테이션에 즉시 붙여넣습니다.

🔍 문서 편집 전문가가 공개하는 비밀 팁 7선

  1. 고정폭 글꼴(Monospace)과 01. 패딩의 조합: 코드 스니펫이나 로그를 문서에 넣을 때는 Consolas, D2Coding 같은 모노스페이스 폰트와 01. 패딩을 쓰면 완벽하게 열이 맞습니다.
  2. 스프레드시트 텍스트 열 합치기 수식 대체: 엑셀에서 '=ROW() & ". " & A1' 같은 수식을 쓰지 않고 웹 도구로 1초 만에 일괄 생성합니다.
  3. SQL 쿼리 IN 절 데이터 가공: 여러 줄의 ID 목록 앞에 순번을 붙여 배치 테스트 데이터로 가공할 때 유용합니다.
  4. 회의록 안건 번호 자동 재배열: 중간에 안건이 추가되거나 빠졌을 때 전체 텍스트를 복사해 도구에 넣으면 1초 만에 번호가 재정렬됩니다.
  5. 마크다운 순서 있는 목록(Ordered List)과의 차이: 마크다운 렌더러는 1. 1. 1.로 써도 화면에선 순서대로 보이지만, 순수 텍스트 공유 시에는 본 도구로 실제 번호를 박아넣는 것이 안전합니다.
  6. 대용량 로그(10,000행) 디버깅: 서버 에러 로그 앞에 줄 번호를 붙여 팀원들과 에러 발생 라인을 정확히 소통합니다.
  7. CSV 파일 데이터 무결성 검증: 첫 번째 열에 고유 행 번호(Row ID)를 빠르게 부여하여 데이터 조작 시 원본 순서를 보존합니다.

🎯 최종 결정 트리: 어떤 번호 형식을 써야 할까?

  • 시나리오 A (일반 회의록, 업무 보고서, 블로그 체크리스트)마침표 형식 (1. 2. 3.)
  • 시나리오 B (개발자 코드 스니펫, 설정 파일 공유)패딩 마침표 (01. 02. ... 10.)
  • 시나리오 C (서버 콘솔 로그, 시간별 기록)콜론 형식 (1: 2: 3:)
  • 시나리오 D (법률 계약서 세부 항, 설문지 하위 보기)소괄호 형식 ((1) (2) (3))

📑 텍스트 포맷팅 & 줄 번호 핵심 용어 치트시트

  • CRLF vs LF: 윈도우와 유닉스/맥 계열의 서로 다른 줄바꿈 바이트 시퀀스.
  • Zero-padding (0 채우기): 숫자의 자릿수를 맞추기 위해 앞에 0을 덧붙이는 기법.
  • Monospace Font (고정폭 글꼴): 모든 글자와 숫자의 가로 폭이 동일하여 텍스트 정렬에 최적화된 서체.
  • Hard Break vs Soft Break: 실제 엔터키로 생성된 물리적 개행과 화면 크기 제한으로 인한 시각적 자동 줄바꿈.

자주 묻는 질문

줄 수가 1,000줄이 넘어가면 001. 형식으로 세 자리가 채워지나요?

네, 패딩(01.) 형식은 문서 전체 줄 수와 시작 번호를 자동 계산하므로, 줄 수가 1,000줄이면 첫 번째 줄이 자동으로 '0001.'처럼 네 자리로 완벽하게 맞춰집니다.

빈 줄 건너뛰기를 켜면 중간 번호가 비게 되나요?

아닙니다. 빈 줄에는 번호 문자열만 붙지 않을 뿐, 번호 카운터는 다음 텍스트가 있는 줄에서 그대로 1씩 순차적으로 증가하므로 번호가 중간에 끊기지 않습니다.

변환기에 붙여넣은 문서 내용이 외부에 유출되지 않나요?

모든 변환 작업은 사용자의 PC 웹 브라우저 메모리 안에서만 100% 로컬로 처리되며 서버로 텍스트가 전송되지 않습니다.

가격 보기카톡 무료 상담