テキスト差分ツール|2つの文章の変更点を色分け表示(無料・送信なし)

契約書の新旧版、記事のリライト前後、設定ファイルの変更点。「どこが変わったのか」を目で探す作業は、見落としが起きたときの被害が大きいわりに、誰の手柄にもなりません。

このツールは、2つの文章を行単位で比較して、追加された行と削除された行を色分けします。一致率と変更行数も同時に出るので、変更の規模がひと目で分かります。

比較はすべてブラウザ内で行われ、貼り付けた文章は送信されません。登録も不要です。社外に出せない文書でも、そのまま貼り付けて使えます。

テキスト差分(diff)

2つの文章を行単位で比較し、追加された行と削除された行を色分けして表示します。

行単位の差分は「行がまるごと変わったか」を見る

このツールは行単位で比較します。1行の中の1文字だけが違っても、その行は「削除された行」と「追加された行」の組として表示されます。

比較の粒度向いている用途弱点
行単位(このツール)契約書、設定ファイル、ソースコード、箇条書き1行が長いと、どこが変わったか分かりにくい
文字単位短い文章、キャッチコピー、単語の置換確認長文だと差分が細かすぎて読めなくなる

日本語の文章を比べるときのコツは、比較する前に、句点(。)で改行を入れておくことです。1文1行にすれば、行単位の差分でも変更箇所がはっきり分かります。段落がまるごと1行になっていると、句読点ひとつの違いで段落全体が「変更あり」と表示されてしまいます。

「同じに見えるのに違う」と言われたとき

目で見て同じなのに差分が出る場合、原因はほぼ見えない文字です。

原因なぜ起きるか対処
行末の空白コピー元に半角スペースが残っている「行頭・行末の空白を無視」をオンにする
全角スペースと半角スペース見た目が似ているが別の文字置換してから比較する
改行コードの違いWindowsはCRLF、Mac・LinuxはLFこのツールは自動で吸収します
大文字と小文字英数字の表記ゆれ「大文字小文字を区別しない」をオンにする
似た形の記号ハイフン・全角マイナス・長音記号など置換してから比較する

見た目が同じで文字コードが違う記号は、日本語の文書でとくに厄介です。「ー」(長音)「−」(マイナス)「-」(ハイフン)「‐」(ハイフン)はすべて別の文字です。差分が出るのに違いが見つからないときは、テキスト整形ツールで空白を正規化してから比較してください。

実務での使いどころ

  • 契約書・規約の版比較:先方から戻ってきた修正版と、こちらが送った版を比較する。条項の追加・削除がすぐ分かります。
  • 記事のリライト前後:どれだけ書き換えたかを一致率で把握できます。ほとんど変えていないリライトは、検索評価にも反映されにくいものです。
  • 設定ファイルの差分:動いていたときの設定と、動かなくなった今の設定を比べる。1行の違いが原因ということは珍しくありません。
  • 翻訳・校正の確認:校正者が返してきた原稿で、どこに手が入ったかを確認する。
  • メール文面のテンプレート管理:使い回しているテンプレートが、いつの間にか分岐していないかを確認する。

差分はどうやって計算されているか

差分ツールが内部でやっているのは、2つの行の並びから「最も長い共通部分」を見つけることです。共通部分に含まれない行が、削除または追加として表示されます。

この計算は最長共通部分列(LCS)と呼ばれ、素直に実装すると「元の行数 × 比較先の行数」に比例した手間がかかります。1,000行同士なら100万回、5,000行同士なら2,500万回です。行数が2倍になると、計算量は4倍になります。

そのため実用的な差分ツールは、先に工夫をします。このツールも、先頭から一致している行と、末尾から一致している行を先に取り除いてからLCSを計算しています。長い文書の一部だけを直した場合、実際に比較する範囲はごく狭くなるため、瞬時に結果が出ます。

上限は2,000行までに設定しています。それを超える場合や、まったく異なる文書同士を比べる場合は、変更のある範囲だけを切り出して貼り付けてください。

貼り付けた文章はどこへ行くのか

差分ツールを業務で使うとき、いちばん見落とされやすいのがここです。多くのオンライン差分ツールは、入力された文章をサーバーに送って処理しています。

契約書、社内規程、顧客情報を含む文面、未公開の原稿。こうした文書を外部のサーバーに送ることは、社内規程で禁止されている場合があります。

このツールはJavaScriptだけで比較を完結させています。ページを開いた時点で必要なものはすべて読み込まれており、比較の実行時に通信は発生しません。ブラウザの開発者ツールでネットワークを見れば、送信が起きていないことを確認できます。

心配な場合は、ページを開いたあとで機内モードにする、あるいはネットワークを切断してから比較するという確かめ方もあります。オフラインでも動作します。

git diff の記号の読み方

コマンドラインの diffgit diff が出す形式は「ユニファイド形式」と呼ばれます。記号の意味さえ分かれば、慣れていなくても読めます。

行の先頭意味
--- / +++比較している2つのファイル名。--- が変更前、+++ が変更後
@@ -12,7 +12,9 @@この塊が「変更前の12行目から7行分」と「変更後の12行目から9行分」に対応することを示す
半角スペース変更のない行(前後の文脈として表示されている)
-変更前にあり、変更後に消えた行
+変更後に追加された行

1行を書き換えた場合は「その行の削除」と「新しい行の追加」の2行として表示されます。これは行単位で比較しているためで、エラーではありません。このツールの表示もこの考え方に合わせています。

ユニファイド形式には、変更行の前後3行を文脈として一緒に表示するという慣習があります。このツールの「変更がない部分を折りたたむ」も同じ3行にそろえてあるため、git の出力を見慣れている人ならそのまま読めます。

よくある質問

Wordファイルをそのまま比較できますか

このツールはテキストを扱うため、Wordファイルは開けません。本文を選択してコピーし、貼り付けてください。なおWordには「文書の比較」機能が標準で備わっており、書式の変更まで含めて比べたい場合はそちらが適しています。

変更のない部分が省略されて表示されます

「変更がない部分を折りたたむ」がオンになっているためです。変更行の前後3行だけを残し、それ以外は「N行を省略」と表示します。全文を見たい場合はチェックを外してください。

3つ以上のテキストを比較できますか

このツールは2つまでです。3つ以上ある場合は、基準となるものを決めて1対1で順に比較してください。

一致率はどう計算していますか

共通していた行数を、2つのテキストのうち行数が多いほうで割った値です。行単位の目安であり、文字数ベースの類似度とは一致しません。

結果を保存できますか

保存機能はありません。ブラウザの印刷機能でPDFとして残すか、画面を範囲指定でコピーしてください。何も保存しない設計にしているのは、貼り付けた文章を残さないためです。

この記事で使える無料ツール

まとめ

差分の確認で失敗するのは、たいてい目で追ってしまったときです。1文字の違いは人間の目には残りませんが、契約条項や設定ファイルでは意味が変わります。

日本語の文書を比べるときは、比較する前に1文1行にする。これだけで差分の読みやすさが大きく変わります。そして社外に出せない文書を扱うときは、その差分ツールが通信しているかどうかを一度確認してみてください。