怎麼用
- 已經有圖片:按「選 QR Code 圖片」,或把圖片拖進虛線框,或在頁面上按 Ctrl+V貼上截圖。
- 現場要掃:按「開啟相機掃描」,允許瀏覽器使用相機,把 QR Code 放進畫面中央。掃到會自動停下來並顯示結果。手機有前後鏡頭時,可以用「切換前後鏡頭」換。
- 結果是網址時,先確認完整網址,再按「複製」或「開啟」。開啟會在新分頁進行。
- 掃完按「停止相機」。關掉頁面時相機也會一併關閉。
掃到網址前,先看這幾件事
- 先看網域:網址最重要的是「網域名稱」,也就是第一個單斜線前面那一段。長得像、但差一個字母的網域是常見的仿冒手法。
- 公共場所的 QR Code:貼在路邊、停車場、餐桌上的 QR Code,有可能被別人貼了另一張蓋在上面。先看掃出來的網址是不是你預期的服務。
- 要求輸入敏感資料:點進去之後如果要你輸入密碼、信用卡號、驗證碼,先停下來,改從官方 App 或你自己輸入的官方網址操作。
- 不是網址的內容:電話、簡訊、Wi-Fi、行事曆、聯絡人這類內容,這個頁面只顯示文字,不會替你撥號、傳訊息或連線。
這個頁面怎麼讀 QR Code
QR Code 是一種二維條碼,格式由國際標準 ISO/IEC 18004 規範,裡面可以放網址、文字或其他資料。這個頁面把圖片畫到瀏覽器的畫布上,再交給解碼程式找出三個定位方塊、讀出資料。解碼有兩條路:如果你的瀏覽器有內建的條碼偵測功能(BarcodeDetector),就先用它;它不存在、或沒讀出東西時,改用本站自己提供的開源程式 jsQR 再試一次。圖片很大時,還會縮小再試一次,因為太高解析度的圖有時反而讀不出來。
鏡頭掃描則是用瀏覽器的相機功能(getUserMedia)取得影像,每隔一小段時間截一張畫面來解碼,直到讀到為止。相機只有在你按下按鈕之後才會啟動,這是瀏覽器的規定,也是我們的設計。
限制
- 只讀 QR Code,不讀一維的商品條碼與其他二維碼。
- 相機需要 HTTPS 連線,也需要你允許;沒有相機的裝置、相機被其他程式佔用、瀏覽器不支援時,會顯示說明,改用上傳圖片即可。
- 破損、過小、反光嚴重、被遮住定位方塊的 QR Code 讀不出來;讀不出來不代表圖片裡沒有 QR Code。
- 解碼程式無法保證每一張都讀對。重要用途(付款、轉帳、設定)請以原始來源再確認一次。
要做 QR Code,不是讀?
如果你要的是反過來,把網址、文字或 Wi-Fi 做成 QR Code,請用 QR Code 產生器。想把圖片換格式,可以用 圖片轉檔。
常見問題
圖片或鏡頭畫面會上傳嗎?
不會。上傳的圖片、相機拍到的畫面,都只在你的瀏覽器裡解碼,本站伺服器收不到。頁面只會記錄你按了哪個按鈕,不會記錄圖片內容,也不會主動記錄掃出來的文字。要提醒的是:掃出來的是網址時,你按「開啟」之後,就是你的瀏覽器去連那個網站,網站流量統計可能會記到你點出去的那個網址;之後的事和本站無關。
手機怎麼用鏡頭掃?一直跳不出相機怎麼辦?
按「開啟相機掃描」,瀏覽器會問你是否允許使用相機,選允許,把 QR Code 放進畫面中央即可,掃到就會自動停下來。跳不出相機,常見原因有三個:一、之前按過「封鎖」,要到瀏覽器網址列旁的網站設定把相機改回允許;二、別的程式正在使用相機,先關掉它;三、網頁不是 HTTPS(瀏覽器規定只有安全連線的網頁才能用相機),本站是 HTTPS 就不會遇到。如果相機怎麼樣都開不了,改用「選擇圖片」,把 QR Code 截圖或拍照後上傳,效果一樣。
掃不出來是什麼原因?
最常見的是圖片太小或太糊、QR Code 被切掉一角、反光或陰影太重、對比太低(例如淺灰字配白底)。可以這樣試:把圖片裁成只剩 QR Code 再上傳;用鏡頭掃時拉近一點、保持穩定、避開反光;圖片是縮圖的話,找原圖。QR Code 本身有容錯機制,標準定義了 L、M、Q、H 四個容錯等級,可還原大約 7%、15%、25%、30% 的資料碼字(資料的基本單位),但定位用的三個大方塊被遮住或切掉時,就算容錯再高也掃不出來。另外,這個頁面只讀 QR Code,一維的商品條碼、其他二維碼不在範圍內。
掃出來的網址可以直接開嗎?
建議先看清楚再開。QR Code 的圖案看不出裡面是什麼網址,有人會把惡意網址做成 QR Code 貼在別人的海報、停車繳費單或收據上。這個頁面會把完整網址顯示出來,你可以先確認網域名稱是不是你預期的那個,再決定要不要按「開啟」。只有 http、https 開頭的網址才提供開啟鈕;電話、簡訊、Wi-Fi 等其他內容只顯示文字,讓你自己判斷怎麼處理。要開啟的網址如果要你輸入密碼、信用卡號或驗證碼,請特別小心。
可以一次掃很多張圖嗎?一張圖裡有多個 QR Code 呢?
可以一次選多張圖,每張圖會各自列出結果。一張圖裡如果有好幾個 QR Code,有內建條碼偵測功能的瀏覽器可能會一起讀出來;沒有內建時用的 jsQR 一次只處理一個,圖裡有兩個以上時可能一個都讀不到。要確保每個都讀到,請把圖片裁開,一次一個。
中文、Wi-Fi 設定的 QR Code 掃出來是什麼樣子?
中文會依 UTF-8 還原成文字。Wi-Fi 的 QR Code 常見格式是以 WIFI: 開頭的一串文字,裡面有網路名稱(S)、加密方式(T)和密碼(P),這個頁面會原樣把這串文字顯示給你,你自己看就能知道密碼,再手動輸入到手機的 Wi-Fi 設定。這個頁面不會幫你自動連線。如果掃出來的字是亂碼,可能是做 QR Code 的人用了非 UTF-8 的編碼,這個頁面無法判斷原本的編碼,只能照實顯示。
跟「QR Code 產生器」有什麼不同?
方向相反。這個頁面是「讀」:給它一張 QR Code,告訴你裡面寫了什麼。要「做」一個 QR Code(網址、文字、Wi-Fi、LINE 加好友),請用本站的 QR Code 產生器。
資料來源與授權
- jsQR 1.4.0,授權為 Apache License 2.0。使用 npm 官方發佈、未經修改的
jsQR.js,放在本站自己的伺服器上,不從外部網站載入。來源:github.com/cozmo/jsQR。授權全文:Apache-2.0、版本與檔案校驗碼。 - QR Code 標準:ISO/IEC 18004:2024(國際標準組織)。
- 容錯等級:QR Code 發明者 DENSO WAVE 的說明頁。
- 瀏覽器條碼偵測:MDN:BarcodeDetector(該頁標示為實驗性技術,各瀏覽器支援度不一)。
- 相機存取:MDN:getUserMedia、MDN:安全情境(Secure Contexts)。