二維碼生成器
線上生成自訂二維碼,支援文字、網址、名片,可調整顏色和大小
請輸入內容後生成二維碼
什麼是二維碼生成器?
二維碼生成器會把文字、網址、聯絡資訊或其他短內容編碼成手機與掃碼設備能快速識別的方形條碼。二維碼常用於海報、標籤、菜單、產品包裝、桌牌、內部指示牌、活動簽到等情境,適合取代手動輸入長連結。一個好的二維碼不只是「生成出來」,還必須容易被掃到:前景與背景對比、尺寸、留白區、印刷品質、掃描距離、編碼內容長度都會影響辨識效果。糾錯等級能讓二維碼在輕微污損或視覺裝飾下仍可讀取,但等級越高、內容越長,圖案也可能越密。正式發布前,應在真實光線下用手機掃描匯出的 PNG 或 SVG,尤其是換色或使用長 URL 時。
使用方法
使用方式
- 在輸入欄位輸入要編碼的內容,例如網址、文字或聯絡資訊
- 依需求調整前景色、背景色與 QR Code 尺寸
- 選擇適當的容錯等級——較高等級可提供更佳的抗損性
- 點選「產生 QR Code」按鈕來建立 QR Code
- 預覽確認後下載 PNG 或 SVG 格式的圖片
掃描提示
- 在列印或發布前,至少用一支手機測試掃描 QR Code,特別是在變更顏色或尺寸之後。
- 保持前景與背景之間有足夠的對比,並在 QR Code 周圍保留足夠的留白,讓掃描器能順利偵測。
使用場景
技術原理
QR Code 的標準為 ISO/IEC 18004:2015,定義了 40 個尺寸版本:版本 1 為 21x21 模組矩陣,之後每增加一個版本每邊增加 4 個模組,因此版本 40 為 177x177。「模組」是格線中的一個黑色或白色小方格。三個固定的 7x7 定位圖案位於左上、右上和左下角,讓掃描器無論旋轉角度如何都能鎖定方向;從版本 2 開始,5x5 的對齊圖案以規則格線排列,用於校正透視變形;定位圖案之間有一個模組寬的計時圖案,用於確立模組間距。<br /><br />有效負載位元組透過 GF(2^8) 上的 Reed-Solomon 糾錯包裹,這正是部分遮擋的碼仍可解碼的原因。四個等級分別為:L = 可恢復最多 7% 的碼字、M = 15%、Q = 25%、H = 30%。選擇 H 等級可讓你在碼面積約 20% 的中心區域疊加 Logo 而不影響可讀性,代價是同版本下可用的資料碼字更少。資料本身以四種模式之一編碼——數字模式(每 3 位數 10 位元)、字母數字模式(每 2 字元 11 位元,取自 45 個符號集合)、位元組模式(8 位元,非 ASCII 通常使用 UTF-8)、漢字模式(每 Shift_JIS 字元 13 位元)——編碼器會選擇能涵蓋所有輸入字元的最高密度模式。<br /><br />編碼後,位元串流會與八種遮罩圖案之一進行 XOR 運算,以避免大面積單色區域和定位圖案類序列的誤偵測;編碼器根據罰分(定義於標準第 7.8.3 節)對八種遮罩進行評分,並將勝出的遮罩 ID 寫入定位圖案旁的格式資訊條帶。格式與版本元資料本身分別受到 BCH(15,5) 和 BCH(18,6) 碼的保護。在瀏覽器端,qrcode npm 函式庫生成矩陣並透過 CanvasRenderingContext2D.fillRect 渲染到 HTML <canvas> 上,或輸出 SVG <rect> 元素;在支援的裝置上,BarcodeDetector API(Android 上的 Chrome、Safari 16.4 起)可直接從相機畫面解碼,無需外部函式庫。
- 標準:ISO/IEC 18004:2015 — 40 個版本,版本 N 為 (4N+17) x (4N+17) 模組,因此 V1=21x21、V10=57x57、V40=177x177
- 定位圖案與對齊圖案:三個固定的 7x7 定位圖案位於左上/右上/左下,用於鎖定旋轉;版本 2 起以規則格線加入 5x5 對齊圖案以校正透視;定位圖案之間的 1 模組計時圖案確立模組間距
- 糾錯(GF(2^8) 上的 Reed-Solomon):L=7%、M=15%、Q=25%、H=30% 的碼字可恢復——H 等級可容忍中心約 20% 的 Logo 覆蓋
- 資料模式與位元成本:數字模式每 3 位數 10 位元、字母數字模式每 2 字元 11 位元(45 個符號集合)、位元組模式 8 位元(實務上為 UTF-8)、漢字模式每字元 13 位元(Shift_JIS)
- 容量範例(V40-L):7089 個數字、4296 個字母數字、2953 個位元組、1817 個漢字字元——在 H 等級下容量急劇下降
- 遮罩處理:8 種遮罩圖案依 4 條規則的罰分評分(ISO/IEC 18004 §7.8.3);勝出的遮罩 ID 寫入受 BCH(15,5) 保護的格式資訊條帶;版本資訊使用 BCH(18,6)
- 瀏覽器端渲染與解碼:qrcode.js / qrcode (npm) 輸出 canvas fillRect 或 SVG <rect>;BarcodeDetector API(Android 上的 Chrome、Safari 16.4+)可直接從相機畫面解碼 QR Code,無需 JS 函式庫
範例
網站連結
輸入: https://toolact.com
19 個字元的 URL 在錯誤更正等級 L 下可放入最小的 QR 版本
(Version 2,25x25 模組)。當前景為深色、背景為淺色,且符號
四周保留至少四個模組的安靜區時,多數手機相機可在不到一秒
內偵測並解碼。純文字內容
輸入: SKU-7842-AB
適合產品規格、序號或非 URL 的簡短說明。QR code 會解碼回原始
文字,多數掃描器會將其複製到剪貼簿或顯示在結果頁面中。WiFi 連線字串
輸入: WIFI:T:WPA;S:GuestNetwork;P:welcome2024;;
WIFI: 前綴會讓作業系統提供「加入網路」動作,而不是把內容
當成一般文字處理。T 是認證類型(WPA、WEP 或 nopass),
S 是 SSID,P 是密碼。只要密碼不含特殊字元,多數手機都
接受不加引號的格式。聯絡人名片 (vCard)
輸入:
BEGIN:VCARD
VERSION:3.0
FN:Alex Chen
ORG:ToolAct
TEL:+1-555-0142
EMAIL:alex@toolact.com
END:VCARD
掃描後手機會提示儲存名為「Alex Chen」的新聯絡人,並自動
填入電話、電子郵件與組織等欄位。vCard 3.0 是支援度最廣的
格式;vCard 4.0 雖增加更多欄位,但並非每個掃描器都能識別。支付內容
輸入: bitcoin:1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa?amount=0.01
比特幣錢包 App 掃描此 QR code 時,會自動帶入收款位址
「1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa」與金額「0.01」BTC。
「bitcoin:」URI scheme(BIP-21)是 BTC 付款 QR code 的
事實標準格式;以太坊使用「ethereum:」(EIP-681),門羅幣
使用「monero:」。常見問題
QR 碼裡可以放些什麼?
任何你輸入到輸入框的文字——URL、純文字或格式化字串。本頁會把你輸入的內容直接編碼進 QR 碼,並未針對結構化資料類型提供特別表單;想編碼什麼就直接貼上原始文字。
QR 碼是在本機產生的嗎?
是的。本頁使用 JS 函式庫(通常是 qrcode-generator)以 SVG 或 canvas 在你的瀏覽器中渲染。沒有任何上傳——你的 URL 或文字不會經過網路。
我該選哪一個錯誤更正等級?
L(約 7% 復原)、M(約 15%)、Q(約 25%)、H(約 30%)。H 級掃描最慢,但能讓條碼承受較大損傷或中央放置 logo 的覆蓋。一般純 QR 碼用 M 即可;若要嵌 logo 或印在容易磨損的表面,請選 H。
一個 QR 碼能放多少資料?
依版本(1-40)與錯誤等級不同,最多可達 4296 個英數字元、7089 個數字,或 2953 個位元組。長 URL 沒問題,但很大的文字內容(數百位元組以上)會產生密集的條碼,遠處或小尺寸印刷時很難掃描。若內容偏長,建議先用縮網址。
可以在中間放 logo 嗎?
可以——QR 的錯誤更正讓你能疊上小圖而不影響解碼。logo 面積請保持在條碼面積的 25% 以下,並使用 Q 或 H 等級。發布前務必用多支不同手機相機實際掃描測試。
支援哪些輸出格式?
PNG(點陣)、SVG(向量、可無限縮放),有時還支援列印用的 PDF 或 EPS。SVG 最適合印刷與看板;PNG 用於螢幕與聊天則綽綽有餘。
為什麼 QR 印小之後就掃不到?
印刷解析度是最常見的原因。每個黑白模組在預期的掃描距離下,至少要約 0.4 mm。名片(30 公分掃描距離)大約需要 2 公分大小的條碼;廣告看板(5 公尺以上掃描距離)則需要更大的模組。如果一定要縮小,請減少資料量並使用較低的錯誤更正等級。