跳到工具區
文字

文字 Diff 比對

在瀏覽器本機依行、詞或字元比對兩段文字,並清楚標示檢視方式、忽略規則與複製輸出格式。

輸入0 個字元
對照內容0 個字元
差異結果

請輸入兩側內容後再比較。

就緒

想要更順手的原生工作流程?

把「文字 Diff 比對」放進一個快速鍵。

DevSexy Mac 版保留同樣私密的本機處理,同時提供全域快速鍵;不用管理瀏覽器分頁,需要時直接叫出。

全域快速鍵可離線使用本機處理
免費試用 Mac 版

目前的瀏覽器工具仍然免費。

Review 證據台 · A 與 B 原文保持不變

Diff 是依明確規則產生的文字對齊。

紅色與綠色本身不是語意。比較粒度決定 token,ignore 選項會先改寫參與比較的投影文字;重複內容也可能存在不只一種同樣精簡的對齊方式。

VERSION A · IMMUTABLE

01 timeout = 30

02 region = us-east

03 retries = 2

VERSION B · IMMUTABLE

01 timeout = 45

02 region = eu-west

03 retries = 2

04 audit = true

差異對齊帶

=01timeout =
−30移除
+45新增
=02region =
−us-east移除
+eu-west新增
+audit = true新增一行

GRANULARITY LENSES

LINE程式碼/設定檔 review

以完整行觀察結構變更

WORD文章修訂

在穩定上下文中定位詞與空白

CHARACTER標點與不可見差異

比對 Unicode code point,不是 grapheme

比對規則收據

大小寫不忽略A ≠ a
空白不忽略Tab ≠ 空格
換行保留結構CRLF、LF 與檔尾換行都可成為證據
執行位置WEB WORKER計算期間主畫面仍可回應操作

不可見變更檢查台

CRLF → LF␍␊ → ␊
Tab → 空格⇥ → ····
NBSP → 一般空格⍽ → ·
移除檔尾換行␊ → ∅
NFC → NFDé → e + ◌́

Review 粒度派工

設定檔部署line忽略縮排可能掩蓋 YAML 等語意變更
文章編修word較粗粒度可能弱化標點差異
Snapshot 輸出line + 不可見字元EOL 格式可能製造大量雜訊
在地化一致性word/characterUnicode 正規化與 placeholder 仍需另查

語意邊界

文字對齊不等於理解程式或文件。

此工具不解析 AST、不理解重新命名的 symbol、不辨識搬移區塊、不做三方 merge 或衝突解決,也不搜尋外部語料做查重;它不保留富文件版面,更不能證明變更安全。

依明確規則執行文字比對

每個範例都提供兩份原文、比對規則與預期差異。下方標示不可見字元;載入編輯器的是真實字元。

載入範例會取代兩側輸入與所有比對選項。

依行檢視設定檔變更

依行 · 並排檢視 · 關閉所有忽略規則。

輸入

timeout = 30
region = us-east
retries = 2

對照內容

timeout = 45
region = eu-west
retries = 2
audit = true

預期結果:timeout 與 region 改變,retries 不變,新增 audit。依詞或字元可以再查看細節。

定位色碼中的一個字元

依字元 · 行內檢視 · 關閉所有忽略規則。

輸入

#aabbcc

對照內容

#aabbcd

預期結果:最後的 c 被移除,d 被新增。下方顯示匯出的行內文字。

#aabbc[-c-]{+d+}

區分不換行空白與一般空白

依字元 · 行內檢視 · 不忽略空白。U+00A0 是不換行空白,U+0020 是一般空白。

輸入

user[U+00A0]name

對照內容

user[U+0020]name

預期結果:移除一個字元並新增另一個;兩側即使看起來相同,仍有差異。可到 Unicode 工具繼續查看碼點。

忽略 EOL 後比對 CRLF 與 LF

依字元 · 行內檢視 · 開啟忽略 EOL,關閉大小寫與空白忽略。顯示的 \r 與 \n 描述真實換行。

輸入

alpha\r\nbeta\r\n

對照內容

alpha\nbeta\n

預期結果:此規則下沒有差異。關閉忽略 EOL 後,可看到兩個歸位字元;僅一側少了檔尾換行,仍會產生差異。

檢查文字差異背後的意義

先驗證 JSON 再比對資料

兩份資料使用一致的格式化設定,避免排版差異遮住值的變化。

檢查不可見 Unicode 字元

查看看似相同文字背後的碼點、空白與正規化差異。

驗證 YAML 或 TOML 設定檔

文字差異無法證明縮排或修改後的值符合設定檔語言要求。

在 Mac 上進行本機比對

經常比對時,可使用 Mac 工具的快捷鍵入口並離線處理。

直接回答

什麼是 文字 Diff 比對?

線上比對兩段文字或程式碼,支援 line、word、character 粒度與 side-by-side、inline、unified 檢視,可套用空白、大小寫、EOL 規則並複製 patch 或靜態 HTML。

它能做什麼?

  • 按行
  • 按字詞
  • 按字元

如何使用 文字 Diff 比對

  1. 01

    選擇比對粒度

    設定檔完整行用依行,文章修訂用依詞,標點或不可見字元用依字元。

  2. 02

    設定兩側原文與忽略規則

    貼上兩份原文或載入範例。先關閉忽略規則,只有確認該差別無關時才開啟。

  3. 03

    檢查並匯出差異

    核對醒目標示與規則標籤,選擇並排、行內或 unified 檢視,再依需求複製文字、patch 或 HTML。

常見問題

為什麼看起來相同的文字也有差異?
不換行空白與一般空白的碼點不同,外觀相似的 Unicode 形式也可能不同;此工具不會自動進行 Unicode 正規化。
忽略空白會改變什麼?
比對前會移除每行頭尾空白,並將連續的水平空白合併成一個空白。設定檔中的縮排和空白可能有語意,應明確決定是否忽略。
忽略 EOL 會移除檔尾換行嗎?
不會。它只在比對時將 CRLF 與 CR 統一成 LF;只有一側保留檔尾換行時,仍會產生差異。