diff比較ツール
2つのテキストを比較して差分を表示。変更・追加・削除箇所をハイライト。
入力内容はサーバーに送信されません
追加行
---
削除行
---
一致行
---
計算結果の詳細
条件を入力してください
diff比較とは
diff(差分比較)は、2つのテキストを比較して追加・削除・変更された箇所を特定する技術です。もともとはUNIX系OSのdiffコマンドとして1970年代に開発され、現在ではGitなどのバージョン管理システムの中核技術として使われています。
diff比較では、追加された行を緑、削除された行を赤で表示するのが一般的な慣習です。一致した行はそのまま表示されます。これにより、何が変わったのかを一目で把握できます。
diff比較の主な活用場面
- コードレビュー:プルリクエストやコミットの変更内容を確認します。GitHubやGitLabのコードレビュー画面もdiffを使っています。
- 設定ファイルの変更確認:サーバーの設定ファイルを修正した際に、変更前後を比較して誤りがないか確認します。
- 文書の校正・校閲:契約書や記事の修正版を比較して、どこが変わったかを確認します。
- テンプレートの差異確認:2つのテンプレートがどこで異なるかを素早く特定します。
- データ比較:CSVやJSONなどのデータファイルを比較して、変更・追加・削除されたレコードを確認します。
diffアルゴリズムについて
diff比較には複数のアルゴリズムがあります。代表的なものを紹介します。
- LCS(最長共通部分列):2つのテキストの最も長い共通部分を見つけ、それ以外を差分として判定します。基本的なdiffアルゴリズムです。
- Myers diff:Gitが採用しているアルゴリズムで、LCSより高速かつ変更箇所の数を最小化する差分を出力します。
- Histogram diff:Gitのデフォルトのdiffアルゴリズムのひとつで、単語の出現頻度に基づいて比較します。コードの移動やリファクタリングで見やすい差分を生成します。
よくある質問
diff比較とは?
2つのテキストの違い(差分)を検出する処理です。変更された行、追加された行、削除された行を色分けして表示し、何がどのように変わったかを視覚的に把握できます。
どんな場面で使う?
コードレビュー、設定ファイルの変更確認、文書の修正箇所チェック、バージョン間の差異確認、コピーライトが一致するかの確認などに使います。
アルゴリズムは?
一般的なdiffアルゴリズム(LCS: Longest Common Subsequence)に基づいて差分を検出します。Gitが内部で使うMyers diffアルゴリズムも同様のアプローチです。
Gitのdiffとの違いは?
Gitのdiffはファイル単位の変更管理を前提としており、unified format(@@ -n,m +n,m @@のような形式)で出力します。本ツールはシンプルなテキスト比較に特化しており、Gitリポジトリなしで気軽に使えます。
大量のテキストの比較に使える?
ブラウザ上で処理するため、数百KB以上の大きなテキストでは処理が重くなる場合があります。大きなファイルの比較にはコマンドラインのdiffツールやVSCodeの組み込み比較機能の使用をお勧めします。
大文字小文字を無視して比較できますか?
本ツールは大文字小文字を区別して比較します。大文字小文字を無視したい場合は、比較前に両方のテキストを大文字(または小文字)に統一してから貼り付けてください。
免責事項
- 本ツールはブラウザ上で動作する簡易テキスト比較ツールです。大量のテキストでは処理に時間がかかる場合があります。
- 機密情報の取り扱いにはご注意ください。入力内容はサーバーに送信されませんが、ブラウザのメモリ上で処理されます。
- 本ツールの利用により生じた損害について、当サイトは一切の責任を負いません。