差分チェッカー
2つのテキストを、行単位、単語単位、文字単位で比較します。インラインまたは左右並べて表示でき、大文字小文字や空白を無視し、ユニファイド diff のパッチを出力できます。
すべてブラウザ内で実行されます。データがアップロードさ れることはありません。
関連ツール
すべて表示差分チェッカーとは?
元のテキストと変更後のテキストを比較し、追加された部分と削除された部分をハイライトします。行、単語、文字の単位で比較でき、結果をインラインまたは左右に並べて表示し、大文字小文字や空白の違いを無視し、ユニファイド diff(パッチ)を出力できます。
差分チェッカーの使い方
- 元のテキストを左に、変更後のテキストを右に貼り付けます。
- 比較の単位(行、単語、文字)と表示を選びます(左右に並べる表示は行モードで使えます)。
- 違いが重要でない場合は、大文字と小文字を無視や空白の違いを無視にチェックします。
- 追加・削除された単位の概要を確認し、ユニファイド diff(パッチ)を開いてパッチをコピーまたはダウンロードします。
例
Original: a / b / c → Changed: a / B / c / d (one item per line)
2 line(s) added · 1 line(s) removed - b + B + d
差分チェッカーを使うべき場面
契約書、記事、設定ファイル、コードの断片の編集内容の確認や、リストの2つのバージョンの間の変更点の確認に使えます。リポジトリ全体やバイナリファイルには、Git やデスクトップの差分ツールを使ってください。2つのテキストは、ブラウザ内に留まります。
差分チェッカーの仕組み
比較には diff ライブラリ(jsdiff)を使います。このライブラリは Myers の O(ND) 差分アルゴリズムを実装しており、2つのトークン列の間の最短の編集手順を求めます。行モードは行でトークン化し(大文字小文字と前後の空白を任意で無視)、単語モードは単語と空白で、文字モードは文字でトークン化します。削除された部分は赤の取り消し線、追加された部分は緑で表示されます。左右並べの表示では、削除された行と追加された行のブロックが行にまとめられます。パッチは、前後3行のコンテキストを持つユニファイド形式で createTwoFilesPatch により生成されます。
一般的な使用例
- 文書の2つのバージョン間の変更を確認する
- 設定ファイルや環境変数を比較する
- 同僚が貼り付けたテキストで何を変えたか確認する
- 2つのコードの断片からパッチファイルを作る
- 長いリストの小さな違いを見つける
よくある質問
どのアルゴリズムが使われていますか?
jsdiff ライブラリによる Myers の差分アルゴリズムです。Git や GNU diff が使うのと同じ系統のアルゴリズムです。
変更された行が削除と追加として表示されるのはなぜですか?
行モードは行を単位として扱うため、何かが変わると別の行になります。行の内部で何が変わったかを正確に見るには、単語モードまたは文字モードに切り替えてください。
テキストはアップロードされますか?
いいえ。2つのテキストはブラウザ内で比較されます。
パッチを Git で適用できますか?
ユニファイド diff はファイル名に original.txt と changed.txt を使います。ファイル名を調整したあと、patch や git apply で適用できます。