ToolAct工具行動

條碼解析

線上識別和解碼條碼圖片,支援拖曳上傳、貼上圖片,純瀏覽器端處理保護隱私

上傳條碼圖片

拖曳條碼圖片到此處

支援 PNG、JPG、GIF、BMP、WebP 等常見圖片格式

也可以使用 Ctrl+V 貼上剪貼簿中的圖片

什麼是條碼解析?

條碼解析是一種將條碼圖片還原為原始內容的技術工具。透過上傳包含條碼的圖片,系統會自動識別並解碼其中儲存的數字或文字資訊。支援 CODE128、EAN-13、EAN-8、CODE39、UPC-A、UPC-E、Codabar、ITF 等多種常見一維條碼格式,同時相容 QR Code、Data Matrix、PDF417、Aztec 等二維碼格式。本工具完全在瀏覽器端執行,圖片不會上傳到任何伺服器,確保您的隱私安全。

使用方法

使用方法

  1. 點選上傳區域選擇條碼圖片,或將圖片拖曳至該區域
  2. 您也可以使用 Ctrl+V(Mac 為 Cmd+V)從剪貼簿貼上圖片
  3. 工具會自動偵測並解碼條碼內容
  4. 解碼結果會顯示在下方,包含條碼格式與內容類型
  5. 點選「複製結果」按鈕複製解碼內容,若為連結可直接開啟

解碼提示

  • 請使用清晰、高對比且完整顯示條碼的圖片;模糊、反光、裁切及強烈的透視變形都會降低辨識準確度。
  • 若解碼出 URL 或產品代碼,請在用於正式記錄前先確認目標網址或識別碼是否正確。

使用場景

不需掃描器即可讀取條碼圖片中的值上傳、拖入或從剪貼簿貼上圖片,頁面會使用瀏覽器中的 ZXing 解碼常見的零售、物流和二維格式,包括 EAN、UPC、Code 128、Code 39、ITF、Data Matrix、PDF417、Aztec 和 QR Code。ZXing 在 worker 執行緒中執行,因此 UI 在處理較大圖片時仍保持回應,函式庫內部使用 Reed-Solomon 糾錯,這就是為何稍微模糊或部分遮擋的條碼在符號的冗餘度未耗盡時仍能解碼。
同時取得解碼文字和偵測到的條碼格式當盤點、包裝或客服工作需要的不只是數字本身時,使用結果面板。頁面會顯示解碼內容、字元數和條碼格式,讓值可以連同來源類型一起複製到其他系統。
在開啟前先檢查可疑的印刷條碼如果解碼內容是 URL,頁面會標示為此類型並提供明確的開啟操作。這讓你有機會先閱讀目的地,而非直接用手機鏡頭掃描未知標籤。
在原始來源已不存在時還原標籤在供應商系統不再識別該 SKU 後,解碼儲存的包裝標籤、出貨標記或庫存貼紙照片。頁面回傳原始值和偵測到的條碼格式,讓結果可以連同格式一起貼回 CSV、ERP 條目或稽核記錄。知道條碼格式很重要:13 位的 EAN-13 與 12 位的 UPC-A 只差在 GS1 前綴的一個前導零,因此 EAN-13 結果 0123456789052 和 UPC-A 123456789052 是同一個實體產品,這個區別應在還原記錄中保留。
驗證多條碼包裝或出貨組合當單張圖片包含多個條碼(箱號 + 品項、GS1 + 追蹤號)時,檢查解碼器是否取了最突出的一個,然後重新裁切或重新上傳以顯示其他條碼。一次裁切一個條碼是確認多標籤表面的可靠做法。

技術原理

一維條碼(UPC、EAN、Code 39、Code 128、ITF、Codabar)是由平行條與空格組成的序列,其寬度編碼了數字、字母或完整的 ASCII 範圍。二維條碼(QR Code、Data Matrix、PDF417、Aztec)則是在靜區上排列的二維模組(格子)圖案,通常在角落有三個定位圖案用於方向辨識。條碼解碼是反向的過程:影像 → 前處理 → 定位符號 → 測量條/空格寬度(或取樣二維網格) → 查詢編碼表 → 套用校驗碼驗證結果。 影像處理流程至關重要。來源影像經過灰階轉換(亮度 = 0.299R + 0.587G + 0.114B,Rec. 601 權重),然後進行全域或自適應閾值處理(Otsu 方法選取最大化類間變異數的閾值,適用於大多數光線充足的掃描;Sauvola 自適應閾值能更好地處理不均勻光照)。邊緣偵測(Sobel 核:3x3 的 Gx 和 Gy)找到垂直條的轉換;對這些線條進行 Hough 轉換可得出方向;連通元件分析則找出符號的邊界矩形。靜區(符號周圍的必要空白邊距,QR Code 為 X 尺寸的 10 倍,Code 128 為條寬的 9 倍)在符號被接受為有效候選之前會被驗證。 對於一維碼,解碼器測量 X 尺寸(最窄條的寬度,即單位長度),並將條-空格寬度讀為 X 的倍數。一個 Code 39 字元由 9 條 + 9 空格組成(其中一個是字元間隔);9 個元素中有 3 個是寬的(代表 1),6 個是窄的(代表 0)。一個 Code 128 字元是 11 個模組:一個起始模式、6 個編碼條/空格和一個停止模式。因此每個字元為 11 個模組;11 x 字元數 + 13(起始 + 停止 + 校驗 + 靜區)即為符號寬度。Code 128 有三種編碼集:A(大寫 + 控制字元)、B(大寫 + 小寫)、C(配對數字 00-99)——切換碼讓編碼器為每個子字串選擇最有效率的編碼集。 對於二維碼,演算法有所不同。QR Code 使用 Reed-Solomon 糾錯(EC 等級 L/M/Q/H 分別增加 7%、15%、25%、30% 的冗餘)和可配置的遮罩模式(8 種之一;編碼器選擇使懲罰分數最小的那個)。遮罩處理後,位元流被放置在 21x21(版本 1)到 177x177(版本 40)模組的方形網格上;角落的三個 7x7 尋找器圖案和內角的 5x5 校正圖案提供方向和比例資訊。Data Matrix 使用類似的佈局,兩側是 L 形實線邊框,另外兩側是交替的深淺色。PDF417 是一種堆疊式線性碼(17 個模組寬,最多 90 行),用於美國駕照和航空公司登機證。 本頁面使用 ZXing('Zebra Crossing')函式庫,這是一個開源的 Apache-2.0 多格式解碼器,源自 Google ZXing 專案。ZXing 執行完整的處理流程(定位 → 前處理 → 解碼),並依序嘗試每種已知的條碼格式。它支援 UPC-A、UPC-E、EAN-8、EAN-13、Code 39、Code 93、Code 128、ITF、Codabar、QR Code、Data Matrix、PDF417 和 Aztec。對於二維碼,在良好光線下的 1080p 照片中成功率約為 99%;對於一維碼則較低(約 85-95%),因為透視、模糊和反光會使條寬失真。本工具僅支援圖片檔案輸入(上傳、拖曳或剪貼簿貼上),不提供攝影機即時掃碼功能。 校驗碼至關重要。UPC/EAN 使用單一模 10 校驗位(奇數位數字之和 x 3 + 偶數位數字之和,模 10,再用 10 減去)。Code 128 使用模 103 校驗字元。Code 39 不要求校驗位,但建議在物流場景中使用 mod-43 校驗。QR Code 使用 Reed-Solomon 糾錯;如果糾錯解碼器發現的錯誤超出可糾正範圍,解碼即失敗。當函式庫揭露失敗原因時,頁面會顯示解碼失敗的資訊(校驗碼不符、靜區太小、遮罩衝突)。

  • 一維條碼(UPC、EAN、Code 39、Code 128、ITF)以條/空格寬度編碼資料;二維碼(QR Code、Data Matrix、PDF417、Aztec)以二維模組網格編碼。兩者都需要約 10 倍單位寬度的靜區才有效。
  • 影像處理流程:Rec. 601 灰階(0.299R + 0.587G + 0.114B)→ Otsu 或 Sauvola 閾值 → Sobel 邊緣偵測 → Hough 轉換求方向 → 連通元件分析找出符號邊界框。
  • Code 128 有 3 種編碼集:A(大寫 + 控制字元)、B(大寫 + 小寫)、C(配對數字 00-99)。切換碼讓編碼器為每個子字串選擇最緊湊的編碼集,比 Code 39 更緊湊地打包如 UPC-A '123456789012' 之類的數字。
  • Code 39:每個字元 9 條 + 9 空格,3 個寬的(1)和 6 個窄的(0);起始/停止字元為 '*'。可選的 mod-43 校驗位。廣泛應用於汽車、國防和美國政府(MIL-STD-1189)。
  • Code 93 是 Code 128 的前身,每個字元 9 個模組(6 個資料 + 起始/停止)和 47 個唯一字元;在大多數應用中已被 Code 128 取代,但仍見於某些加拿大藥房和 USPS 應用。
  • QR Code:L/M/Q/H 等級的 Reed-Solomon 糾錯(7%/15%/25%/30% 冗餘),8 種遮罩模式,21x21 到 177x177 個模組(版本 1 到 40)。角落的三個 7x7 尋找器圖案提供方向;較大版本上的 5x5 校正圖案可校正透視失真。
  • Data Matrix:兩側為 L 形實線邊框,另外兩側為交替深淺色;用於電子和製藥業的小型物品標記(ISO/IEC 16022)。
  • ZXing('Zebra Crossing',Apache-2.0,Google):本頁面使用的開源多格式解碼器。支援 UPC-A/E、EAN-8/13、Code 39/93/128、ITF、Codabar、QR Code、Data Matrix、PDF417 和 Aztec。本工具僅支援從圖片檔案解碼(上傳、拖曳或剪貼簿貼上),不提供攝影機即時掃碼。
  • 校驗碼:UPC/EAN 使用 mod-10,Code 128 使用 mod-103,Code 39 使用可選的 mod-43,QR Code 使用 Reed-Solomon 糾錯。校驗碼不符表示影像已損壞,而非資料本身有誤。

範例

商品條碼辨識

上傳超市商品照片,解析 EAN-13 條碼取得 6901234567890,再用此編號查詢商品名稱、製造商、價格等資訊

物流追蹤碼讀取

拍下貨運標籤上的條碼,解析後取得追蹤號碼如 SF1234567890,輸入快遞網站查詢物流狀態

書籍 ISBN 解析

掃描書本封底的條碼,解析出 ISBN 如 9787111234567,於書目資料庫查詢詳細書籍資訊

常見問題

可以解碼哪些條碼格式?

常見的一維碼包含 CODE 128、EAN-13、EAN-8、UPC-A、UPC-E、CODE 39、CODE 93、ITF(Interleaved 2 of 5)、Codabar,以及 QR Code、Data Matrix、Aztec、PDF417 等二維碼。本頁透過 ZXing 函式庫在你的瀏覽器中辨識並解碼這些格式,單張上傳的圖片即可處理。

圖片會被上傳到伺服器解碼嗎?

不會。解碼完全透過 WebAssembly 或純 JavaScript 在瀏覽器內完成。圖片拖入後是在本機讀取位元組,不會傳送到任何伺服器。可以打開瀏覽器的 Network 分頁自行確認。

為什麼我的條碼一直無法解碼?

常見原因有:圖片模糊、條碼旋轉角度超過解碼器容許範圍、對比度不足、表面有反光等。可以嘗試裁切到更貼近條碼、調高亮度/對比,並確保整個條碼至少有 200–300 像素寬。在直射光下拍攝光面印刷條碼經常會失敗。

支援哪些圖片格式?

支援 PNG、JPEG、GIF、WebP 與 BMP。可以選檔案、拖放,或從剪貼簿貼上。圖片會載入到隱藏的 canvas 中解碼——不會傳送到伺服器。

結果會包含哪些資訊?

包含解碼出的文字內容與偵測到的條碼格式。如果解出來的是 URL,會出現一個按鈕可在新分頁開啟;同時也會顯示字元數與格式名稱。

EAN-13 的檢查碼會驗證嗎?

ZXing 只在條碼通過內部所有檢查(包含格式所要求的檢查碼)時才會回傳結果。若解碼失敗,本頁只會顯示「找不到條碼」,不會區分到底是圖片不可讀還是檢查碼不對。

一張圖內有多個條碼,能一次解出來嗎?

本頁會偵測圖中最清晰的那組碼。若圖中有多個條碼,請各自裁切後分別上傳,這樣結果最為穩定。