テキスト比較(差分チェック)
左に元の文章、右に新しい文章を貼り付けてください。削除された行は赤、追加された行は緑で表示され、編集された行の中では実際に変わった単語がハイライトされます。長い段落の中の1語だけの変更もすぐに見つけられます。
0 文字 · 0 語 · 0 行
0 文字 · 0 語 · 0 行
両方の入力欄にテキストを貼り付けると、ここに差分が表示されます。
0 文字 · 0 語 · 0 行
赤い行(−)は元のテキストにだけあり、緑の行(+)は変更後のテキストにだけあります。太字は異なる単語です。 すべてこのブラウザのタブ内で処理されます。テキストがアップロードされたり保存されたりすることはありません。
このツールでできること
テキスト比較 最長共通部分列(LCS)の差分アルゴリズムで2つのテキストを行単位で比較し、削除された行を赤、追加された行を緑で示します。編集された行では、変更された単語そのものを強調表示します。
the quick brown fox → the quick red fox
- the quick brown fox + the quick red fox
比較の仕組み
このツールは2つのテキストを行単位に分割し、最長共通部分列を求めます。つまり、両方のテキストに同じ順序で現れる行の最大の集合です。これらの行は変更なしとして表示され、元のテキストの残りの行は削除、新しいテキストの残りの行は挿入として扱われます。これは、1976年にHuntとMcIlroyが説明した従来のUnixのdiffプログラムや、バージョン管理システムの変更表示と同じ考え方です。
削除された行のまとまりのすぐ後に追加された行のまとまりが続く場合、多くは同じ行を編集したものです。このツールはそれらをペアにし、各ペアの中で単語単位の2回目の比較を行います。そのため、2行を読み直さなくても「火曜日」が「水曜日」に変わったことが分かります。左側には両バージョンの行番号が表示されるので、ご自身のファイルで各変更箇所を見つけられます。
細かな違いを無視する:大文字・小文字と空白
2つのテキストには、気にならない違いがあることもあります。スペースの代わりにタブでインデントし直した行、エディタが残した行末のスペース、見出しの大文字から小文字への変更などです。空白の違いを無視は、連続するスペースやタブを1つのスペースとして扱い、行末のスペースを無視します。大文字と小文字を区別しないは、大文字・小文字を区別せずに行を比較します。ハイライト表示される結果には、新しいテキストが書かれたとおりに表示されます。
それ以外の比較は厳密です。カーリー(曲線)のアポストロフィとストレートのアポストロフィは別の文字として扱われ、ハイフンとenダッシュも別の文字です。同じように見えるのに行が差分として表示される場合は、装飾的な句読点やノーブレークスペースが原因であることがよくあります。
主な使い方
執筆者は編集者から戻ってきた原稿を比較し、法務担当者や購入者は新しい契約書でどの条項が移動したかを確認します。開発者は2回の実行による設定ファイルやログ出力を比較し、学生は言い換えの作業で実際に何が変わったかを確かめます。結果は、削除行の前にマイナス記号、追加行の前にプラス記号を付けたunified diff形式のプレーンテキストとして、コピーまたはダウンロードできます。ほかの整形作業には、残りのテキストツールも同じようにブラウザ内だけで使えます。
よくある質問
- 比較するテキストはどこかにアップロードされますか?
- いいえ。2つのテキストはこのブラウザのタブ内にとどまり、比較はお使いの端末上でJavaScriptによって処理されます。そのため、機密性の高い草稿や契約書も安全に比較できます。
- 移動した段落が削除と追加として表示されるのはなぜですか?
- 行単位の差分では、相対的な順序が変わらない行だけが一致として扱われます。ブロックが移動した場合、アルゴリズムは一方の位置を保持し、もう一方を削除と挿入として表示します。これはgit diffと同じ動作です。
- どのくらいの長さのテキストまで比較できますか?
- それぞれ数千行程度であれば即座に比較できます。先頭と末尾の同一行は主な比較の前にスキップされ、残った中間部分が非常に大きい場合は、タブがフリーズしないようにテキストの分割をお願いするメッセージが表示されます。
- WordやPDFファイルを直接比較できますか?
- テキストを貼り付けてください。Wordからコピーすると段落が行として保持されます。PDFからコピーしたテキストには強制的な改行が入っていることが多いので、先に「改行を削除」ツールで取り除くことができます。
- ダウンロードしたファイルのマイナス記号とプラス記号は何を意味しますか?
- マイナスで始まる行は元のテキストだけにあり、プラスで始まる行は変更後のテキストだけにあります。スペース2つで始まる行は変更されていません。