본문으로 건너뛰기
LeedyBox
후원

텍스트 / 코드 비교

두 코드나 텍스트를 줄 단위로 비교해 추가·삭제된 줄을 강조합니다.

차이

사용하기 전에 결과를 확인하세요. 이 도구는 보증 없이 있는 그대로 제공되며, 결과가 불완전하거나 틀릴 수 있습니다. 이용약관

줄 단위로 비교합니다. 공백 차이도 변경으로 보며, Windows와 Unix 줄바꿈은 같은 것으로 취급합니다. 한 줄 안의 변경은 따로 강조하지 않습니다.

사용 방법

  1. 이전 버전을 "원본 텍스트"에, 나중 버전을 "수정된 텍스트"에 붙여넣으세요. 두 칸에는 처음에 짧은 JSON 예시가 들어 있으니 내 텍스트로 바꿔 넣으면 됩니다.
  2. "차이" 아래의 결과는 입력하거나 붙여넣는 동안 갱신됩니다. 따로 누를 비교 버튼은 없습니다.
  3. 결과는 위에서 아래로 읽으세요. 빨간 배경에 -가 붙은 줄은 원본에서 삭제된 줄, 초록 배경에 +가 붙은 줄은 수정된 텍스트에 추가된 줄이며, 표시 없이 회색 글자로 된 줄은 두 텍스트에서 같은 줄입니다.
  4. "차이"와 같은 줄에 있는 수치를 확인하세요. 추가된 줄과 삭제된 줄의 수를 나타내며, 고친 줄은 삭제 1번, 추가 1번으로 셉니다. 모든 줄이 같으면 그 자리에 "두 텍스트가 같습니다."가 대신 표시됩니다.

자주 묻는 질문

비교하는 텍스트가 업로드되거나 저장되나요?

아니요. 비교는 브라우저에서 JavaScript로 실행되며, 붙여넣은 텍스트는 LeedyBox로 전송되지 않습니다. 도구가 텍스트를 저장하지도 않습니다.

똑같아 보이는 두 줄이 삭제된 줄과 추가된 줄로 표시되는 이유는 무엇인가요?

줄은 한 글자씩 정확히 비교하므로 끝에 붙은 공백, 공백 대신 쓴 탭, 일반 공백 대신 쓴 줄바꿈 없는 공백(NBSP), 눈에 보이지 않는 폭 없는 문자(zero-width character)만 있어도 다른 줄이 됩니다. 악센트가 붙은 글자 중 상당수는 한 문자로 저장될 수도 있고 글자 뒤에 결합용 악센트가 붙은 형태로 저장될 수도 있어서, 겉보기에는 같아도 일치하지 않습니다. 한글도 자모를 나누어 저장한 형태(NFD)와 완성형 글자(NFC)는 겉보기에 같지만 일치하지 않습니다. 대문자와 소문자도 서로 다른 글자로 봅니다. Windows와 Unix의 줄바꿈 방식은 같은 것으로 취급하므로 원인이 아닙니다.

끝에 빈 줄이 추가되거나 삭제된 것으로 나오는 이유는 무엇인가요?

대개 한쪽 텍스트만 줄바꿈으로 끝나기 때문입니다. 텍스트는 줄바꿈마다 나뉘므로 맨 끝에 줄바꿈이 있으면 빈 마지막 줄이 하나 생깁니다. 두 텍스트의 끝을 같게 맞추면 그 줄은 사라집니다.

고친 줄과 옮긴 줄은 어떻게 표시되나요?

이 도구는 두 텍스트에 같은 순서로 나오는 줄을 가능한 한 많이 찾고, 나머지 줄은 모두 삭제나 추가로 표시합니다. 그래서 고친 줄은 삭제된 줄과 추가된 줄로 나타나며, 보통 삭제된 줄이 먼저 나옵니다. 여러 줄을 연달아 고쳤다면 대개 삭제된 줄이 한데 모여 먼저 나옵니다. 이동은 따로 감지하지 않으므로, 옮긴 내용은 한 곳에서 삭제되고 다른 곳에 추가된 줄로 나타납니다. 여러 줄로 된 블록이 다른 몇 줄을 넘어 자리를 옮기면, 블록 자체는 아무 표시 없이 남고 그 몇 줄이 삭제·추가된 줄로 표시될 수도 있습니다.

결과를 git apply나 patch 명령용 패치로 쓸 수 있나요?

아니요. 결과에는 모든 줄이 나오며, 추가된 줄 앞에는 +가, 삭제된 줄 앞에는 -가, 바뀌지 않은 줄 앞에는 공백 2칸이 붙습니다. unified diff와 달리 줄 번호가 담긴 @@ 헝크 헤더나 파일 이름이 담긴 ---, +++ 줄이 없으므로 git apply와 patch 명령은 이를 읽지 못합니다. 결과는 변경 사항을 검토하는 데 쓰고, 패치 파일은 git diff나 diff -u로 만드세요.

얼마나 긴 텍스트까지 비교할 수 있나요?

두 텍스트의 맨 앞과 맨 뒤에서 서로 일치하는 줄은 한도에 포함되지 않으며, 결과에는 그대로 표시됩니다. 원본의 나머지 줄 수와 수정된 텍스트의 나머지 줄 수를 곱한 값이 4,000,000을 넘으면(예: 2,500줄과 2,000줄) 결과 대신 안내 메시지가 표시됩니다. 이럴 때는 텍스트를 더 작게 나누어 비교하세요. 한도 아래에서도 긴 텍스트는 바뀔 때마다 비교를 다시 하므로, 입력하는 동안 페이지 반응이 느려질 수 있습니다.

서식만 바꾼 JSON이나 코드에서 변경 사항이 많이 나오는 이유는 무엇인가요?

이 도구는 의미가 아니라 텍스트를 비교하므로 들여쓰기 변경, 키 순서 변경, 한 줄을 두 줄로 나눈 것도 모두 변경으로 셉니다. 비교하기 전에 두 버전을 같은 들여쓰기와 키 순서로 똑같이 정리해 두면, 남는 차이는 대부분 내용의 변경입니다.