Original Text

Modified Text

ℹ️ About Text Diff Checker

Compare two texts and see the differences highlighted. Use Line Mode for comparing entire lines or Word Mode for word-by-word comparison. Perfect for code reviews, document comparisons, and tracking changes.

Legend:

Added
Deleted
Unchanged

📖 텍스트 비교(Diff) 완벽 가이드

🔍 텍스트 비교(Diff)란?

텍스트 비교(Diff, Difference)는 두 개의 텍스트나 파일 간의 차이점을 찾아내고 시각적으로 표시하는 기능입니다. 원본 텍스트와 수정된 텍스트를 비교하여 어떤 부분이 추가, 삭제, 변경되었는지를 한눈에 파악할 수 있습니다.

주요 용어:
  • 추가(Insertion): 새롭게 추가된 텍스트 (보통 초록색으로 표시)
  • 삭제(Deletion): 제거된 텍스트 (보통 빨간색으로 표시)
  • 변경(Modification): 내용이 수정된 부분
  • 컨텍스트(Context): 변경된 부분 주변의 동일한 텍스트

💡 텍스트 비교 사용 사례

  • 코드 리뷰: 풀 리퀘스트(PR)에서 변경된 코드 확인
  • 문서 버전 관리: 계약서, 보고서, 기획서의 수정 내역 추적
  • 번역 검토: 원문과 번역문의 차이점 확인
  • 교정 작업: 원고의 수정 전후 비교
  • 설정 파일 비교: 서버 설정, 환경 변수 등의 차이 확인
  • 데이터 검증: 두 데이터 세트 간의 불일치 확인
  • 표절 검사: 두 문서 간의 유사성 비교
  • 로그 분석: 시간대별 로그 파일의 변화 추적

🔧 사용 방법

  1. 원본 텍스트 입력: 왼쪽(Original) 입력 영역에 비교 기준이 되는 텍스트 붙여넣기
  2. 수정 텍스트 입력: 오른쪽(Modified) 입력 영역에 비교할 텍스트 붙여넣기
  3. 자동 비교: 입력 즉시 차이점이 실시간으로 표시됩니다
  4. 결과 확인: 추가된 부분(초록), 삭제된 부분(빨강)을 시각적으로 확인
  5. 라인 단위/단어 단위: 비교 방식을 선택하여 원하는 상세도로 분석

📊 Diff 알고리즘의 원리

텍스트 비교 도구는 일반적으로 다음과 같은 알고리즘을 사용합니다:

🔢 LCS (Longest Common Subsequence)

두 텍스트에서 가장 긴 공통 부분 수열을 찾아 차이를 계산합니다. Unix diff 명령어의 기초 알고리즘입니다.

📏 Myers' Diff Algorithm

최소한의 편집 거리를 찾는 효율적인 알고리즘입니다. Git에서 기본으로 사용됩니다.

🎯 Patience Diff

고유한 라인들을 먼저 매칭하여 더 의미 있는 diff를 생성합니다. 코드 비교에 적합합니다.

🖥️ 개발자를 위한 Diff 도구

개발 환경에서 자주 사용되는 diff 관련 도구와 명령어입니다:

Git Diff
# 스테이징 전 변경사항 확인
git diff

# 특정 파일의 변경사항
git diff filename.js

# 커밋 간 비교
git diff commit1 commit2

# 브랜치 간 비교
git diff main feature-branch
Unix/Linux diff
# 두 파일 비교
diff file1.txt file2.txt

# Side-by-side 출력
diff -y file1.txt file2.txt

# 통합 형식 (unified)
diff -u file1.txt file2.txt
추천 Diff 도구:
  • VS Code: 내장 diff 뷰어로 파일 간 비교 지원
  • Beyond Compare: 강력한 파일/폴더 비교 도구 (유료)
  • Meld: 오픈소스 시각적 diff 도구
  • WinMerge: Windows용 무료 diff 도구
  • Kaleidoscope: Mac용 우아한 diff 도구

📝 Diff 형식의 종류

Normal Diff

가장 기본적인 형식. 변경, 추가, 삭제를 c, a, d로 표시

3c3
< old line
---
> new line
Unified Diff

컨텍스트와 함께 표시. GitHub PR에서 주로 사용

@@ -1,3 +1,3 @@
 context line
-removed line
+added line
 context line
Side-by-Side

두 파일을 나란히 표시. 시각적으로 비교하기 좋음

Original    | Modified
line 1      | line 1
old text    > new text
line 3      | line 3

❓ 자주 묻는 질문 (FAQ)

Q: 대용량 텍스트도 비교할 수 있나요?

A: 네, 가능합니다. 다만 매우 큰 텍스트(수 MB 이상)는 브라우저 성능에 영향을 줄 수 있습니다. 그런 경우 로컬 diff 도구(git diff, Beyond Compare 등)를 사용하는 것이 좋습니다.

Q: 공백과 줄바꿈도 비교되나요?

A: 기본적으로 모든 문자가 비교됩니다. 공백 무시 옵션을 사용하면 공백 차이를 무시하고 비교할 수 있습니다.

Q: 비교 결과를 저장할 수 있나요?

A: 브라우저에서 결과를 복사하거나 스크린샷으로 저장할 수 있습니다. 프로그래밍 환경에서는 diff 파일(.diff, .patch)로 저장 가능합니다.

Q: 이미지나 바이너리 파일도 비교할 수 있나요?

A: 이 도구는 텍스트 전용입니다. 이미지 비교는 전용 도구(ImageMagick compare, Kaleidoscope 등)를 사용하세요.

Q: 세 개 이상의 파일을 비교할 수 있나요?

A: 이 도구는 2개 파일 비교만 지원합니다. 3-way merge가 필요하면 git merge나 전용 도구를 사용하세요.

💡 효과적인 텍스트 비교 팁

  • 줄 단위로 정리: 비교 전 텍스트를 줄 단위로 정리하면 더 명확한 결과를 얻을 수 있습니다
  • 불필요한 공백 제거: 끝 공백이나 여러 개의 연속 공백은 미리 정리하세요
  • 인코딩 확인: 두 텍스트의 인코딩(UTF-8, EUC-KR 등)이 같은지 확인하세요
  • 줄바꿈 문자 통일: Windows(CRLF)와 Unix(LF)의 줄바꿈 차이에 주의하세요
  • 단어 단위 비교: 한 줄에 여러 변경이 있다면 단어 단위 비교가 유용합니다
  • 컨텍스트 활용: 변경 부분 주변의 맥락도 함께 확인하세요

⚠️ 주의사항

  • 민감한 정보(비밀번호, API 키 등)가 포함된 텍스트를 비교할 때는 주의하세요
  • 매우 긴 텍스트는 브라우저 메모리를 많이 사용할 수 있습니다
  • 바이너리 데이터나 특수 문자가 포함된 경우 정확한 비교가 어려울 수 있습니다
  • 자동 저장되지 않으므로 중요한 결과는 별도로 저장하세요

🔗 관련 도구

텍스트 작업에 유용한 다른 도구들도 활용해보세요: