契約書の新旧版、記事のリライト前後、設定ファイルの変更点。「どこが変わったのか」を目で探す作業は、見落としが起きたときの被害が大きいわりに、誰の手柄にもなりません。
このツールは、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 の記号の読み方
コマンドラインの diff や git 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行にする。これだけで差分の読みやすさが大きく変わります。そして社外に出せない文書を扱うときは、その差分ツールが通信しているかどうかを一度確認してみてください。