텍스트 비교

두 텍스트를 비교해 추가되거나 삭제된 줄과 단어를 색으로 강조합니다. 업로드 없이 브라우저에서 바로 비교하는 무료 텍스트 비교 도구입니다.

두 텍스트 비교하는 방법

  1. 왼쪽 원본 텍스트에 이전 버전을, 오른쪽 변경된 텍스트에 새 버전을 붙여 넣으세요.
  2. 줄 또는 단어 단위를 고르세요. 입력을 멈추고 잠시 뒤 자동으로 비교하며, 비교를 누르면 바로 비교합니다.
  3. 2줄 추가, 1줄 삭제 같은 요약을 확인한 뒤 강조된 결과를 살펴보세요. 다른 곳이 없으면 차이점이 없습니다라고 나옵니다.

결과 읽는 법

줄 모드의 결과는 표로 나옵니다. 첫 번째 숫자 열은 원본의 줄 번호, 두 번째는 변경된 텍스트의 줄 번호이고, 기호 열에는 삭제된 줄(빨간색)에 −, 추가된 줄(초록색)에 +가 붙습니다. 바뀌지 않은 줄에는 두 번호가 모두 나옵니다. 줄 단위로 보면 수정은 “삭제 + 추가”의 한 쌍이므로, 고친 줄은 삭제된 줄 바로 뒤에 추가된 줄이 오는 형태로 표시됩니다.

단어 모드에서는 변경된 텍스트가 문장 그대로 나오고, 삭제된 단어는 빨간색 취소선으로, 추가된 단어는 초록색으로 그 자리에 표시됩니다. 텍스트는 단어, 문장 부호 하나하나, 이어진 공백 단위로 나뉩니다. 공백만 바뀐 부분은 강조되지만 요약의 개수에는 들어가지 않습니다.

줄 단위와 단어 단위, 무엇을 고를까요?

  • 줄은 소스 코드, 설정 파일, CSV 데이터, 목록처럼 한 줄 한 줄이 의미 단위인 텍스트에 좋습니다.
  • 단어는 계약서, 에세이, 기사, 검토 중인 번역문 같은 일반 문장에 좋습니다. 긴 문단은 한 줄이라서, 줄 모드에서는 단어 하나만 고쳐도 문단 전체가 바뀐 것으로 나오기 때문입니다.

대소문자 무시와 공백 무시

대소문자 무시는 “Hello World”와 “hello world”를 같게 봅니다. 공백 무시는 모드에 따라 조금 다르게 동작합니다. 줄 모드에서는 비교하기 전에 두 줄에서 공백을 모두 지우므로 들여쓰기, 줄 끝 공백, 줄 안의 띄어쓰기 차이까지 무시합니다. ab와 a b도 같다고 봅니다. 단어 모드에서는 이어진 공백, 탭, 줄바꿈을 모두 같은 것으로 보므로 줄바꿈 위치만 달라진 글은 바뀌지 않은 것으로 나옵니다.

예시

설정 파일 변경. 원본이 host=localhost, port=8080, debug=true 세 줄이고, 변경본은 포트를 9090으로 바꾸고 끝에 timeout=30을 추가했습니다. 줄 모드에서는 2번 줄 삭제, 새 2번 줄 추가, 새 4번 줄 추가로 나오고 요약은 2줄 추가, 1줄 삭제입니다.

문장 수정. “The quick brown fox jumps over the lazy dog.”과 “The quick red fox leaped over the lazy dog.”을 단어 모드로 비교하면 brown → red, jumps → leaped가 강조되고 단어 2개 추가, 2개 삭제로 나옵니다. 줄 모드에서는 같은 내용이 그냥 한 줄 삭제, 한 줄 추가입니다.

한국어 문장. 한국어는 띄어쓰기 단위(어절)로 비교되므로 조사가 바뀌면 어절 전체가 표시됩니다. “저는 어제 학교에 갔습니다.”와 “저는 어제 학교를 갔습니다.”를 비교하면 학교에 → 학교를이 강조됩니다.

계약 조항. “The payment is due within 30 days.”와 “The payment is due within 14 days.”를 단어 모드로 비교하면 바뀐 숫자 하나만 정확히 짚어 줍니다. 두 버전을 나란히 놓고 읽을 때 놓치기 쉬운 부분입니다.

서식만 바뀐 코드. if (x == 1) {와 if (x==1) {, 그리고 들여쓰기가 다른 다음 줄을 비교하면 두 줄이 바뀐 것으로 나옵니다. 공백 무시에 체크하면 결과가 차이점이 없습니다로 바뀝니다.

비교 원리

이 도구는 1986년 유진 마이어스(Eugene W. Myers)가 발표한 Myers 차이 알고리즘을 씁니다. Git의 기본 diff 방식이기도 합니다. 이 알고리즘은 원본을 변경본으로 바꾸는 가장 짧은 편집 스크립트, 즉 줄이나 단어의 삽입·삭제 횟수가 가장 적은 방법을 찾습니다. 두 텍스트의 앞부분과 뒷부분에서 같은 줄이나 단어를 먼저 맞춰 두기 때문에 그 사이 구간만 본격적으로 탐색합니다. 그 구간에 필요한 삽입·삭제가 2,000개를 넘으면 브라우저가 멈추지 않도록 탐색을 중단하고, 가운데 구간 전체를 삭제 후 추가된 것으로 표시합니다.

결과는 작성자가 실제로 한 작업의 기록이 아니라 가장 짧은 편집이므로, 문단을 옮기면 한 곳에서는 삭제, 다른 곳에서는 추가로 나타납니다. “이동”을 따로 표시하지는 않습니다.

더 깔끔하게 비교하는 팁

  • JSON 파일 두 개를 비교한다면 둘 다 JSON 포매터에서 같은 들여쓰기로, 키 정렬을 켜고 정리하세요. 서식과 키 순서 차이가 변경으로 잡히지 않습니다.
  • 순서가 중요하지 않은 두 목록을 비교한다면 먼저 줄 정렬로 둘 다 정렬하세요. 추가되거나 빠진 항목만 남습니다.
  • 한쪽이 줄이 끊긴 PDF 텍스트라면 줄바꿈 제거로 줄을 잇거나, 단어 모드에서 공백 무시를 켜세요.
  • 중국어와 일본어는 띄어쓰기가 없어서 단어 모드에서 문장 부호 사이의 구절 전체가 한 “단어”가 됩니다. 한 글자만 바뀌어도 그 구절 전체가 강조됩니다.

자주 묻는 질문

텍스트가 업로드되나요?

아니요. 두 텍스트는 페이지 안에만 있고 비교는 내 기기에서 이루어집니다. 공개 전 계약서, 개인적인 서신, 회사 소스 코드를 비교할 때 꼭 필요한 부분입니다.

워드 문서나 PDF도 비교할 수 있나요?

각 파일에서 텍스트를 복사해 두 상자에 붙여 넣으세요. 굵게나 글꼴 같은 서식은 비교하지 않고 텍스트만 비교합니다.

문단 전체가 바뀐 것으로 나와요.

줄 모드에서는 문단 하나가 한 줄이라서, 안에서 무엇을 고치든 줄 전체가 바뀐 것으로 나옵니다. 단어 모드로 바꾸면 정확히 어떤 단어가 바뀌었는지 보입니다.

크기 제한이 있나요?

텍스트 크기 자체의 제한은 없습니다. 앞에서 설명했듯이 서로 다른 구간의 변경이 2,000개를 넘으면 상세 비교를 멈추지만, 내용 대부분이 같은 텍스트라면 아주 길어도 괜찮습니다.