無料オンライン差分チェッカーとテキスト比較
テキスト、Markdown、コードの2つのバージョンの違いを、左右表示またはインライン表示で確認できます。差分処理はクライアント側で行われ、サーバーには送信されません。
変更前
変更後
2つのテキストを比較する方法
2つのテキストを貼り付けます。
左のボックスに元のテキスト、右のボックスに変更後のテキストを入れてください。左右を逆に貼り付けた場合は「入れ替え」を使います。
「比較」をクリックします。
削除された行は赤、追加された行は緑になります。結果の上のカウンターには、追加・削除・変更なしの行数が表示されます。
表示を切り替えるか、コピーします。
分割表示とインライン表示を選ぶか、「差分をコピー」をクリックして変更内容をプレーンテキストで取得できます。「入力を編集」をクリックすると、テキストを修正してもう一度比較できます。
よくある質問
表示モード、行の変更、上限、差分のコピーについての回答です。
2つのテキストの違いを比較するにはどうすればよいですか?
元のテキストを左のボックスに、新しいバージョンを右のボックスに貼り付けて、「比較」をクリックします。削除された行は赤、追加された行は緑で表示され、カウンターに追加・削除・変更なしの行数が表示されます。
どの差分アルゴリズムを使っていますか?
jsdiffライブラリの行単位の差分を使っています。これはGitがデフォルトで使っているのと同じMyersアルゴリズムがベースです。元のテキストを変更後のテキストにするために必要な、削除と追加の行が最小になる組み合わせを見つけます。
空白や大文字・小文字の違いを無視できますか?
いいえ、今のところ対応していません。行末のスペース、スペースの代わりのタブ、大文字が1つ違うだけでも、その行は変更されたものとして扱われます。先に両方のテキストを整えてから比較してください。たとえば、コードエディターで行末のスペースを削除する方法があります。
なぜすべての行が変更されたと表示されるのですか?
すべての行で何かが変わっていて、多くの場合は目に見えないものです。タブでのインデント変更、エディターが追加した行末のスペース、折り返し幅の変更などが該当します。minifyされたコードは1行にまとまっているため、先に両方を整形してください。
行を追加しただけなのに、最後の行が変更扱いになるのはなぜですか?
元のテキストの最後の行の後ろに改行がない場合、その下に行を追加するとその行の末尾が変わるため、削除されて再び追加されたものとして表示されます。これを避けるには、両方のテキストの末尾でEnterキーを押してください。
変更された単語だけをハイライトしてくれますか?
いいえ。このチェッカーは行単位でマークするため、1語だけ変更しても、その行全体が削除され、続けて追加されたものとして表示されます。長い段落を比較するときは、両方のテキストで1文ずつ改行しておくと、変更された文が見つけやすくなります。
分割表示とインライン表示の違いは何ですか?
分割表示では、左に元のテキスト、右に変更後のテキストを表示し、変更箇所に色を付けます。インライン表示では1列にまとめ、変更されたブロックの前にマイナスまたはプラスを付けます。分割表示の左右の列は行ごとにそろっていないため、差分が長い場合はインライン表示のほうが読みやすくなります。
どのくらいの量のテキストを比較できますか?
決まった上限はありませんが、テキストが大きく、しかも大きく異なる場合は処理が遅くなります。同じコードをNodeでテストしたところ、1%だけ変更した10万行は0.3秒で終わりましたが、すべての行が異なる5,000行には約3秒かかりました。処理中はページが待機状態になります。
ファイルやPDFを比較できますか?
貼り付けたテキストのみ対応しています。ファイルのアップロード機能はないため、各ファイルを開いてテキストをコピーし、貼り付けてください。画像などのバイナリファイルは比較できません。PDFの場合は、先にテキストをコピーしてください。
差分をパッチとしてエクスポートできますか?
本物のパッチとしては出力できません。「差分をコピー」では、変更された行の前にマイナスまたはプラスを付けたプレーンテキストが取得できますが、@@ ヘッダーがないため git apply では読み込めません。また、空行はコピーに含まれないため、空白が重要な場合はご注意ください。
社内のコードや書類を貼り付けても安全ですか?
はい。比較はお使いのブラウザー内で実行され、どちらのテキストも送信されません。公開サイトでは、Google Analyticsにページビュー、比較にかかった時間、コピーやクリアを行ったという記録が送られますが、貼り付けた内容は送られません。
テキストとコードのための差分チェッカーの機能
jsdiffライブラリを使った行単位の比較です。2つの表示モードがあり、追加・削除・変更なしの行数も確認できます。

テキストを左右に並べて比較
分割表示では、左に元のテキスト、右に変更後のテキストを表示します。削除された行は左側が赤、追加された行は右側が緑で表示され、それ以外はそのままです。
- 左に元のテキスト、右に変更後のテキスト
- 削除は赤、追加は緑で表示
- 長い行はスクロールせず折り返し

すべての変更を1列で確認
インライン表示では、差分全体を1列に並べます。削除されたブロックは赤、追加されたブロックは緑で表示し、各ブロックの先頭行の前にマイナスまたはプラスを付けます。カウンターで行数の合計も確認できます。
- マイナスとプラスのブロック接頭辞
- 追加・削除・変更なしの行数を表示
- 再比較せずに表示を切り替え
行単位の比較
差分は行全体を単位として計算し、削除と追加の行数が最小になるMyers法を使います。1語だけ変更しても、その行全体が削除され、続けて追加されたものとして表示されます。
入れ替え、クリア、再編集
「入れ替え」は2つのボックスの内容を入れ替え、差分を逆方向で表示します。「クリア」は両方を空にします。比較後に「入力を編集」をクリックすると、テキストが入ったままボックスに戻ります。
差分をテキストとしてコピー
「差分をコピー」を使うと、変更された行の前にマイナスまたはプラス、それ以外の行の前に半角スペース2つを付けて、変更内容をクリップボードにコピーします。プレーンテキストであり、パッチファイルではありません。
テキストはお使いのデバイスに残ります
2つのテキストはお使いのブラウザー内で比較され、送信されることはありません。ツールが記録する利用統計は、比較にかかった時間と、コピーやクリアを行ったという記録だけです。
差分チェッカーの活用シーン
行単位の差分が「何が変わったのか」を教えてくれる3つの場面です。
コードレビュー
関数、設定ファイル、SQLクエリの2つのバージョンを貼り付けて、コミットやレビュー依頼の前に、どの行が変わったかを確認できます。
- 設定ファイルの意図しない変更を見つける
- 同じ関数の2つのバージョンを比較する
- 貼り付けた修正を元のコードと照らし合わせる
ドキュメントの比較
契約書、規約、翻訳ファイルの2つの草稿を行ごとに比較できます。1文ずつ改行しておくと、変更箇所が見つけやすくなります。
- 2つの契約書の草稿の変更点を見つける
- 翻訳ファイルを比較して変更されたキーを探す
- 規約ページを昨年の内容と照らし合わせる
ログ分析
2回の実行結果や2日分の出力を貼り付けて、新しく追加された行を探せます。先にタイムスタンプを取り除かないと、すべての行が変更されたものとして表示されます。
- 2回のログ実行の間に出た新しいエラーを見つける
- ログを比較する前にタイムスタンプを取り除く
- 設定のダンプを比較して時間の経過によるずれを見つける
その他のツールを見る
このツールと組み合わせて使える、ほかの無料ツールもご覧ください
正規表現テスター
正規表現をリアルタイムでテスト・デバッグできます
JSONフォーマッター
ブラウザ上でJSONの整形、検証、圧縮ができます
MarkdownからHTMLへ
ライブプレビューを見ながらMarkdownをHTMLに変換します
Base64エンコーダー
Base64文字列をエンコード・デコードします
URLエンコーダー
URLの構成要素をエンコード・デコードします
ハッシュ生成ツール
テキストやファイルのSHA-1、SHA-256、SHA-512ハッシュを生成します