跳至內容
100% 隱私保護 — 檔案永遠留在你的裝置上
>_
繁體中文

文字差異比對工具 — 比較兩段文字

貼上兩個版本的文字,逐詞或逐行看清楚到底改了哪裡。

將檔案拖放到這裡(文字、Word、PDF、Excel、PowerPoint、OpenDocument、RTF)。把兩個檔案拖到頁面任何位置,即可直接比對。

將檔案拖放到這裡(文字、Word、PDF、Excel、PowerPoint、OpenDocument、RTF)。把兩個檔案拖到頁面任何位置,即可直接比對。

比對結果

更多選項
忽略規則(正規表示式)
檔案文字擷取選項

同時套用到兩個檔案,並立即重新套用到已載入的檔案(不需要重新選擇)。檔案始終留在你的瀏覽器中。

各檔案類型的限制

只會比對文字;可靠度代表擷取出的文字與你在原本程式中所看到的內容有多接近。

  • 文字/程式碼 (高): 精確。編碼會自動偵測(BOM、UTF-16、UTF-8,否則以 Windows-1252 讀取)。
  • Word .docx (中): 段落、標題、清單和表格會以文字形式保留。圖片、文字方塊、頁首/頁尾、註腳和註解會被略過;追蹤修訂視為已接受。
  • PDF (中): 僅限含文字層的 PDF;掃描檔需要 OCR(不支援)。多欄頁面和表格的讀取順序可能不同,斷字和換行則取決於版面配置。
  • Excel .xlsx (高): 可見工作表的數值(或公式),每列一行文字。不包含數字與日期的顯示格式、圖表、圖片和註解;非常大的活頁簿可能會比較慢。
  • OpenDocument .odt (中): 與 Word 類似:文字、標題、清單和表格;註解、註腳和追蹤的刪除內容會被略過。.odp 投影片亦同。
  • OpenDocument .ods (高): 所有工作表中已儲存的儲存格數值;公式會以其數值顯示。
  • PowerPoint .pptx (中): 依簡報順序擷取投影片文字,包含表格;講者備忘稿、圖表、圖片和 SmartArt 會被略過。
  • RTF (低): 對段落和特殊字元做簡易轉換;複雜或內嵌的內容可能會遺失。

不支援:圖片/掃描檔(無 OCR)、受密碼保護的檔案、舊版 .doc/.xls/.ppt、超過 30 MB 的檔案。檔案內容絕不會被上傳,也不會被儲存。

為什麼要用文字差異比對工具?

只要同一份文件出現兩個版本——律師改過前後的合約、收到回饋意見前後的一篇文章、同事提交前後的設定檔——真正重要的問題往往不是「這兩份是不是同一份檔案」,而是「到底具體改了什麼」。把兩個版本並排閱讀,靠肉眼去抓每一個新增的逗號、刪掉的條款、改寫的句子,既慢又容易漏看,文件一旦超過一兩頁就更難掌握。差異比對工具能自動完成這項比較,精準標示出哪些字詞或哪些行不一樣,讓你幾秒鐘就能看完原本要花好幾分鐘檢查的內容。

這個工具完全在你的瀏覽器裡運作。兩個文字方塊的內容都只留在你裝置的記憶體裡,比對運算本身也是由本機執行的 JavaScript 差異比對函式庫完成——你輸入或貼上的任何內容都不會被傳送到伺服器、也不會被記錄或儲存在任何地方。如果你要比對的是客戶合約、密碼清單,或任何不想經過第三方服務處理的文字,這一點格外重要。關掉分頁,一切就都消失了,不需要擔心留下任何紀錄。

把原始文字貼在左邊,修改後的版本貼在右邊——兩個方塊都會顯示行號,並且同步捲動,各自附有獨立的清除、交換和上傳檔案按鈕,讓你可以直接從硬碟載入兩個檔案(純文字、程式碼、Word、PDF、Excel 等),不必手動複製貼上。比對結果會隨著輸入即時更新,不需要按任何按鈕。可以選擇逐字、逐詞或逐行模式,決定差異要細分到什麼程度:逐字模式能抓到一個字打錯這種細微層級的變動,逐詞模式最適合一般文章,因為它會精準標出句子裡哪些詞被改動了,逐行模式則整行整行比對,適合程式碼、JSON 或條列式內容——這類內容你在意的是哪整行被搬動了,而不是行內個別詞語的變化。只存在於其中一個版本的行,會整行標成綠色(新增)或紅色(刪除);兩邊都存在但內容被改過的行,則標成橘色,行內真正改動的詞或字元會用更明顯的方式加強標示——這樣就能一眼分辨出「被編輯過的一行」和「無關的刪除加新增」有什麼不同。

比對結果上方的新增/刪除/修改計數,能讓你一眼掌握這次改動的規模有多大,↑/↓ 按鈕則可以直接跳到下一個或上一個差異處,不必在長文件裡一路捲動找——處理長文件時特別好用。「全螢幕」按鈕可以把比對畫面放大到滿版,方便仔細檢視。比對畫面下方的合併工具,能把單純唯讀的比對結果變成真正可以處理的東西:每一處差異在兩欄中間都有自己的 ←/→ 按鈕,讓你把右邊版本的修改拉進左欄,或把左邊版本推到右欄,一項一項處理,直到任一欄的內容變成你想要的樣子。兩欄各自都有複製和另存按鈕,讓你不必重新輸入就能拿到乾淨的合併結果。如果兩段文字其實完全一樣,工具會直接明確告訴你,而不是丟出一個空白、讓人猜不透的結果。

同一段程式碼的兩個版本,常常只是因為風格不同就看起來完全不一樣:壓縮與美化、Tab 與空格、單引號與雙引號、長行在不同位置換行。比較之前,可以按下兩個文字框上方的「格式化」按鈕,把兩段文字統一成同一種標準;它會分別偵測每個文字框的語言(先看檔名,再看文字內容)。旁邊的齒輪選單裡,你也可以自行指定 JSON、XML、SQL、HTML、CSS、SCSS、LESS、JavaScript、TypeScript、YAML、Markdown 或 GraphQL,選擇 2 個空格、4 個空格或 Tab 縮排,設定行寬,對 SQL 還能選擇 MySQL、PostgreSQL、SQL Server 等方言。格式化會以相同設定處理兩個文字框,若兩側是不同的語言,會跳出提醒。文字有語法錯誤時不會做任何更動,訊息中會註明行號與欄號。格式化程式(Prettier 與 sql-formatter)只會在你按下「格式化」時才下載,並在背景 Worker 中執行,大量輸入不會讓頁面卡住,所有內容都留在你的裝置上。格式化可能改變引號、分號與換行,但絕不會改變程式的功能,而且每次格式化都可以復原。準備好之後,按下「比對」就能直接跳到結果。

常見問題

可以按字元而不是按行比較文字嗎?

可以 — 在字元、單字和行的比較精細度之間切換。

可以把兩個版本合併成一份最終文字嗎?

可以 — 內建的合併工具讓你逐處變更選擇採用左側或右側版本。

可以忽略空白或大小寫的差異嗎?

可以 — 分別獨立開啟「忽略空白」和「忽略大小寫」。

「格式化」按鈕支援哪些語言?

JSON、XML、SQL(標準 SQL 以及 MySQL、PostgreSQL、SQL Server、SQLite、BigQuery 等方言)、HTML、CSS、SCSS、LESS、JavaScript/JSX、TypeScript/TSX、YAML、Markdown 與 GraphQL。語言會依檔名或文字內容自動偵測,你也可以隨時手動選擇。

相關工具