テキスト差分比較ツール

テキスト差分比較ツール

高速 Myers Diff エンジン

テキスト、コード、設定ファイルの差分を高速比較。左右分割やインラインでの文字単位の変更確認、空白の無視、Unified Diff(.patch)の出力に対応。

プリセット:
差分計算パイプライン
テキスト類似度69.6%Myers 編集距離8
入力テキスト取得CRLF→LF • Normalized正規化・トークン化D = 8 (O(ND))Myers LCS グラフ解析単語単位行内マイクロ差分算出+5 / -3 (2 hunks)
比較粒度
比較元バッファ(Original): 11L • 21W • 193C|変更後バッファ(Modified): 12L • 24W • 237C
LF
1/2
1{
2 "status": 200,
3 "service": "auth-gateway",
4 "version": "1.4.2",
5 "features": ["oauth2", "jwt", "rate-limit"],
6 "timeoutMs": 5000,
7 "cache": {
8 "enabled": true,
9 "ttl": 3600
10 }
11}
1{
2 "status": 200,
3 "service": "auth-gateway",
4
5 "version": "1.5.limit"],
6 "features": ["oauth2", "jwt", "rate-limit", "mfa-totp,
7 "timeoutMs": 3000,
8 "cache": {
9 "enabled": true,
10 "ttl": 7200,
11 "ttl": 3600
12 }
13}
+5-3|2 差分ブロック数
単語単位|69.6% テキスト類似度
Myers 類似度
69.6%
Myers アルゴリズムに基づく一致率スコア
検出差分
+5 / -3
2 連続する変更箇所の総数
差分ブロック
空白処理の最適化
テレメトリ送信ゼロ

ブラウザ内クライアント処理

高度な差分計算をすべてブラウザのメモリ上で超高速に実行します。

サーバー送信ゼロの完全プライバシー

入力データは端末内でのみ処理され、外部サーバーへの通信は一切発生しません。

実務で即戦力のエクスポート

開発ワークフローやコードレビューですぐに活用できる最適化フォーマット。

技術リファレンス・アーキテクチャガイド

テキスト差分比較ツール — 技術リファレンス

テキスト、ソースコード、設定ファイルの差分を高速比較。2ペイン分割(左右並列)やインライン表示、文字・単語単位の高精度ハイライト、空白・改行無視、POSIX準拠Unified diffパッチ出力に対応。

テキスト差分比較ツール — 技術リファレンス — クライアントサイド完全ローカル実行アーキテクチャ図
テキスト差分比較ツール — 技術リファレンス — クライアントサイド完全ローカル実行アーキテクチャ図

主要パラメータと設定項目

差分比較粒度 (diffGranularity)文字列 (lines | words | chars)

Myers最短編集グラフにおけるトークン分割の境界解像度を定義します。行単位(lines)は改行区切り文字(\n)で構文コードの行単位差分を抽出、単語単位(words)はUnicode単語境界(\b)で契約書やドキュメントの校正を比較、文字単位(chars)はUTF-16コードポイント単位でアトミックに比較し、暗号ハッシュ値やAPIトークンの1文字の違いを特定します。

初期値: words
表示モード (viewMode)文字列 (split | unified)

差分の視覚レイアウト表示を制御します。「split」はスクロール位置が同期する左右2ペイン(並列分割)カラムを描画します。「unified」はIEEE Std 1003.1規格に準拠し、ハンク区切り子(@@ -l,s +l,s @@)を含むPOSIX互換の単一カラムパッチビューを出力します。

初期値: split
空白・改行の無視 (ignoreWhitespace)真偽値 (boolean)

最短編集スクリプト(SES)の構築前に空白トークンを正規化します。キャリッジリターン(\r\n から \n への変換)を除去し、複数の連続スペースやタブを単一の区切り文字に縮約、行末の余分なスペースをトリミングすることで、見た目のフォーマット変更による誤検知を排除します。

初期値: true
大文字・小文字の同一視 (ignoreCase)真偽値 (boolean)

Myersアルゴリズムの対角探索前に、Unicode完全大文字小文字マッピング(Case Folding)を適用します。描画される差分ハンクでは元の文字表記を保持したまま、大文字と小文字を同一トークンとして処理します。

初期値: false
テキスト類似度スコア (similarityScore)数値 (パーセンテージ 0.0 - 100.0%)

ダイス・セーレンセン係数(Dice-Sørensen metric)に基づいて算出される正規化セマンティック類似度:(2 × |LCS|) / (|A| + |B|) × 100%。80%以上は軽微な改訂、50〜79%は大幅なリファクタリング、30%未満は内容の全面的な乖離を示します。

初期値: 100.0%

現場のベストプラクティス・実践Tips

契約書や仕様書の校正には「単語単位」を指定

契約書(NDAや利用規約)やMarkdownドキュメントの改訂履歴を比較する際は、粒度を「行単位」から「単語単位(words)」に切り替えてください。行単位のMyersアルゴリズムでは句読点や日付が1箇所変わっただけで数百文字の段落全体が「全削除・再挿入」と判定されますが、単語単位トークン化なら変更された単語のみを高コントラストのハイライトで的確に特定できます。

空白正規化で改行コードやインデントの誤検知を排除

Windows(CRLF: \r\n)とmacOS/Linux(LF: \n)間の共同作業では、不可視の改行コードの差異やタブ・スペースの混在による誤判定が頻発します。「空白・改行の無視(Ignore Whitespace)」を有効にすれば、キャリッジリターンを除去してインデントの揺らぎを縮約し、本質的なロジック修正のみを明確に抽出できます。

GitやCI/CDパイプラインに直結するクリーンなパッチを出力

.patchファイルをダウンロードする前に、表示モードを「unified」に切り替えてください。出力内容はPOSIX IEEE Std 1003.1およびRFC準拠のUnified diff形式に厳格に従い、2行のヘッダー(--- a/original および +++ b/modified)と標準ハンクヘッダー(@@ -k,l +m,n @@)を付与するため、ターミナルで「git apply patch.diff」や「patch -p1」を実行してそのまま適用可能です。

長文・大規模コードの監査にはSVGミニマップを活用

1,000行を超える大規模なファイルを監査する際は、右側のSVG差分ミニマップを活用してください。変更行の相対垂直座標(y = 行インデックス / 総行数 × キャンバス高さ)から色付きの目盛り線が即座に描画され、DOMのスクロールバーを手動で探すことなく、クリック1回で隔離された差分箇所へ直接ジャンプできます。

よくある落とし穴とトラブルシューティング

⚠️内容が同一であるにもかかわらず、ドキュメント全体が削除・再挿入としてハイライトされる。

Windows環境のCRLF(\r\n)とUnix/macOS環境のLF(\n)というOS間の改行コード不一致、あるいはファイル先頭のUTF-8 BOM(0xEF, 0xBB, 0xBF)の有無が原因です。「空白・改行の無視」を有効にして字句解析時にキャリッジリターンを除外するか、比較前に改行コードをLF(\n)に正規化してください。

⚠️1行に圧縮(Minify)されたJavaScriptや巨大な単一ラインJSONで、文字単位の差分比較が重くなる。

文字単位の比較アルゴリズムは、編集距離Dに対して最悪O((N+M)D)の計算量を持ちます。5万文字を超える1行の圧縮ファイルでは、比較粒度を「行単位(Lines)」に切り替えるか、JSONフォーマッター/整形ツールで事前に改行とインデントを適用してから比較を実行してください。

⚠️長文の段落を含む比較で、左右2ペインのスクロール同期がズレているように感じる。

2ペイン分割表示では、Myersアルゴリズムの削除・挿入ハンクペアに基づき仮想行アンカリング(位置揃え)を行っています。片側のドキュメントに長大な非対称の挿入が存在する場合は「左右スクロール同期」が有効になっていることを確認してください。反対側のペインに自動で仮想プレースホルダー空白が挿入され、常に左右の対応行が水平に揃います。

よくある質問 (FAQ)

Myers差分アルゴリズムはどのように行の追加と削除を算出していますか?▼

Myersアルゴリズムはテキスト比較を「編集グラフ上の最短経路探索問題」としてモデル化します。グラフ上の水平移動は削除、垂直移動は追加を表し、一致するトークンを示す対角線に沿ってグリーディ(貪欲)探索を行うことで最長共通部分列(LCS: Longest Common Subsequence)を導出します。文書長NおよびM、編集距離Dに対してO((N+M)D)の計算時間で最小の編集スクリプトを生成します。

Unified diff(統合形式)と左右分割(Split diff)の違いは何ですか?▼

左右分割表示(Split diff)は変更前と変更後のテキストを2列に並列配置し、同期スクロールしながら追加・削除を横並びで視覚的に比較できます。一方、Unified diffは両バージョンを単一のカラムに統合し、変更のないコンテキスト行とともに追加行を「+」、削除行を「-」のプレフィックスで時系列順に表示します。GitやGitHub、各種ターミナルツールで採用されている業界標準フォーマットです。

差分比較時に空白の違いや改行コード(CRLF / LF)を無視するにはどうすればよいですか?▼

ツール上部の設定バーにある「空白・改行の無視(Ignore Whitespace)」スイッチをオンにします。前処理エンジンがCRLF(\r\n)をLF(\n)に正規化し、行末の余分なスペースをトリミングするとともに、連続する複数のスペースやタブを単一の区切り文字として扱うため、インデントの違いによるノイズを排除して純粋なコード変更のみを確認できます。

ブラウザ上で生成した差分からGit標準のパッチファイルを出力できますか?▼

はい、RFC仕様に完全準拠したUnified diff形式のパッチファイルを生成可能です。表示を「Unified Diff」に切り替えるか「.patchを出力」をクリックすると、ファイルヘッダー(--- a/original、+++ b/modified)およびハンクヘッダー(@@ -1,5 +1,6 @@)を含むテキストファイルをダウンロードでき、ターミナルの「git apply」コマンドで直接コードベースへ適用できます。

差分解析におけるテキスト類似度(パーセンテージ)はどのように計算されますか?▼

類似度スコアはMyersの最長共通部分列(LCS)に基づくダイス・セーレンセン係数(Dice-Sørensen coefficient)によって算出されます:類似度 = (2 × |LCS|) / (|変更前トークン数| + |変更後トークン数|) × 100%。内容が完全に一致する場合は100.0%、共通部分が全く存在しない場合は0.0%となります。

関連開発者ツール

全ツール一覧 →
カノニカルタグ生成ツール開発者ツール

有効なrel=canonicalタグやHTTPレスポンスヘッダーを瞬時に作成。不要な追跡パラメータの削除、URL正規化、重複コンテンツによるSEO評価の分散を確実に防止します。

ツールを開く→
cURLをFetchに変換開発者ツール

cURLコマンドを一瞬でFetch APIコードに変換。HTTPヘッダー、認証トークン、Cookie、JSONペイロードを自動解析し、最新のasync/await対応JavaScriptコードを生成します。

ツールを開く→
XMLサイトマップ検証ツール開発者ツール

XMLサイトマップおよびインデックスファイルの構文を瞬時に検証。5万URL制限、50MB容量上限、W3C Datetime(ISO-8601)、hreflang相互リンク、画像拡張、Google Search Console登録エラーを完全チェックします。

ツールを開く→
Google検索結果プレビュー開発者ツール

PC・モバイル対応のGoogle検索結果(SERP)スニペット表示を正確なピクセル幅でシミュレーション。リッチリザルト、サイトリンク、リアルタイムCTRスコア判定でタイトルとディスクリプションの省略を事前検証します。

ツールを開く→
CSSメッシュグラデーション開発者ツール

多点制御のCSSメッシュグラデーション、アニメーション背景、SVGカラーメッシュを瞬時に生成。アンカーポイントやフィルム粒子ノイズを微調整し、CSS・Tailwindコードを即座にコピーできます。

ツールを開く→
UTMパラメータ生成ツール開発者ツール

Googleアナリティクス(GA4)対応のキャンペーン計測URLをブラウザ上で即座に一括生成・検証できる無料UTMパラメータ生成ツール。URL正規化、逆引きパース、QRコード書き出しにも完全対応。

ツールを開く→