條碼 API

把 URL 放進圖片標籤,就能取得可掃描的 PNG。需要向量圖?POST JSON 取得 SVG。與產生器使用同一套編碼器,免費,無需 API 金鑰。

  • 免費 · 無需 API 金鑰
  • 支援 CORS
  • PNG 邊緣快取

1 · 類型

11 位數字,或輸入 12 位驗證校驗位

3 · 尺寸
3
30
5
4 · 樣式
text
fg
bg
rotate

回應

200 OKimage/png
尺寸
369 × 159 px
DPI
300
模組
3 px
快取
1 年

請求

GET
https://barcodefox.com/api/v1/barcode?type=upca&data=03600029145
開啟 PNG

透過 URL 呼叫一律回傳 PNG。如需 SVG, 以 JSON 形式 POST 相同參數.

快速開始

兩種呼叫方式

GET/api/v1/barcode

URL → PNG

所有參數都放在查詢字串裡,URL 本身就是條碼。可以放進 <img> 標籤、試算表的 IMAGE() 公式、郵件範本或 Markdown 檔案。GET 請求一律回傳 PNG。

<img src="https://barcodefox.com/api/v1/barcode?type=ean13&amp;data=400638133393&amp;scale=4"
     alt="EAN-13 barcode 4006381333931">
  • image/png
  • 快取一年
  • 無需 JavaScript
POST/api/v1/barcode

JSON → SVG 或 PNG

以 JSON 請求本文傳送相同參數。"format": "svg"(預設)輸出以公釐為單位的向量圖,"png" 輸出點陣圖。

curl -X POST https://barcodefox.com/api/v1/barcode \
  -H "content-type: application/json" \
  -d '{"type":"code128","data":"BFX-0042","format":"svg"}' \
  -o barcode.svg
  • image/svg+xml
  • image/png
  • 請求本文 ≤ 8 KB

參考

端點

基礎 URL https://barcodefox.com/api/v1

方法路徑回傳
GET/barcode依查詢參數回傳 PNG 圖片
POST/barcode依 JSON 請求本文回傳 SVG(預設)或 PNG
POST/validateJSON:資料是否有效、正規化後的資料與檢查碼
GET/formatsJSON:支援的類型及其規則

參數

GET 使用查詢字串,POST 使用 JSON 鍵。只有 type 與 data 為必填。

名稱取值預設值說明
type必填string—條碼類型,取下方列出的 8 個值之一。
data必填string—要編碼的內容,最多 128 個字元。缺少檢查碼時自動補上,已提供時會進行驗證。
formatsvg | pngsvg僅限 POST。GET 一律回傳 PNG,其他取值會被拒絕。
scale1–103PNG 輸出中每個模組(最窄線條)的像素數。
height5–20030線條高度,單位為模組,可用小數。
margin0–405 / 10兩側靜區寬度,單位為模組:UPC、EAN 與 ITF-14 為 5,其他類型為 10。
textbooleantrue在條碼下方顯示人眼可讀的文字。
fghex141413線條顏色,可帶或不帶 #。
bghex | transparentFFFFFF背景顏色,或 transparent(透明)。
rotate0 | 90 | 180 | 2700順時針旋轉角度。
dpi72–1200300寫入 PNG 的解析度,列印軟體據此以正確尺寸排版。

錯誤

即使是 PNG 端點,錯誤也以 JSON 回傳,因此圖片標籤不會顯示錯誤的條碼,而是什麼都不顯示。

  • 400invalid_param缺少參數或參數超出範圍。
  • 400invalid_data資料無法依該類型編碼。
  • 400unsupported_format未知類型,或 GET 請求了 PNG 以外的格式。
  • 400too_largePNG 將超過 4000 × 4000 像素。
  • 413payload_too_largePOST 請求本文超過 8 KB。
  • 429rate_limited請求過多,請等待 Retry-After 指定的秒數。
HTTP/1.1 400 Bad Request
content-type: application/json

{
  "error": {
    "code": "invalid_data",
    "message": "Check digit should be 1, not 7",
    "param": "data"
  }
}

限制與快取

  • 120
    每分鐘請求數

    依 IP 位址計算,並在各邊緣節點分別計數,因此僅為近似值。

  • 4000
    PNG 最大像素尺寸

    寬與高,依縮放與旋轉後的結果計算。

  • 1 年
    GET 快取

    同一個 URL 一律回傳同一張圖片,可以放心外連。

  • $0
    價格

    無需金鑰,無需註冊,可商用。

8 種類型

支援的 type 取值

  • upcaUPC-A

    11 位數字,或輸入 12 位驗證校驗位

    ?type=upca&data=03600029145
  • ean13EAN-13

    12 位數字,或輸入 13 位驗證校驗位

    ?type=ean13&data=400638133393
  • ean8EAN-8

    7 位數字,或輸入 8 位驗證校驗位

    ?type=ean8&data=9638507
  • code128Code 128

    可列印 ASCII 字元,最多 48 個

    ?type=code128&data=BFX-2026-0042
  • gs1-128GS1-128

    括號內填寫應用識別符號,例如 (01)…(17)…

    ?type=gs1-128&data=(01)09506000134352(17)261231
  • itf14ITF-14

    13 位數字,或輸入 14 位驗證校驗位

    ?type=itf14&data=1540014128876
  • code39Code 39

    A–Z、0–9、空格和 - . $ / + %

    ?type=code39&data=FOX-42
  • codabarCodabar

    數字和 - $ : / . +,以 A–D 起止字元包圍

    ?type=codabar&data=A40156B

常見問題

API 常見問題

不想呼叫伺服器? 線上產生器 可以直接在瀏覽器中產生同樣的條碼。

為什麼 URL 方式只回傳 PNG?

URL 通常用在放圖片的地方:<img> 標籤、郵件、試算表或 Markdown 檔案,而 PNG 在這些地方都能使用。如需向量圖,請以 JSON 形式 POST 相同參數,並設定 "format": "svg"。

需要 API 金鑰嗎?

不需要。API 免費、無需註冊,並允許商用。每個 IP 位址每分鐘約可請求 120 次,超出後會收到帶 Retry-After 標頭的 429 回應。

可以在我的網站上直接外連圖片嗎?

可以。同一個 URL 一律回傳同一張圖片,回應可快取一年,瀏覽器與 CDN 只需取得一次。

如何以正確尺寸列印條碼?

PNG 檔案帶有解析度資訊(未設定 dpi 時為 300 DPI),列印軟體會依對應的實體尺寸排版。如需精確尺寸,請 POST 取得 SVG:它以公釐為單位,每個模組 0.33 mm。

我編碼的資料會被儲存嗎?

API 沒有資料庫,不會儲存你編碼的內容。GET 回應會保存在邊緣快取中以加快重複請求;POST 回應從不快取。