텍스트 비교: 두 글의 차이 찾기
텍스트 비교는 이전 글과 새 글을 붙여 넣으면 끝납니다. 지워진 부분은 취소선과 −로, 추가된 부분은 밑줄과 +로 표시됩니다. 입력한 글은 업로드되지 않습니다.
출처: Eugene W. Myers: An O(ND) Difference Algorithm and Its Variations, Algorithmica 1 (1986). 업데이트: .
계산 방법
텍스트 비교의 원리
이 도구는 두 글을 줄, 단어, 글자 단위로 나눈 뒤 가장 긴 공통 부분을 찾습니다. A에만 있는 부분은 삭제, B에만 있는 부분은 추가입니다. diff와 Git이 쓰는 것과 같은 Eugene W. Myers의 알고리즘(1986)으로, 바뀐 곳을 가장 적은 수로 찾아냅니다.
두 글을 비교하는 방법
- 왼쪽에 이전 글, 오른쪽에 새 글을 붙여 넣습니다.
- 「비교 단위」에서 줄, 단어, 글자 중 하나를 고르고, 필요하면 대소문자나 공백 차이를 무시합니다.
- 차이를 확인합니다. 지워진 부분은 취소선과 −, 새로 들어간 부분은 밑줄과 +로 표시되고 유사도가 퍼센트로 나옵니다.
예: 이전 글 「계약은 3월 31일에 끝납니다」, 새 글 「계약은 4월 30일에 끝납니다」를 단어 단위로 비교하면 「3월 31일에」가 삭제, 「4월 30일에」가 추가로 표시됩니다.
한국어는 어절 단위로 나뉩니다
단어 단위 비교는 띄어쓰기를 기준으로 나누므로, 한국어에서는 조사가 붙은 어절이 한 단위가 됩니다. 「학생이」가 「학생은」으로 바뀌면 어절 전체가 삭제와 추가로 표시됩니다. 조사나 받침 하나까지 정확히 보려면 글자 단위로 바꾸세요. 띄어쓰기를 고친 원고라면 「공백 차이 무시」를 끄고 비교하는 편이 확실합니다.
유사도 계산
유사도 = 2 × 같은 단위 수 ÷ (A의 단위 수 + B의 단위 수)입니다. 예를 들어 「오늘 날씨가 맑다」와 「오늘 날씨가 흐리다」는 3어절씩 중 2어절이 같으므로 2 × 2 ÷ 6 = 67%입니다. 단어 단위에서 공백은 단위로 세지 않습니다.
색이 없어도 읽힙니다
삭제된 부분은 <del>(취소선, − 표시), 추가된 부분은 <ins>(밑줄, + 표시)로 감싸므로 색각 이상이 있어도, 인쇄해도, 화면 낭독기로도 결과를 알 수 있습니다. 「차이를 텍스트로」는 같은 결과를 복사할 수 있는 형태로 줍니다. 줄 단위에서는 각 줄 앞에 +/−가 붙고, 그 밖에는 [−이전−]{+새것+} 형식입니다.
나란히 보기, 다음 차이로 이동, 파일과 내보내기
- 나란히 보기: 왼쪽에 A, 오른쪽에 B가 줄 번호와 함께 나옵니다. 바뀐 줄 안에서는 「비교 단위」에 따라 바뀐 단어나 글자만 강조됩니다. 휴대폰에서는 두 글이 위아래로 놓입니다.
- 차이에서 차이로: 「이전」과 「다음 차이」로 바뀐 곳을 차례로 이동하며 지금 몇 번째인지 보여 줍니다.
- 파일: .txt, .md, .csv, .json, 소스 코드 같은 텍스트 파일을 단추로 열거나 입력 칸에 끌어다 놓을 수 있습니다. 파일은 브라우저 안에서만 읽으며, 윈도우와 유닉스의 줄바꿈 차이는 같은 것으로 봅니다.
- 내보내기: 「patch로 저장」은 앞뒤 3줄 문맥이 붙은 unified diff를 만듭니다.
diff -u,patch, Git이 읽는 형식입니다. 「HTML로 저장」은 강조된 화면을 파일 하나로 저장해 공유하거나 인쇄할 수 있게 합니다.
한계
모든 처리는 브라우저 안에서 이루어집니다. 빠르게 동작하도록 글마다 최대 10만 자, 2만 단위까지 비교합니다. 바뀐 곳이 아주 많으면(2,000곳 이상) 가운데의 다른 부분을 삭제/추가로 대략 묶어 보여 주니, 그럴 때는 줄 단위로 바꾸세요. 이 페이지의 주소에는 입력한 글이 들어가지 않고 설정만 담깁니다.
다른 텍스트 도구: 비교하기 전에 불필요한 줄바꿈과 공백을 지우는 줄바꿈 제거, 두 원고의 분량을 재는 글자수 세기.
자주 묻는 질문
입력한 글이 저장되거나 업로드되나요?
아니요. 두 글은 브라우저 안에만 있고 주소창에도 들어가지 않습니다. 링크에는 비교 단위와 체크 상자 같은 설정만 담깁니다.
어떤 비교 단위를 고르면 되나요?
목록, 코드, 표는 줄, 계약서나 보고서 같은 문장은 단어, 오타, 조사, 이름, 숫자처럼 한두 글자 차이는 글자가 알맞습니다.
한 줄만 고쳤는데 삭제와 추가로 나오는 이유는?
diff는 삽입과 삭제만 알기 때문에 바뀐 줄은 「이전 줄 삭제 + 새 줄 추가」가 됩니다. 단어나 글자 단위로 바꾸면 줄 안에서 무엇이 바뀌었는지 보입니다.
한글(HWP), 워드, PDF 파일도 비교할 수 있나요?
직접 열지는 못합니다. 두 문서에서 글을 복사해 각각의 칸에 붙여 넣으세요. 굵기나 글자 크기 같은 서식은 비교하지 않고 글자만 비교합니다.
두 명단을 비교하려면?
두 명단을 한 줄에 하나씩 붙여 넣고 「줄」 단위를 고르세요. 왼쪽에만 있는 항목은 삭제, 새로 생긴 항목은 추가로 표시됩니다.
출처 및 근거
- Eugene W. Myers: An O(ND) Difference Algorithm and Its Variations, Algorithmica 1 (1986)
- WHATWG HTML Living Standard – Edits (ins, del)
- GNU Diffutils Manual (옵션 -i, -b, 패치 내보내기용 unified 형식)
업데이트: · 편집 원칙
관련 도구
- 글자수 세기: 공백 포함·제외와 바이트무료 글자수 세기. 공백 포함·제외 글자 수와 바이트(한글 2·3바이트)를 입력과 동시에 보여 줍니다. 자소서 글자수 제한, 어절·줄 수, SNS 한도도 확인하세요.
- 비밀번호 생성기: 랜덤 비밀번호 만들기무료 비밀번호 생성기. 영문·숫자·특수문자 조합 랜덤 비밀번호나 외우기 쉬운 패스프레이즈를 만들고 강도를 비트로 보여 줍니다. 브라우저 안에서만 생성됩니다.
- 비밀번호 강도 체크무료 비밀번호 강도 체크. 엔트로피(비트)와 해독에 걸리는 시간, 약점이 되는 패턴을 보여 줍니다. 검사는 브라우저 안에서만 이루어지며 전송도 저장도 하지 않습니다.
- 줄바꿈 제거: 공백·빈 줄·중복 줄 정리무료 텍스트 정리기. PDF에서 복사한 글의 줄바꿈 제거, 공백 제거, 빈 줄과 보이지 않는 문자 삭제, 중복 줄 제거, 줄 정렬까지 한 번에. 브라우저에서 바로 처리합니다.
- 대소문자 변환: 영어 대문자·소문자 바꾸기무료 대소문자 변환기. 영어 문장을 대문자, 소문자, 제목 형식(Title Case), 문장 형식, camelCase, snake_case로 바로 바꿉니다. 입력한 글은 저장되지 않습니다.