QR Code 產生器把一段文字或網址編碼成方形的二維碼,直接畫在瀏覽器的 <canvas> 上,再讓你存成 PNG。編碼是用瀏覽器內執行的 JavaScript 完成的,沒有任何請求送往外部圖片 API——這一點值得確認,因為市面上不少「線上 QR 產生器」其實是把你的網址塞進外部服務的 URL 參數,你的內容就成了對方伺服器的存取記錄。
使用步驟
- 在上方的輸入框貼上內容:網址、純文字、電話號碼、Wi-Fi 設定字串都可以。每次輸入變動都會即時重畫,不需要按產生。
- 選圖片尺寸:128px、256px 或 512px。這只決定輸出 PNG 的像素邊長,不影響 QR code 的模組數量——模組數是由資料長度決定的。
- 選 error correction 等級:
L、M、Q、H(預設M)。等級越高越耐髒污與遮擋,但同樣的資料會需要更多模組。 - 下方的白底預覽框會顯示目前的 QR code,用手機掃一次確認能讀到正確內容,再往下一步。
- 按「下載 PNG」把圖片存成
qrcode.png。黑白配色與邊界留白是固定的,不提供顏色或 logo 設定。
什麼時候用得上
把活動報名連結印在海報或桌卡上
短網址在這裡是實質優勢:https://exp.tw/a1 只有十幾個位元組,模組稀疏、放大後每格都很粗,遠距離或光線不佳也掃得到。同樣的資訊如果帶上一整串 UTM 參數,模組會密到在 A4 海報上都可能掃不動。要做印刷用途請選 512px。
讓客人自己連上店裡的 Wi-Fi
輸入 WIFI:T:WPA;S:網路名稱;P:密碼;; 這種格式的字串,iOS 與 Android 的相機掃到後會直接跳出連線提示,不用把密碼寫在牆上。注意這串內容是明文編碼進圖片的,任何人掃了都能看到密碼,別貼在店外。
在文件或簡報裡放一個可掃的入口
產品手冊、規格書、投影片的角落放一個 QR code,讀者不必手打長網址。256px 的 PNG 插進 Word 或 Google Slides 通常就夠清楚,因為螢幕與印刷的縮放比例本來就不大。
測試自己 app 的掃碼流程
要驗證 app 的掃碼解析邏輯,最快的方式就是即時產一批不同內容的 QR code:正常網址、含 emoji 的 UTF-8 文字、超長字串、不同 error correction 等級。改一個字元就重畫,比每次重跑產生腳本快。
限制與注意事項
- 資料越長,模組(黑白小方格)就越多、每格就越小。同樣印成 3 公分見方,20 字的網址每格可能有 0.8mm,而 800 字的文字每格不到 0.2mm——一般手機鏡頭在這個尺度下就對不到焦了。想印小張,就先把內容縮短。
- error correction 是用冗餘換容錯:
L約可修復 7% 的損毀、M約 15%、Q約 25%、H約 30%。代價是同一份資料在H下需要的模組明顯多於L。室內螢幕顯示用L或M就夠;會被壓折、沾污、或中央要疊 logo 的印刷品才值得用Q/H。 - QR code 規格要求四周留出 4 個模組寬的空白(quiet zone),掃描器靠它判斷圖形邊界。本工具輸出的留白是 2 個模組,比規格建議值窄。多數手機能容忍,但拿去印刷或貼在深色背景上時,請自行在圖片外圍再補一圈白邊,不要讓 QR code 直接切齊裁切線或緊貼其他印刷元素。
- 這是靜態 QR code:內容在產生的那一刻就固定燒進圖形裡,之後無法修改。海報印了一千張才發現網址錯,只能重印。如果連結有可能改動,請先指向一個你能改目標的短網址服務或自家轉址頁,再把那個中介網址編碼進來。
- 輸入框的內容是原樣編碼的,不會幫你去掉頭尾空白或換行。從別處複製網址時很容易帶進一個結尾換行,掃出來就變成後面多了
%0A的網址。貼完先看一眼,或用手機實際掃過再交付。 - 這個工具只做產生,不做辨識——它不能讀取一張 QR code 圖片還原內容。也不提供顏色自訂、中央 logo、SVG 或向量輸出、批次匯入 CSV 產生多張,以及掃描次數統計。
常見問題
我的內容會被送到外部服務嗎?
不會。編碼是 qrcode 這個 JavaScript 套件在你的瀏覽器裡跑完的,結果直接畫進 <canvas>,下載則是把 canvas 轉成 data URL 存檔。沒有任何請求帶著你輸入的內容出去,你可以斷網後再操作一次驗證——工具照樣運作。(頁面本身會載入廣告等第三方資源,那些請求不含你的內容。)這和那些用 <img src="外部API?data=你的網址"> 實作的產生器有本質差別:後者等於把你的內容寫進別人的伺服器日誌。
最多可以放多少字?貼很長的文字為什麼預覽沒反應?
QR code 的上限由規格決定:最大的 version 40 在位元組模式下,L 約 2953 bytes、M 約 2331、Q 約 1663、H 約 1273。要注意中文與 emoji 走 UTF-8,一個中文字算 3 bytes,所以 H 等級大概只放得下四百多個中文字。超過上限時本工具目前不會顯示錯誤訊息,預覽框會停留在上一次成功產生的圖上——看到「改了字但圖沒變」就是撞到容量上限了,請縮短內容或降低 error correction 等級。
選 512px 會讓 QR code 容納更多資料嗎?
不會。尺寸只是把同一組模組放大成更多像素,模組數量完全沒變。資料量與 error correction 等級才決定模組數。尺寸的意義在輸出解析度:螢幕上用 256px、要印刷或放大用 512px,這樣放大時邊緣才不會出現 PNG 的鋸齒與模糊。
為什麼有些手機掃得到、有些掃不到?
常見原因有四個:模組太小(內容太長又印太小)、四周留白不足、對比不夠(例如把 PNG 疊在有色背景上、或印在深色紙上)、以及螢幕反光。先試著縮短內容、換 512px、在圖外多留一圈白邊。如果是印刷品,務必用最終尺寸打樣,拿不同機型各掃一次再開印。
可以下載 SVG 嗎?印刷廠說要向量檔。
目前只能下載 PNG,因為圖形是畫在 <canvas> 上再轉成點陣圖的。若印刷廠堅持要向量,實務上的折衷是選 512px,並讓對方以 100% 或整數倍縮放置入(不要放大到 200% 以上);QR code 是純黑白方塊,在足夠解析度下點陣化的邊緣其實不明顯。
我可以在中間放公司 logo 嗎?
這個工具不做這件事,需要另外用影像編輯軟體疊上去。真的要疊的話,請先把 error correction 升到 H,並把 logo 控制在整張圖面積的 15% 以內、置於正中央,避開三個角上的定位圖案(finder pattern)。疊完一定要重新掃過測試:H 等級能修復約 30% 的損毀,但那是分散損毀,集中遮住一整塊仍可能讓它讀不出來。