テキスト比較(差分チェック)
2つの文章を行ごとに比べ、追加・削除された行と、行の中で変わった部分を色と記号で表示します。左右に並べた表示やunified diffの書き出しにも対応。
違いが多すぎるため、変更部分は行単位の「すべて削除・すべて追加」として表示しています。
無視する設定がオンのときは、無視した違いをdiffに含めません(パッチとして当てると元に戻らない場合があります)。
選択したファイルは、お使いの端末のブラウザ内で処理されます。当サイトのサーバーへ送信・保存することはありません。アクセス解析の取り扱いはプライバシーポリシーをご確認ください。
使い方
- 左(上)に元の文章、右(下)に変更後の文章を貼り付けます。「ファイルを開く」でテキストファイルを読み込むこともできます。
- 必要に応じて「行頭・行末の空白を無視」「大文字・小文字を区別しない」を選び、「比較する」を押します。
- 追加された行は「+」と緑、削除された行は「−」と赤で表示されます。行の中で変わった語句には下線または取り消し線が付きます。
- 「表示」で「左右に並べる」を選ぶと、元の文章と変更後の文章を横に並べて表示します。
- 初期設定では、変更のない行は前後3行だけを表示します。すべて見たい場合は「変更のない行もすべて表示」を選びます。
- 「unified diff をコピー」または「.diff で保存」で、差分をパッチ形式で書き出せます。
対応形式と制限
- 比較できるのは、それぞれ5,000行・50万文字までです。
- ファイルはUTF-8のテキストファイル(2MBまで)を読み込めます。Word・PDF・Excelなどの文書ファイルは読み込めません。
- 違いが非常に多い場合(行の追加・削除が合わせて約2,000行を超える場合)は、詳しい比較を省略し、変わった範囲をまとめて「削除・追加」として表示します。
- 行の移動は「削除」と「追加」として表示されます。
- 「行頭・行末の空白を無視」は行の途中の空白の違いは無視しません。
- unified diff は diff -u と同じ形式ですが、無視する設定がオンのときは無視した違いを含みません。最終行の改行の有無だけの違いは検出しません。
計算・変換の仕組み
行単位の比較には、最小の編集(追加・削除)の手順を求める Myers の差分アルゴリズムを使っています。先頭と末尾の共通部分は先に取り除いてから比較します。
削除された行と追加された行が並んでいる場合は、行どうしを組にして語句単位でもう一度比較し、変わった部分を強調します。英数字は単語ごと、日本語などはおおむね1文字ごとに比べます。
左右並びの表示では、変更のまとまりごとにn番目の削除行とn番目の追加行を同じ高さに並べます。
unified diff は変更の前後3行を文脈として含め、「@@ -開始行,行数 +開始行,行数 @@」の見出しを付けて出力します。
色だけに頼らないよう、行頭の「+」「−」の記号と、読み上げソフト向けの「追加」「削除」のラベルも付けています。
よくある質問
文章はサーバーに送信されますか?
いいえ。比較とファイルの読み込みはすべてブラウザ内で行い、入力した文章を送信・保存することはありません。契約書や原稿の比較にも使えます。
ファイル同士を比較できますか?
テキストファイル(.txt・.md・.csv・ソースコードなど、UTF-8)は「ファイルを開く」で読み込めます。Wordなどの文書ファイルは、文章をコピーして貼り付けてください。
差分をパッチとして保存できますか?
はい。「.diff で保存」で、変更の前後3行を含む unified diff 形式(diff -u と同じ形式)のファイルを保存できます。
改行コードの違い(CRLFとLF)は差分になりますか?
なりません。改行コードはどちらも同じ改行として扱います。
関連する使い方ガイド
- JSONのエラー箇所を見つけて直し、整形する方法パーサーが読めなくなる代表的なJSONの書き間違い(引用符・カンマ・コメント・True/False)の見つけ方と直し方、整形・圧縮・ツリー表示の使い方を説明します。
関連ツール
最終更新日: