QR Code 產生器

即時產生 QR Code,支援自訂尺寸與容錯等級,可下載 PNG

請輸入內容以產生 QR Code

QR Code 產生器把一段文字或網址編碼成方形的二維碼,直接畫在瀏覽器的 <canvas> 上,再讓你存成 PNG。編碼是用瀏覽器內執行的 JavaScript 完成的,沒有任何請求送往外部圖片 API——這一點值得確認,因為市面上不少「線上 QR 產生器」其實是把你的網址塞進外部服務的 URL 參數,你的內容就成了對方伺服器的存取記錄。

使用步驟

  1. 在上方的輸入框貼上內容:網址、純文字、電話號碼、Wi-Fi 設定字串都可以。每次輸入變動都會即時重畫,不需要按產生。
  2. 選圖片尺寸:128px、256px 或 512px。這只決定輸出 PNG 的像素邊長,不影響 QR code 的模組數量——模組數是由資料長度決定的。
  3. 選 error correction 等級:LMQH(預設 M)。等級越高越耐髒污與遮擋,但同樣的資料會需要更多模組。
  4. 下方的白底預覽框會顯示目前的 QR code,用手機掃一次確認能讀到正確內容,再往下一步。
  5. 按「下載 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。室內螢幕顯示用 LM 就夠;會被壓折、沾污、或中央要疊 logo 的印刷品才值得用 QH
  • 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% 的損毀,但那是分散損毀,集中遮住一整塊仍可能讓它讀不出來。