テキスト比較(差分チェック) — 2つの文章を比較
2つのテキストの変更箇所をハイライトする差分チェッカーです
ブラウザー内で処理・アップロード不要
両方の欄にテキストを入力すると、違いがすぐに表示されます。
どんなツールか
2つのテキストを並べて、どこが変わったのかを正確に表示する差分比較ツールです。記事の修正前と修正後、契約書の案、設定ファイル、コードの断片などを貼り付けて使います。追加された部分は緑色と下線、削除された部分は赤色と取り消し線で示され、結果の上に追加と削除の数が表示されます。
使い方
- 左の欄に元のテキスト、右の欄に変更後のテキストを貼り付けます。入力に合わせて結果が表示されます。
- 比較の単位を行・単語・文字から選びます。
- 左右並べての表示と統合表示を切り替えます。行単位の左右表示では、置き換えられた行が同じ高さにそろいます。
- 空白や大文字・小文字の違いが問題にならない場合は、「行の前後の空白を無視」や「大文字・小文字を無視」をオンにします。
- 入れ替えボタンで左右のテキストを交換できます。
比較のしくみ
- 比較にはオープンソースのjsdiffライブラリ(BSD-3-Clause)を使っています。Myersの差分アルゴリズムで最小限の編集を求めます。必要なときだけ読み込むので、ほかのページには影響しません。
- 初期設定では、両方のテキストを先にUnicodeのNFCで正規化します。そのため、Macでコピーした濁点が分かれた文字(NFD)も、Windowsで入力した同じ文字と一致します。元のコードポイントのまま比較したい場合はオフにしてください。
- 単語単位ではブラウザーのIntl.Segmenterで単語を区切るので、スペースを使わない日本語や中国語でも、変わった語だけに印が付きます。
- 件数は選んだ単位で数えます。行単位では行数、単語単位では空白で区切られたまとまりの数、文字単位では空白以外の文字数です。
- 片側の上限は行単位で40万文字、単語単位で20万文字、文字単位で4万文字で、4秒を超えた比較は中止します。
- 入力が大きいときは、ページの反応を保つため、入力が少し止まってから比較します。
- 2つのテキストが一致する場合は、同じであることを表示します。
比較例
| 元のテキスト | 変更後 | 単位 | 結果 |
|---|---|---|---|
| a / b / c | a / B / c / d | 行 | 行: +2 −1 |
| the quick brown fox | the slow brown dog | 単語 | 単語: +2 −2 |
| こんにちは | こんにちわ | 文字 | 文字: +1 −1 |
| Hello | hello | 行・大文字小文字を無視 | 同じ |
よくある質問
行・単語・文字のどの単位で比較すればよいですか?
1行が1つの単位になるコードや設定ファイルには行単位、推敲した文章には単語単位、1文字の誤字を探すには文字単位が向いています。
文字数の上限はありますか?
片側あたり、行単位で40万文字、単語単位で20万文字、文字単位で4万文字までです。文字単位の比較は長い入力で時間がかかりやすいため上限が低く、4秒を超えた比較はメッセージを表示して中止します。
「行の前後の空白を無視」は何をしますか?
行単位では、各行の先頭と末尾の空白の違いを無視します。単語単位では、もともと単語の間の空白の量の違いは無視されます。
日本語の文章でも単語単位で比較できますか?
できます。単語単位ではブラウザーのIntl.Segmenterで単語を区切るので、スペースのない日本語や中国語でも、変わった語だけに印が付きます。区切り方はブラウザーの辞書によって多少異なります。
入力したテキストはアップロードされますか?
されません。比較はブラウザーの中で行われ、何も保存・送信されません。