📝 텍스트 비교 도구
두 텍스트의 차이점을 시각적으로 비교하고 분석하세요
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:
📖 텍스트 비교(Diff) 완벽 가이드
🔍 텍스트 비교(Diff)란?
텍스트 비교(Diff, Difference)는 두 개의 텍스트나 파일 간의 차이점을 찾아내고 시각적으로 표시하는 기능입니다. 원본 텍스트와 수정된 텍스트를 비교하여 어떤 부분이 추가, 삭제, 변경되었는지를 한눈에 파악할 수 있습니다.
- 추가(Insertion): 새롭게 추가된 텍스트 (보통 초록색으로 표시)
- 삭제(Deletion): 제거된 텍스트 (보통 빨간색으로 표시)
- 변경(Modification): 내용이 수정된 부분
- 컨텍스트(Context): 변경된 부분 주변의 동일한 텍스트
💡 텍스트 비교 사용 사례
- 코드 리뷰: 풀 리퀘스트(PR)에서 변경된 코드 확인
- 문서 버전 관리: 계약서, 보고서, 기획서의 수정 내역 추적
- 번역 검토: 원문과 번역문의 차이점 확인
- 교정 작업: 원고의 수정 전후 비교
- 설정 파일 비교: 서버 설정, 환경 변수 등의 차이 확인
- 데이터 검증: 두 데이터 세트 간의 불일치 확인
- 표절 검사: 두 문서 간의 유사성 비교
- 로그 분석: 시간대별 로그 파일의 변화 추적
🔧 사용 방법
- 원본 텍스트 입력: 왼쪽(Original) 입력 영역에 비교 기준이 되는 텍스트 붙여넣기
- 수정 텍스트 입력: 오른쪽(Modified) 입력 영역에 비교할 텍스트 붙여넣기
- 자동 비교: 입력 즉시 차이점이 실시간으로 표시됩니다
- 결과 확인: 추가된 부분(초록), 삭제된 부분(빨강)을 시각적으로 확인
- 라인 단위/단어 단위: 비교 방식을 선택하여 원하는 상세도로 분석
📊 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-branchUnix/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 lineUnified Diff
컨텍스트와 함께 표시. GitHub PR에서 주로 사용
@@ -1,3 +1,3 @@
context line
-removed line
+added line
context lineSide-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 키 등)가 포함된 텍스트를 비교할 때는 주의하세요
- 매우 긴 텍스트는 브라우저 메모리를 많이 사용할 수 있습니다
- 바이너리 데이터나 특수 문자가 포함된 경우 정확한 비교가 어려울 수 있습니다
- 자동 저장되지 않으므로 중요한 결과는 별도로 저장하세요
🔗 관련 도구
텍스트 작업에 유용한 다른 도구들도 활용해보세요:
- JSON Formatter - JSON 포맷팅 및 비교
- 텍스트 분석기 - 글자 수, 단어 수 분석
- 대소문자 변환기 - 대소문자 변환
- Base64 인코더 - 텍스트 인코딩/디코딩