onlinetools.dev

テキスト差分チェッカー

2 つのテキストを行単位で比較し、追加と削除を表示

ローカル実行
loading…
このツールについて

左に元のテキスト、右に変更後のバージョンを貼り付けると、統一された行単位の比較が得られます。削除は赤、追加は緑でマークされ、間のコンテキストは保持され、両側に元の行番号が付きます。2 つの設定ファイル、2 つの API レスポンス、チャットで誰かが貼ったスニペットの 2 バージョンの間で「実際に何が変わったのか?」に答える最速の方法です。

比較には行に対する最長共通部分列アルゴリズムを使用します。git diff の背後にあるものと同じ系統のアルゴリズムなので、ブロックの並び替えや小さな編集は、すべてを変更扱いにするのではなく読みやすい結果になります。サマリー行には追加・削除された行数の合計が表示されます。

どちらのテキストもページ内に留まるため、機密資料 — 契約書、設定ファイル内の資格情報、未公開の文面 — の diff を取っても、どこかのウェブサービスに貼り付けるリスクは一切ありません。

よくある質問

diff は単語単位ですか、行単位ですか?
行単位です。各行を 1 つの単位として比較します。これは開発者がコードや設定の diff を読むやり方に合っています。そのため 1 行の変更は、削除 1 件と追加 1 件として表示されます。文字レベルのインラインハイライトはロードマップにあります。
なぜ diff がすべてを変更済みとして表示するのですか?
たいていは目に見えない差異です。片方がタブでもう片方がスペース、Windows の CRLF 改行と Unix の LF、あるいは行末の空白です。比較の前に空白を正規化すると(JSON ペイロードならキーソート付きの JSON フォーマッターが役立ちます)、本当の変更が見えるようになります。
2 つの JSON レスポンスを意味のある形で diff できますか?
できます — まず両方をキーソートを有効にした JSON フォーマッターに通し、等価なドキュメントが同一にシリアライズされるようにしてください。そうすれば diff はキー順序のノイズではなく、本当の値の変更を表示します。
テキストサイズの上限はありますか?
アルゴリズムは一方のテキストの各行をもう一方の各行と比較するため、極端に大きなファイル(両側とも数万行)では少し時間がかかることがあります。典型的なコードファイルや API ペイロードは瞬時に比較できます。
関連ツール