極速數位工具箱 · 免費本機工具
文字差異比對工具
貼上或載入兩份文字、程式碼或資料檔,逐行或逐字標示差異;可以先整理再比對、忽略時間戳等雜訊,用文章模式像修訂記錄一樣閱讀,也能挑選要採用哪一邊並合併。匯出 diff、patch、Markdown、CSV 與 HTML 報告,全程在瀏覽器本機完成。
你想比對什麼?
選一個情境,我會幫你載入範例並設好選項;之後換成自己的文字就能用。文字都只在這台裝置處理。
① 貼上或載入兩份文字
原始左側文字
修改後右側文字
② 比對方式
進階:忽略符合規則的內容(例如時間戳)
符合規則的文字在比對時會被當成不存在(畫面仍顯示原文),適合日誌、含時間或編號的輸出。規則在背景執行,語法錯誤會提示;太複雜時會在 12 秒後中止。
貼上兩份文字或開啟檔案後,按「比對差異」。內容少時會自動更新結果。
③ 比對結果
比對結果會顯示在這裡。
綠色是新增,紅色是刪除,行內較深的底色是實際變更的字。
快速鍵:在結果區按 n 或 j 到下一處、p 或 k 到上一處;在文字框按 Ctrl+Enter 重新比對。右側的色條是整份結果的縮圖,點一下可以跳到那個位置。
合併結果
在上面的結果裡,每處差異的上方有「採用左邊」「採用右邊」;沒有選的地方預設採用右邊(修改後)。下面是即時產生的合併文字。
④ 匯出與分享
unified diff 使用前後 3 行內容(.diff 與 .patch 的內容完全相同,只是副檔名不同);若勾選忽略選項,被忽略的差異不會產生區塊,檔案仍以原文輸出,套用 patch 前請確認。文章模式沒有 diff 與 patch,Markdown 會用 ~~刪除~~ 與 **新增** 標記。HTML 報告為單一檔案,可用瀏覽器開啟或列印。
設定與隱私
文字與檔案從頭到尾只在這個瀏覽器分頁處理,不會上傳也不會保存。記住的設定只有比對選項、檢視方式與顯示設定(換行、字型大小、Tab 寬度、空白字元),不含任何文字、檔案內容、檔名或你輸入的忽略規則。
使用說明、檔案格式與隱私
- 可開啟或拖曳 .txt、.md、.csv、.json、.xml、.html、.js、.py 等純文字檔;自動辨識 UTF-8(含 BOM)、UTF-16,其他情況以 Big5 嘗試解碼。
- 單檔上限 20 MB。Word、PDF、Excel 等二進位檔無法直接比對,請先另存為純文字。
- 逐行比對有並排與合併兩種檢視:並排左邊是原始、右邊是修改後;合併以 - 與 + 標示刪除、新增,與 git diff 相同。文章模式把整份文字當成一篇文章逐字詞比對,單欄顯示。
- 「中文以字元為單位比對」:行內字詞模式下,中文每個字分開比對;取消時,連續中文視為一個詞。
- 大檔在背景執行緒比對,比對期間頁面仍可操作;結果會分段顯示,捲動時再載入。
- 文字只在這個瀏覽器分頁處理,不上傳、不保存;只會記住比對選項與顯示設定。
使用說明與常見問題
這個工具能做什麼
文字差異比對工具讓你貼上或開啟兩份文字、程式碼或資料檔,逐行與逐字標示出哪裡不一樣。結果可以並排、合併檢視,或用「文章模式」像修訂記錄一樣單欄閱讀;也能挑選每一處要採用哪一邊並合併,最後匯出成 unified diff、.patch、HTML 報告、Markdown 或差異清單 CSV。
比對全程在你的瀏覽器裡進行,文字與檔案不會上傳,也不會被保存,只會記住你選的比對選項與顯示設定。
站長的話
這個網站的程式,有的是我平常自己在用的,有的是朋友的需求或我自己的想法。希望這個文字比對工具能幫你快速找出兩份文字哪裡不一樣,也希望你會喜歡。
使用步驟
- 想快速開始,先在最上面選一個情境(文章修訂版、程式碼、設定檔與 JSON、清單與 CSV、日誌、挑選並合併),它會載入範例並設好選項;也可以直接按「載入範例」。
- 把原始文字貼到左邊、修改後的文字貼到右邊,也可以按各自的「貼上」或「開啟檔案」,或把檔案拖曳到文字框。需要時用每一側的「整理文字」去除行尾空白、刪除空行、排序、去除重複行、全形轉半形或 JSON 格式化。
- 在「② 比對方式」選逐行或文章模式,並勾選忽略選項:空白、大小寫、空行、行首行尾空白、標點、全形半形、排序後再比對;還能在「進階」輸入規則,忽略符合規則的內容(例如日誌的時間戳)。
- 按「比對差異」或在文字框按 Ctrl+Enter。內容不多時,修改文字或選項後結果會自動更新。
- 在結果區選「並排」或「合併」檢視,並選擇只看差異附近(前後 3 行或 10 行),或顯示全部內容。綠色是新增、紅色是刪除,行內較深的底色是實際變更的字。可以顯示空白字元、調整換行、字型大小與 Tab 寬度。
- 用「上一個」「下一個」、差異清單或右側的色條縮圖在差異之間跳動;需要對調兩邊時按「左右交換」。
- 要保存結果時,可以複製 unified diff 或 Markdown,下載 .diff、.patch、HTML 報告或差異清單 CSV;打開「挑選並合併」時,也能複製或下載合併後的文字。
適合的情境
- 比對合約、報告或文章的兩個修訂版,看看改了什麼(文章模式特別適合長段落)。
- 檢查程式碼或設定檔改動了哪些地方;JSON 可以先格式化並排序鍵,只看值的差異。
- 對照兩份清單或 CSV,順序不同也能用「排序後再比對」找出內容差異。
- 比對日誌,忽略時間戳或編號,只看真正不同的事件。
- 把兩個人修改過的版本合併成一份:每一處差異選左邊或右邊。
- 確認翻譯稿或文案有沒有被悄悄改動。
小技巧與限制
- 可以開啟 .txt、.md、.csv、.json、.xml、.html、.js、.py 等純文字檔,單檔上限 20 MB。Word、PDF、Excel 等二進位檔無法直接比對,請先另存成純文字。
- 編碼會自動辨識 UTF-8(含 BOM)與 UTF-16,其他情況以 Big5 嘗試解碼。如果中文變成亂碼,請先把檔案另存成 UTF-8。
- 「中文以字元為單位比對」:在字詞模式下,中文的每個字會分開比對;取消勾選時,連續的中文會被當成一個詞。
- 「排序後再比對」會把每一側的行先排序,所以結果裡的行號是排序後的順序,匯出的 diff 也是排序後的內容。
- JSON 格式化會把數字轉成 JavaScript 能精確表示的值;超過約 15 位的整數可能被四捨五入,請改用逐行比對原文。
- 忽略規則是正規表示式,在背景執行緒套用;寫得太複雜可能很慢,超過 12 秒會自動中止。
- 大檔會在背景執行緒比對,比對期間頁面仍可操作,結果會分段顯示、捲動時再載入。兩萬行的檔案也能比對。
- 勾選忽略選項時,被忽略的差異不會產生 diff 區塊,但檔案仍以原文輸出;套用 patch 前請先確認。
- 在窄螢幕(例如手機)上會預設使用合併檢視,比較好閱讀。
常見問題
我貼的文字會被上傳嗎?
不會。比對在你的瀏覽器裡完成,文字與檔案不會上傳,也不會保存;只有你選的比對選項與顯示設定會記在瀏覽器裡。
可以直接比對 Word 或 PDF 嗎?
不行。請先把文件另存成純文字(.txt),或把內容複製後貼進來再比對。
「文章模式」和逐行比對有什麼不同?
逐行比對以「行」為單位,適合程式碼、設定檔與清單;文章模式把整份文字當成一篇文章,逐字詞比對並單欄顯示,刪除是紅色刪除線、新增是綠色底線,適合長段落的文章與合約。
「忽略空白」「忽略大小寫」「忽略空行」等選項是什麼意思?
勾選後,只有空白數量、英文大小寫、空白行、行首行尾空白、標點或全形半形不同的地方不會被當成差異,適合比對排版略有變動但內容相同的文字。
怎麼忽略日誌裡的時間?
在「進階」選「日期與時間」這個常用規則,或自己輸入正規表示式。符合規則的文字在比對時會被當成不存在,畫面仍顯示原文。
「挑選並合併」怎麼用?
勾選結果上方的「挑選並合併」,每處差異的上方會出現「採用左邊」「採用右邊」;沒選的地方預設採用右邊。下方即時產生合併後的文字,可以複製或下載。文章模式沒有這個功能。
怎麼使用下載的 .patch?
它是標準的 unified diff 格式,可以用 git apply 或 patch 之類的工具套用到原始檔案;.diff 與 .patch 的內容完全相同,只是副檔名不同。套用前請先確認內容,特別是比對時有勾選忽略選項的話。
兩萬行的大檔會不會卡住?
不會。大檔在背景執行緒比對,頁面仍可操作;結果也是分段顯示,捲動時才載入。
HTML 報告是什麼?
它是把比對結果存成單一個 HTML 檔,可以用瀏覽器開啟、列印或寄給別人看,不需要再開這個網站。


