てもりやてもりや

diff比較ツールのアイコン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の組み込み比較機能の使用をお勧めします。

大文字小文字を無視して比較できますか?

本ツールは大文字小文字を区別して比較します。大文字小文字を無視したい場合は、比較前に両方のテキストを大文字(または小文字)に統一してから貼り付けてください。

免責事項

  • 本ツールはブラウザ上で動作する簡易テキスト比較ツールです。大量のテキストでは処理に時間がかかる場合があります。
  • 機密情報の取り扱いにはご注意ください。入力内容はサーバーに送信されませんが、ブラウザのメモリ上で処理されます。
  • 本ツールの利用により生じた損害について、当サイトは一切の責任を負いません。

開発ツールの関連ツール