本文へ移動
ZEKILO Dev

テキスト比較

2つの文章を貼り付けると、変わった箇所を行・単語・文字単位で表示します。

入力はブラウザの外に出ませんUnified diff (POSIX diff -u)基準日 2026.10.03

A(変更前)

Escを押してからTabを押すと、入力欄から移動できます。

B(変更後)

Escを押してからTabを押すと、入力欄から移動できます。

差分

結果がここに表示されます

テキスト比較の使い方

  1. 1Aに変更前の文章、Bに変更後の文章を貼り付けるか、「例を入れる」を押します。
  2. 2単位(行・単語・文字)と表示、無視する項目を選びます。入力に合わせて差分が変わります。
  3. 3「コピー」でunified diffをコピーするか、「ダウンロード」で .diff ファイルとして保存します。

テキスト比較のオプション

単位
行は行全体を比較し、変更された行の中で変わった文字を濃く表示します。単語と文字は、まず行を対応付けてから、変わった部分だけを単語または文字単位で比較し直します。
表示
左右に並べるはAを左、Bを右に表示します。ユニファイドは1列で、削除した行を上、追加した行を下に表示します。既定は、広い画面では左右に並べる、狭い画面ではユニファイドです。
空白を無視
オフは文字どおりに比較します。行末の空白は、行末の空白・タブと改行コード(CRLF・LF)の違いを無視します。すべての空白は、行の中の空白とタブも無視します。
大文字小文字を無視
大文字と小文字を同じ文字として扱います。Hello と hello は同じものとして処理されます。

比較の方法

このツールは、AをBに変えるために必要な削除と追加が最も少なくなる組み合わせを探します。オープンソースのライブラリjsdiffが実装するMyersの差分アルゴリズム(An O(ND) Difference Algorithm and Its Variations)を使っており、diff や git diff が既定で使う方法と同じです。片方にしかない行は先に取り分けます。結果は変わらず、大きな文章の比較が速くなります。

行単位では、削除した行と同じ位置の追加した行を組にして、変わった文字をより濃い背景で表示します。単語・文字単位では、変わった範囲だけをより小さい単位で比較し直します。

unified diffファイル

ダウンロードしたファイルは POSIXの diff -u のunified形式に従います。--- A と +++ B で始まり、ブロックごとに @@ -1,3 +1,4 @@ のような行が先頭に付きます。Aの1行目から3行、Bの1行目から4行という意味です。空白で始まる行は変更のない前後の行、- の行はAだけに、+ の行はBだけにあります。\ No newline at end of file は、最後の行の後ろに改行がないことを示します。

テキスト比較の例

  • 行単位の比較(既定のオプション)

    追加 2行 · 削除 1行 · 同じ 2行

    入力

    A:
    apple
    banana
    cherry
    
    B:
    apple
    blueberry
    cherry
    date

    出力

      apple
    − banana
    + blueberry
      cherry
    + date
  • 同じ文章でダウンロードした .diff ファイル

    Aの cherry は最後の行で、後ろに改行がありません。Bでは改行があるため、ファイルではこの行も変更された行として書かれます。

    入力

    A:
    apple
    banana
    cherry
    
    B:
    apple
    blueberry
    cherry
    date

    出力

    --- A
    +++ B
    @@ -1,3 +1,4 @@
     apple
    -banana
    +blueberry
    -cherry
    \ No newline at end of file
    +cherry
    +date
    \ No newline at end of file
  • 空白を無視:すべての空白

    Bは a と b の間に空白が2つあります。

    入力

    A:
    a b
    
    B:
    a  b

    出力

    選択した無視オプションでは差分がありません
  • 両方に同じ文章

    入力

    A:
    apple
    banana
    cherry
    
    B:
    apple
    banana
    cherry

    出力

    2つのテキストは同じです

例は、このツールを検証している基準ケースの値です。

テキスト比較のよくある質問

入力したデータはサーバーに送信されますか?

いいえ。入力と結果はこのブラウザ内だけで処理され、保存もしません。再読み込みすると消えます。

+ と − の記号はどう読みますか?

赤い背景に − が付いた行はAだけにある行、緑の背景に + が付いた行はBだけにある行です。記号のない行は両方で同じです。記号は常に色と一緒に表示され、スクリーンリーダーでは削除・追加と読み上げられます。

同じに見える行が変更として表示されるのはなぜですか?

多くの場合、目に見えない違いがあります。行末の空白やタブ、または改行コード(WindowsのCRLF、それ以外のLF)の違いです。「空白を無視」を「行末の空白」にすると、これらを除いて比較します。2つのテキストで改行コードが異なる場合は、ツールがお知らせします。

ダウンロードした .diff ファイルには何が入っていますか?

AからBへの標準的なunified diffです。先頭に --- A と +++ B があり、変更箇所ごとに前後3行を含みます。無視オプションをオフにしていれば、patch などのツールでAに適用してBを作れます。無視オプションをオンにすると、無視した違いはファイルに含まれません。

どのくらい大きな文章まで比較できますか?

片方につき最大5MBです。片方512KBまでは入力しながら比較し、それを超えると「実行」を押して比較します。画面には先頭の10,000行だけを表示し、ダウンロードしたファイルには全体の比較が入ります。2つの文章の違いが大きく細部まで対応付けできない場合は、一部の範囲をまとめて置き換えとして表示します。

日本語や韓国語は単語をどう区切りますか?

日本語には空白がないため、漢字・ひらがな・カタカナが切り替わる位置で区切ります。韓国語は空白で区切ります。より細かく比較するには、単位を文字にしてください。

処理方法・標準

  • 処理する場所:このブラウザ(お使いの端末)。送信も保存もしません。
  • 標準: Unified diff (POSIX diff -u)
  • エンジン: diff 9.0.0 (jsdiff) (BSD-3-Clause) · ZEKILO Devの行・単語・文字の分割とunified diff出力器 (自社実装)
  • 行数は改行の数に1を足した値です。改行で終わる文章は、最後に空の行が1つあるものとして扱います。
  • ダウンロードは、どの単位を選んでも行単位のunified diffです。
  • 記憶するのはオプションだけです。AとBに入力した文章は保存しません。
  • 基準日 2026.10.03
  • 変更履歴: 2026.10.03 公開
オープンソースライセンス →
結果がおかしい場合は、エラーを報告する(入力内容は添付されません)