テキスト差分 — 行 / 単語単位の比較
2 つのテキストを行単位で比較して差分を表示。Inline / Side-by-Side 表示、行内ワード差分、前後の空白の無視に対応。すべてブラウザ内で処理。
使い方
左右のテキストエリアに比較したい 2 つのテキストを貼り付けます。表示モードは Inline / Side-by-Side を切替可能で、行内ワード差分のほか、「空白の違いを無視」(行内の空白の有無も含めて完全に無視) と「大文字小文字を無視」のチェックボックスで比較ロジックを調整できます。トグルは表示には影響しません — 元のテキストはそのまま表示され、比較判定だけが正規化された値で行われます。差分は追加・削除がそれぞれハイライトされ、画面下に統計 (追加行数 / 削除行数 / 同一行数) も表示されます。サンプルボタンで動作を試せます。
よくある質問
- テキストはサーバーに送信されますか?
- いいえ。差分計算は diff アルゴリズムをブラウザ内で実行するだけで、入力データが外部に送信されることはありません。
- ファイルサイズの上限は?
- メモリベースなので明確な上限はありませんが、数万行を超えると体感速度が落ちます。
- バイナリは比較できる?
- いいえ。テキスト前提なので、非テキストファイルは予期しない動作になります。
- 「空白の違いを無視」とは何を無視する?
- 各行の空白文字 (スペース・タブ・改行) をすべて取り除いた値で比較します。前後の空白だけでなく行中の空白も無視されるので、'a b' と 'ab' は同一行として扱われます。表示には元の文字列がそのまま使われます。
- 「大文字小文字を無視」は ASCII 限定?
- JavaScript の `toLowerCase()` を使うので、Unicode の大文字小文字も小文字化されます。表示は元の表記のままで、比較判定だけが小文字化された値で行われます。
- 両方のトグルを同時に有効にしたら?
- 両方が適用されます。先に全空白を除去し、次に小文字化した値で比較します ('Hello World' と 'helloworld' は同一扱い)。
類似のツール
diff / patch — Unified diff の生成・適用
2 つのテキストから Unified diff (.patch / .diff) を生成し、Unified diff を元テキストに適用 (apply) できる。Git や GNU patch と同形式 (--- / +++ / @@ ハンク)、コンテキスト行数とファイル名を指定可。すべてブラウザ内で処理。
JSON 比較 / 差分 — 構造的に違いを抽出
2 つの JSON を構造的に比較。オブジェクト/配列のネストを再帰的に解析し、追加・削除・変更・移動の各差分をハイライト表示します。すべてブラウザ内で処理。
行重複削除 — 全部一意化 / 重複だけ抽出
テキストを行 (\n) で分割し、重複する行を除去します。初出の行だけを保持し、元の順序を維持。連続した重複だけでなく離れた位置の重複も対象 (Unix `awk '!seen[$0]++'` 相当)。すべてブラウザ内で処理。
文字数カウント — 文字 / バイト / 行 / 単語
テキストの文字数・単語数・行数・段落数・UTF-8 バイト数をリアルタイムで集計。空白・改行を含めるか除くかを切り替え可能で、Twitter・原稿用紙 (400 字)・LINE などの文字数上限の進捗バーも同時表示。すべてブラウザ内で動くので、原稿や下書きを安全にカウントできます。