圖片轉文字
瀏覽器內完成
丟入截圖、手機照片、掃描檔或單頁 PDF,幾秒就能複製出文字。繁體中文、英文加上其餘 23 種語言。辨識引擎在你的瀏覽器內執行 — 檔案不會送到我們的伺服器。
自己驗證:開啟 DevTools,切到 Network 分頁,丟入檔案 — 你會看到零筆夾帶圖片的請求送出。
三個步驟。
丟入你的圖片
JPG、PNG、WebP、來自 iPhone 的 HEIC,或單頁 PDF。檔案在瀏覽器內開啟,就停留在那裡。第一次使用時辨識引擎(大約 10 MB)會下載到瀏覽器並存在快取裡 — 之後每次執行都立即開始,而且可以離線運作。
等幾秒讓引擎讀取
Tesseract.js — 由 Google 維護的 Tesseract OCR 引擎 WebAssembly 移植版 — 完全在你的瀏覽器內執行。一張乾淨的 A4 掃描檔在現代筆電上 3–8 秒完成;手機拍的收據或路牌通常不到 4 秒。進度條會同時顯示引擎暖機和頁面辨識兩個階段。
複製文字或下載 .txt
結果落在純文字框中,附上一個信心分數。複製到剪貼簿,或下載成 UTF-8 編碼的 .txt 檔。所有執行過的事情 — WASM 核心、語言模型、辨識本身 — 都在你的裝置上發生。沒有檔案、沒有辨識出來的文字、也沒有任何中繼資料到過我們的伺服器。
OCR 實際在做什麼
OCR(Optical Character Recognition,光學字元辨識)把看起來像字的像素變成電腦看得懂的文字。一張收據照片或書頁掃描檔對電腦來說只是一堆有顏色的點,直到一個用上百萬個印刷字元訓練過的模型把每組點圖樣對回 a、b、9、=。這個工具使用的引擎是 Tesseract — Internet Archive 用來掃描書本、ABBYY 免費版以及大部分開源 PDF 閱讀器底層用的都是同一個,只是這裡編譯成 WebAssembly,在你的瀏覽器內執行,而不是別人的伺服器上。
可以丟入哪些檔案
JPG、PNG、WebP、HEIC(iPhone)和單頁 PDF。HEIC 直接在瀏覽器內解碼 — 不需要額外的轉檔步驟。多頁 PDF:只辨識第一頁;如果你需要每一頁,先用 split-pdf 把 PDF 切開,再一頁一頁跑。手機直拍的照片可以;螢幕截圖、平台掃描器掃出的檔、螢幕擷取也都可以。實際上限大約是每個檔案 25 MB — 超過之後瀏覽器就難以同時把畫布(canvas)和 WASM 堆疊都留在記憶體裡。
什麼樣才是好的輸入
OCR 品質取決於圖片的程度遠大於引擎本身。平台掃描器以 300 DPI 掃打字頁面,正確率可達 98–99%,不需要任何調整。光線不錯的收據清晰照片:95%+。光線不足、角度傾斜的模糊合約照:60–80%,結果會需要校對。三件事最影響準確度:清晰度(按下快門前先讓相機對焦)、對比(白字黑底的收據比黑字白底難)、方向(引擎可以處理小角度傾斜,但被旋轉 90 度的圖必須先轉正)。如果你掃的是身分證、護照、薪資單或合約,正確度很重要,先用掃描 app — iOS 內建備忘錄、Google Drive 或 Adobe Scan 都會在儲存前修正透視和對比。
支援的語言
第一版隨附 25 種語言 — 每個 Vastiko 語系一個,另加給中國大陸使用者的簡體中文。拉丁:英文、德文、法文、西班牙文、義大利文、葡萄牙文(含巴西)、波蘭文、荷蘭文、丹麥文、瑞典文、羅馬尼亞文、匈牙利文、捷克文、土耳其文、印尼文、越南文。斯拉夫西里爾:俄文、烏克蘭文。希臘文。阿拉伯文(從右至左書寫)。泰文。CJK:日文、韓文、簡體中文(大陸)、繁體中文(台灣 / 香港)。
工具會根據瀏覽器語系在第一次載入時猜你要的語言 — 繁體中文的瀏覽器會預選繁體中文,日文瀏覽器預選日文,以此類推。你隨時可以從頂端的選單切換;最後一次的選擇會跨工作階段記住。每個語言包只在第一次使用時下載(依字母系統 1 到 6 MB — 拉丁字母比 CJK 更容易壓縮),然後存在瀏覽器快取裡。換語言每個語言只下載一次,之後使用都是即時的。
實務上,中文文件很少 100% 都是中文。合約裡會出現 Excel、PDF 和 LINE;統一發票上有 SWIFT、IBAN 和外國銀行名稱;履歷表把英文技術名詞和中文經歷夾在一起。所以一旦選了任何非英文的主要語言,系統會自動把英文當作次要字母載入同一次辨識 — 引擎會同時參考兩種字母,逐字選擇信心較高的讀法。代價是大約 2× 記憶體和 ~30% 的速度損失;值得,因為另一個選項是英文品牌名在中文當中變成亂碼。
這個工具做不好的事
手寫字。Tesseract 是用印刷文字訓練的。連筆字、醫生開的處方箋、筆記本上的手寫筆記都會混淆模型(Microsoft Read API 和 Google Cloud Vision 表現明顯更好,但兩者都需要把圖上傳)。複雜表格。試算表 PDF 會以扁平文字輸出,欄位會黏在一起;這個工具保留的是閱讀順序,不是表格結構。需要把表格還原為資料,用 pdf-to-excel。裝飾或藝術字型。商標、海報用顯示字型、文字渲染特效 — 經常失敗或回傳亂字,因為模型期待的是內文形狀的文字。解析度極低。320 像素寬的段落截圖:會用猜的;1500 像素寬:會讀懂。
為什麼我們把這個放在你的瀏覽器內
一般人做 OCR,通常文件都是個人的:為了辦簽證掃身分證、私人診所的收據、為了辦房貸要交的薪資單、別人寄來的 JPG 而不是 Word 的合約。從這些照片走到 剪貼簿裡可閱讀的文字,最短的路線通常會經過某個免費 OCR 網站,而它默默把上傳的檔案留存「以改善品質」。我們在做 PDF 編輯器的 privacy audit 時測試過熱門幾家,同樣的模式在 OCR 也重複:上傳到伺服器、保留期政策寫「幾小時」但幾個月後仍會碰到同一顆硬碟、第三方分析服務拿到檔案形狀的雜湊。我們把 OCR 完全放到裝置上執行,因為你會指向這個工具的檔案類型,正是你不想交給別人伺服器的那種。
你的檔案發生了什麼
打開 DevTools,切到 Network 分頁,把檔案丟進來。第一次使用時你會看到一次性下載 WASM 核心和繁體中文語言模型(合計約 10 MB),之後完全沒有任何夾帶檔案內容的請求發出。後續使用連請求也沒有 — 引擎已經在快取裡,頁面可以離線運作。辨識出來的文字活在瀏覽器的 textarea 裡,你可以複製或下載成 .txt。這些都不會接觸到我們任何一筆紀錄,任何時候都不會。
什麼時候用伺服器端 OCR 比較合理
如果你每晚要處理一萬張發票,瀏覽器內的工具形態就不對 — 你需要佇列和一群 GPU worker。如果你要高準確度的手寫 OCR,雲端 API 仍然比開源好。如果你的文件本來就公開 — 歷史檔案、公共領域合約、你自己部落格的截圖 — 沒有隱私好處,而且伺服器可能更快。重點不是本機 OCR 在每個情境都贏,而是當照片只待在一個人的相機相簿裡時,計算結果倒過來,而且不應該需要對保留期政策抱有信仰。
如果你已經有帶文字層的 PDF — 大部分數位產生的 PDF 都有 — 用 pdf-to-txt 比較合適:更快、不失真,因為它讀的是底層的文字而不是在已渲染的頁面上跑 OCR。
常見問題
我的圖片會上到你們的伺服器嗎?
不會。圖片在你的瀏覽器內開啟並就地處理。辨識引擎 — Tesseract.js — 只下載一次(~10 MB),之後存在瀏覽器快取裡,以本機方式執行。要驗證,打開 DevTools,切到 Network 分頁,把檔案丟進來;你會看到沒有任何夾帶圖片的請求送出。
支援哪些檔案類型?
JPG、PNG、WebP、HEIC(iPhone)和單頁 PDF。HEIC 在瀏覽器內解碼 — 不需要另外轉檔。多頁 PDF:只處理第一頁;如果你需要每一頁,先用 split-pdf 把 PDF 切開。
辨識哪些語言?
25 種語言:英文、德文、法文、西班牙文、義大利文、葡萄牙文(含巴西)、波蘭文、荷蘭文、丹麥文、瑞典文、羅馬尼亞文、匈牙利文、捷克文、土耳其文、印尼文、越南文、俄文、烏克蘭文、希臘文、阿拉伯文、泰文、日文、韓文、簡體中文和繁體中文。選擇器在最上方;預設值會根據瀏覽器語系自動偵測,並跨工作階段記住。
辨識的準確度有多高?
乾淨的 300 DPI 打字文件掃描檔:98–99%。印刷頁面或收據的清晰照片:95%+。模糊、光線不足或傾斜的圖片:60–80% — 結果會需要校對。每個結果都會顯示信心分數,讓你知道自己落在這個範圍的哪一端。
中文和英文混合的文件怎麼辦?
系統會自動處理。把繁體中文設為主要語言,引擎會把英文當作次要字母在同一次辨識中載入 — 這樣品牌名(Excel、LINE、PDF)、URL 和英文技術名詞都能跟中文內文一起乾淨輸出。選擇器旁邊的小標記 + EN 會顯示這個混合模式正在運作。代價是 ~30% 的速度和 ~2× 的記憶體;我們預設打開,因為另一個選項 — 在混合文件上跑單一語言 — 正是讓品牌名變亂碼的原因。
能辨識手寫字嗎?
不太行。Tesseract 是用印刷文字訓練的 — 連筆字、手寫處方、筆記本上的字會混淆它。如果是手寫字,Microsoft Read API 和 Google Cloud Vision 明顯更好,但兩者都要上傳圖片。
為什麼第一次跑特別慢?
因為辨識引擎 — 大約 10 MB 的 WebAssembly 加上一個語言模型 — 在第一次使用時要下載到你的瀏覽器。之後引擎留在快取裡,辨識立即開始。首次載入之後頁面就可以離線運作。
可以在手機上用嗎?
可以。這就是一個正常的網頁,任何現代行動瀏覽器都能跑。較舊的手機第一次跑會比較久,因為要下載引擎;之後的執行都很快。
表格、多欄排版或複雜文件呢?
文字會以閱讀順序輸出成扁平的段落串 — 不會保留表格結構。如果需要把 PDF 裡的行列當作資料,用 pdf-to-excel。如果 PDF 已經有文字層(大部分數位產生的 PDF 都有),用 pdf-to-txt — 更快、不失真,而且不需要 OCR。
真的免費嗎?有什麼限制?
真的免費 — 不用註冊、沒有浮水印、輸出沒有次數限制。處理是在你的裝置上跑,所以沒有伺服器成本要回收。實際上限:每張圖 25 MB,以免瀏覽器記憶體不夠。