piapia123
ja

テキスト差分

テキスト処理

処理はすべてブラウザ内で完結します。データは送信されません

変更前
変更後
差分

両側に入力すると比較が始まります

2つのテキストを並べ、どこが変更され、どこが追加され、どこが削除されたかを行ごとに示します。変更行は最小差分で整列し(最長共通部分列アルゴリズム)、ひとまとまりを「変わった」とだけ扱うことはしません。設定ファイル、ログ、コード片、文章の2つの版を比べるのに向いています。

機能

  • 行ごとに比較し、追加・削除・未変更をそれぞれ示します
  • 変更は最小差分で整列(LCS アルゴリズム)。ひとまとまりのままの印を付けません
  • 左右2ペインで行番号も同時に表示し、元のファイルと1対1で対応します
  • CRLF / LF の改行の違いは自動で無視するので、偽の差分が画面を埋めません
  • 長すぎるテキストは自動で縮退し、その旨を伝えます。ページが固まることはありません

使い方

  1. 左の欄に元のテキスト、右の欄に新しいテキストを貼り付けます
  2. 比較結果はリアルタイムで更新されます。ボタンを押す必要はありません
  3. 緑が追加、赤が削除、灰色が未変更です

よくある質問

2つのテキストが同じに見えるのに差分が出るのはなぜですか?
よくある原因は行末の空白か改行コードの違いです。このサイトでは CRLF と LF を同じ改行として扱いますが、行末に余分な空白があればそれは差分として数えられます —— 実際に違っているのですが、目で見つけにくいだけです。
変更は何を基準に整列されますか?
最長共通部分列(LCS)アルゴリズムで両側の最大の一致部分を求め、残りを追加と削除として扱います。そのため、本当に変わった行だけが示され、最初の差分点から後ろをすべて変更として塗りつぶすことはありません。
テキストが長すぎるとどうなりますか?
比較そのものが O(n×m) のアルゴリズムなので、長すぎる入力では「全体を削除 + 全体を追加」という粗い結果に縮退します。その際は画面で縮退したことを明示します —— 結果は正しいままで、最小差分に整列されていないだけです。

関連ツール