テキスト差分チェッカー
2つのテキストを比較し、追加・削除・変更なしの行を瞬時に並べて表示
元のテキスト
変更後のテキスト
比較はすべてブラウザ内で行われます。テキストがサーバに送信されることはありません。
差分
このツールについて
このテキスト差分チェッカーは、2つのテキストを比較して、どこが変わったのかを正確に表示します。左に元のテキスト、右に変更後のテキストを貼り付けると、行を揃えて並べ、追加・削除・変更なしの行を一目で確認できます。追加された行は緑、削除された行は赤、変更のない行はそのままの色で表示されます。+と-の記号を付けて1カラムにまとめるUnified表示と、2つのバージョンを左右の揃ったカラムに並べるSide-by-side表示を切り替えられます。空白を無視・大文字小文字を無視・行末の空白を無視のオプションを使えば、見た目だけの違いに惑わされません。追加・削除・変更なしの行数も常に集計表示されます。すべての処理はブラウザ内で行われるため、大きなファイルや機密文書でもデバイスの外に出ることはありません。
使い方
- 1 左のボックスに元のテキスト、右のボックスに変更後のテキストを貼り付けるか入力します。
- 2 表示を選びます。カラムで比較するSide-by-side、または1カラムの+/-リストのUnifiedです。
- 3 空白を無視・大文字小文字を無視・行末の空白を無視をオンにして、見た目だけの違いを除外します。
- 4 ハイライトされた行と追加/削除/変更なしの件数を確認し、必要なら結果をコピーします。
仕組み
ツールは両方のテキストを行に分割し、最長共通部分列(LCS)アルゴリズムで比較します。LCSは、両方のバージョンに同じ順序で現れる行の最大の集合を見つけます。これが変更なしの行です。その共通部分列に含まれない行は、元のテキストにだけある行を「削除」、変更後のテキストにだけある行を「追加」として分類します。LCSは真に最大なので、差分は可能な限り少ない追加・削除で表現され、段落全体を再フラグせず自然な結果になります。無視オプションは比較時のみ適用されます。一致判定のために行を正規化(トリム・連続空白の圧縮・小文字化)しますが、表示は常に原文のままです。外部ライブラリは使用せず、アップロードも行いません。
よくある質問
テキストはサーバに送信されますか?
いいえ。比較はすべてブラウザ内のJavaScriptで実行されます。元のテキストと変更後のテキストがデバイスの外に出ることはないため、非公開のコードや契約書、メモも安全に比較できます。インターネットを切断してもツールは動作します。
UnifiedとSide-by-sideの違いは何ですか?
Unified表示は、追加行に+、削除行に-を付けて1カラムにまとめます。gitやpatchの出力に似ています。Side-by-side表示は、元と変更後を2つの揃ったカラムに並べ、対応する行を横に並べて確認できます。どちらも同じ差分を表示するので、読みやすい方を選んでください。
無視オプションは何をしますか?
「空白を無視」は各行をトリムし、連続するスペースやタブを1つにまとめるため、インデントの変化が差分になりません。「大文字小文字を無視」は大小文字を同一とみなします。「行末の空白を無視」は行末のスペースやタブを除外します。これらは行の一致判定にのみ影響し、表示されるのは常に原文です。
差分はどう計算されますか?
行単位の最長共通部分列(LCS)アルゴリズムを使用します。diffやgitと同じ系統の技術です。LCSは両バージョンに順序を保って共通する行の最大集合を見つけ、残りを追加または削除として分類することで、最小で最も分かりやすい変更を生成します。
サイズ制限はありますか?
比較を高速に保ち、ページの応答性を維持するため、各テキストは5,000行までに制限されています。超えた場合は入力を短くするようメッセージが表示されます。通常の文書・コードファイル・記事ならこの制限で十分です。
関連ツールと使い方
テキスト差分チェッカーは、文字数をカウントするワードカウンター、比較前に大文字小文字を整える大文字小文字変換、データを整形して差分を見やすくするJSON整形ツールと組み合わせると便利です。編集内容のレビュー、コードや設定の版比較、原稿の校正、2つのリビジョン間の変更点の確認に使われています。