~/tools / diff
テキスト差分比較(diff)
2つのテキストを行単位で比較し、追加・削除・変更を色分け表示。変更行は文字単位でもハイライトします。処理はブラウザ内で完結するので、コードや契約書など外部に出せないテキストも安全です。
旧テキスト(変更前)
新テキスト(変更後)
差分
ショートカット: 入力エリア内で Ctrl/⌘ + Enter = 比較 / 入力はこのブラウザに自動保存されます(クリアで消去)。外部への送信はありません。
使い方
- 左のエリアに変更前(旧)、右のエリアに変更後(新)のテキストを貼り付けます。
- 「▶ 比較する」をクリックすると、行単位の差分が下に表示されます。削除された行は赤系、追加された行は緑系で色分けされ、変更された行は文字単位で違いがハイライトされます。
- 「並列表示」は左右2カラムで新旧を見比べる形式、「統合表示」は1カラムに「-」「+」の行を並べるunified形式です。「⧉ unified形式でコピー」でパッチ風のテキストとしてコピーできます。
- インデント変更や表記ゆれを無視したいときは、「行頭行末の空白を無視」「大文字小文字を無視」「空行を無視」のオプションをオンにしてください(オン/オフすると自動で再比較されます)。
よくある質問
入力したテキストはどこかに送信されますか?
いいえ。差分の計算・表示はすべてブラウザ内のJavaScriptで実行され、テキストが外部に送信されることは一切ありません。契約書の改訂チェックやソースコードの比較など、外部に出せない内容も安心して使えます。入力の自動保存もお使いのブラウザのlocalStorageのみに保存されます。
どんなアルゴリズムで比較していますか?
行単位でLCS(最長共通部分列)に基づくMyers法の差分アルゴリズムを使用しています。さらに、変更された行のペアについては文字単位でも同じアルゴリズムを適用し、行の中のどこが変わったかをハイライト表示します。
空白や大文字小文字の違いを無視できますか?
はい。「行頭行末の空白を無視」「大文字小文字を無視」「空行を無視」の3つのオプションを用意しています。インデントだけが変わったコードや、大文字小文字の表記ゆれがある文章を比較するときにオンにすると、本質的な変更だけを確認できます。
比較できるテキストの長さに上限はありますか?
片方が20,000行を超える場合は処理を中断します。5,000行を超える場合は警告を表示しますが、比較自体は実行できます。また、2つのテキストがほぼ全面的に異なる場合は、計算量を抑えるため一部を単純な「全削除・全追加」として表示することがあります。