符號本身被標準化為 ISO/IEC 18004,這就是四個糾錯等級和四十種版本大小的來源。
我印製的第一個二維碼不起作用。它是為客戶'產品包裝 - 設定影片的連結 - 設計團隊使其看起來很漂亮:品牌紫色略深灰色,沒有白色邊距,整齊地塞進約 12 毫米見方的角落。它在設計師和#39上掃描得很好;顯示器。在印刷盒上,在倉庫照明下,使用一部已有兩年歷史的 Android 手機,它幾乎從未掃描過。我們重印了 4,000 個盒子。
這個錯誤比任何文件都教會了我更多關於二維碼的知識。二維碼不是標誌;它是一種具有物理要求的資料格式。對比度、安靜區域、模組大小和糾錯不是美學偏好--它們是在 200 毫秒內讀取的程式碼和讓客戶放棄的程式碼之間的區別。我建立了 [toolz。dev](/,所以當我需要我可以信任的二維碼產生器時,我自己編寫了編碼器,而不是嵌入第三方小部件,並將其作為 QR 碼產生器.
TL;DR: 二維碼將資料直接儲存在影像中,因此 靜態 代碼永遠不會過期。大多數免費的線上生成器都會為您提供 動態的 秘密指向短鏈路的程式碼 - 他們可以稍後停用、計量或貨幣化。這 QR 碼產生器 完全在瀏覽器中以四個糾錯等級中的任何一個對 URL、WiFi、vCard、電子郵件、簡訊和電話號碼進行編碼,並匯出用於列印的 SVG 和用於螢幕的 PNG。沒有任何內容上傳,沒有任何內容過期,也沒有帳戶。
什麼是二維碼,真的嗎?
QR 碼是一種二維條碼,它將位元組儲存在稱為模組的黑白方塊網格中。它由 Denso Wave 於 1994 年設計,用於追蹤汽車零件,標準化為 ISO/IEC 18004,並且真正免版稅 - 該專利存在,但 Denso Wave 選擇不強制執行,這就是為什麼 QR 碼出現在從餐廳菜單到中央銀行支付系統的所有內容上。
結構比看起來更有組織性。角落的三個大方塊是 發現者模式()它們是掃描器首先定位的內容,以找出程式碼的位置以及如何旋轉程式碼。它們之間運行的虛線是 計時模式,它告訴掃描器一個模組有多寬。散佈在身體各處的較小方塊是 對齊模式,用於以一定角度拍攝程式碼時校正透視。其他一切都是資料、糾錯位元組或描述使用哪個糾錯等級和遮罩圖案的格式資訊。
最後一部分--掩蔽--是大多數人從未聽說過的部分。原始編碼資料通常會產生看起來像查找器方塊的大空白區域或圖案,並且都會使掃描器感到困惑。因此,編碼器根據八個幾何掩模模式之一對資料區域進行異或,根據規範中的四個懲罰規則對每個結果進行評分,並保留得分最低的一個。這是一個小的優化,可以悄悄地區分立即掃描的程式碼和搜尋的程式碼。任何值得使用的生成器都可以做到這一點;這 QR 碼產生器 完全按照標準描述,對所有八個面具進行適當的處罰評分。
實用要點:二維碼是一種獨立的資料結構。資訊存在於圖片內。一旦列印出來,地球上就沒有伺服器參與解碼。
靜態和動態二維碼有什麼區別?
這是使用任何免費二維碼產生器之前需要了解的最重要的事情,幾乎沒有一個能解釋它。
一個 靜態二維碼 直接對您的資料進行編碼。如果你編碼的話 https://toolz.dev/tools/qr-generator,這些模組確實拼出了那個 URL。掃描器讀取位元組並打開連結。沒有中介,沒有帳戶,也沒有辦法讓任何人關閉它。它將於 2026 年運行,並將於 2046 年運行。
一個 動態二維碼 對屬於生成器的短連結進行編碼 - 類似 https://qr-svc.example/x7Kp2 - 這將重定向到您的真實目的地。重點是您可以稍後更改目的地並查看掃描分析。問題是您的列印程式碼現在永久依賴第三方'伺服器保持線上、保持自由並維持業務。很多人透過艱難的方式發現了這一點:"free"他們在 10,000 張傳單上列印的程式碼開始顯示 "您的試用期已過期,升級以重新啟動"頁面,唯一的修復是重印。這種商業模式的存在是因為您的程式碼是人質。
以下是兩人如何比較實際重要的事情:
| 靜態二維碼 | 動態二維碼 | |
|---|---|---|
| 數據所在的地方 | 圖像內部 | 在提供者's 伺服器上 |
| 過期 | 從來沒有 | 當提供者這麼說時 |
| 列印後可編輯的目標 | 不 | 是的 |
| 掃描分析 | 沒有 | 是的,透過提供者 |
| 需要一個帳戶 | 不 | 幾乎總是 |
| 隱私 | 掃描器僅看到您的 URL | 提供者記錄每次掃描 |
| 代碼密度 | 取決於有效負載長度 | 總是短(短連結) |
| 如果提供者消失則有效 | 是的 | 不 |
動態程式碼有一個合理的優勢:對於目的地真正可能改變的實體戰役來說,可編輯性是有價值的。但您應該從重定向中獲得這一點 你 控制 - 您可以在自己的網域上隨意重新定位的短路徑 - 不是來自可以勒索贖金的免費服務。編碼 yoursite.com/go/menu 作為靜態程式碼,您同時具有可編輯性和獨立性。
一切都是由 QR 碼產生器 按照設計,是靜態的。循環中沒有伺服器可以使任何內容過期。
如何製作掃描可靠的二維碼?
有五件事決定了程式碼第一次嘗試時是否讀取。大致按它們被搞砸的頻率排列:
對比。 深色模組在真正的淺色背景下必須是真正的深色。掃描器在解碼之前將影像二值化 - 每個像素變成黑色或白色 - 並且低對比色對模糊地著陸。白色上的深海軍藍是安全的。淺灰色上的中灰色則不然。如果您必須為程式碼打上品牌標籤,請為程式碼打上色調 黑暗的 模組並保持背景白色或接近白色。
不要反轉。 暗背景上的光模組在大約 70% 的掃描器應用程式中工作,但在其餘應用程式中失敗,因為許多解碼器假設光是暗的,並且從不嘗試相反的方法。它在暗模式模型中看起來很棒,但在現實世界中令人失望。
安靜區。 該規範要求四面有四個模組的光裕。這不是裝飾;這是掃描器將程式碼與周圍藝術品區分開來的方式。將其緊緊地靠在照片或彩色面板上,檢測率就會從懸崖上掉下來。這 QR 碼產生器 預設為四個模組的邊距,並允許您加寬它。
物理尺寸。 業界的經驗法則是,代碼'寬度應至少為預期掃描距離的十分之一。從 30 公分(桌子上的選單)掃描意味著至少 3 公分的代碼。從 3 公尺處讀取的海報需要 30 公分。在大約 2 公分的列印下,無論編碼器有多好,廉價的相機模組都很難使用。
有效負載長度。 每個額外的字元都會添加模組。 30 個字元的 URL 可能會產生 29×29 的網格; 300 個字元的 1 個氣球到 69×69,每個模組在相同的物理尺寸下都會變小。縮短您的 URL。剝離 UTM 參數,或將它們移動到重定向後面。這是可用的最便宜的可靠性勝利,而且它是免費的 - 使用 Slug 產生器 保持 URL 路徑本身短且乾淨。
在承諾列印之前,請在至少三款手機上進行測試,其中包括一台舊的廉價 Android 手機。螢幕測試不是列印測試。
我應該選擇什麼糾錯等級?
QR 碼帶有 Reed-Solomon 糾錯字節,即使部分程式碼不可讀(弄髒、撕裂、眩光或覆蓋),掃描器也可以重建有效負載。您選擇包含多少冗餘:
| 級別 | 恢復過來 | 好 |
|---|---|---|
| L(低) | 7% | 乾淨的數位顯示,最小模組中的最大資料 |
| M(中) | 15% | 明智的預設值:螢幕和乾淨的列印 |
| Q(四分位數) | 25% | 工業、戶外、弧形或小字 |
| H(高) | 30% | 頂部有徽標的代碼,或惡劣環境 |
權衡是密度。冗餘位元組佔用空間,因此在固定有效負載下,H 級比 L 級需要更多模組 - 這意味著更大的列印程式碼或更小的模組。將每個程式碼壓縮到 H "為了安全與報價;可能會適得其反:您最終會得到更密集的程式碼 更難 以相同的物理尺寸進行掃描。
H 不可協商的一種情況是中間有一個徽標。這個技巧之所以有效,是因為糾錯可以重建您的徽標覆蓋的模組。保持徽標居中,將其保持在代碼區域的大約 25%30% 以下,並且永遠不要讓它接觸角落中的查找器圖案。從匯出 SVG QR 碼產生器 在 H 級,將徽標放在設計工具的頂部,然後(此部分是強制性的)在發貨前用幾部手機掃描合成圖。
除了 URL 之外,您還可以編碼什麼?
二維碼包含字節,電話攝影機可以識別幾種傳統的文字格式並對其起作用。格式簡單;逃避是人們旅行的地方。
WiFi 憑證。 有效負載看起來像 WIFI:T:WPA;S:MyNetwork;P:mypassword;;。 掃描它,手機提供加入網路 - 不得向訪客大聲輸入 24 個字元的密碼。陷阱正在轉義:如果您的 SSID 或密碼包含分號、逗號、冒號、引號或反斜線,則這些字元必須反斜線轉義,否則有效負載解析錯誤且連接靜默失敗。這 QR 碼產生器 自動處理轉義,這比許多僅字串連接輸入的產生器更能說明問題。
聯絡卡。 vCard 有效負載 (BEGIN:VCARD … END:VCARD) 將您的姓名、公司、電話、電子郵件和網站放入一個代碼中,掃描即可保存聯絡人。這是最接近仍然有意義的名片,與 " 不同;聰明&引用; NFC 卡後面沒有供應商帳戶。 vCard 運行時間長,因此期望程式碼更密集 - 列印得比您想像的要大。
電子郵件、簡訊和電話。 mailto:, SMSTO:, 和 tel: 有效負載預先填寫訊息或撥打號碼。對於支援海報和活動標誌很有用,您希望消除正確輸入地址的摩擦。
純文字。 序號、優惠券代碼、資產標籤、WiFi 來賓說明、簡短說明。沒有方案,沒有動作 - 手機只顯示文字。
如果您正在編碼自己的結構化數據,請記住編碼器寫入 UTF-8 位元組,因此重音字元、非拉丁腳本和表情符號都完好無損地保存下來。不過,它們的位元組成本比 ASCII 更高:表情符號是四個字節,而字母是一個字節。如果您好奇該位元組數學的工作原理,那麼 二進制翻譯 直接顯示任何字串的 UTF-8 編碼。
我應該匯出 SVG 還是 PNG?
使用 SVG 對於任何被列印的東西。它是一個向量:模組被描述為形狀,而不是像素,因此無論程式碼落在名片還是公車候車亭上,它都保持非常清晰。印表機更喜歡它,設計師可以在上面放一個徽標,並且當低解析度光柵放大時,它永遠不會顯示軟邊模糊,從而降低掃描可靠性。
使用 巴布亞紐幾內亞 對於螢幕 - 網站、幻燈片、電子郵件、文件。以較大的尺寸(512px 或更大)匯出並讓佈局縮小規模;從 128px 上採樣的程式碼將具有模糊的模組邊緣,而模糊邊緣正是掃描器難以二值化的東西。
兩種格式中的一種渲染細節都很重要:如果您有選擇,請關閉抗鋸齒或影像平滑。鋒利的方形模組比軟混合模組解碼得更好。 SVG 的 QR 碼產生器 發出集合 shape-rendering="crispEdges" 正是出於這個原因,其 PNG 匯出會停用畫布影像平滑。
二維碼中有多少資料適合?
40 版位元組模式的理論最大值為 2,953 位元組,糾錯等級為 L - 大約 2,900 個普通 ASCII 字元。你幾乎永遠不會想接近它。
二維碼有 40 個 版本,從 21×21 個模組(版本 1)到 177×177(版本 40),每邊每步增加 4 個模組。該版本是根據有效負載長度和糾錯等級自動選擇的;你永遠不要直接選擇它。你的感覺是結果:M 級的 20 個字元的 URL 落在版本 2 或 3 中 - 一個大塊、寬容的網格,可以掃描整個房間。 H 級的 500 個字元的有效負載落在 20 世紀 20 年代的某個地方,產生密集的模組,需要出色的列印品質和緊密、穩定的相機。
所以實際的上限不是2,953位元組;然而,大量資料仍然留下足夠大的模組,可以在您的預定距離進行拍攝。我的工作規則:將 URL 有效負載保持在 100 個字元以下,如果 vCard 超過 300 個字符,則將其列印至少 4 公分寬。這 QR 碼產生器 顯示所選版本、模組數量以及程式碼的完整程度(以百分比表示),以便您可以在輸入和切割有效負載時查看密度攀升情況,以免出現問題。
為什麼二維碼無法掃描?
當有人告訴我一個代碼"doesn't 工作,"它幾乎總是其中之一,按以下順序:
- 沒有安靜區。 該程式碼與藝術品或彩色背景齊平裁剪。
- 對比度或反轉差。 為外觀選擇的品牌顏色,或明暗方案。
- 印刷太小 因為人們實際上所站的距離。
- 密度太高 - 帶有追蹤參數的長 URL,或填充過多的 vCard。
- 眩光或彎曲 - 層壓選單和瓶子將光線直接反射到鏡頭中。霧面飾面和更高的糾錯幫助。
- 吃掉查找器圖案的標誌。 角落是不容談判的。
請注意,這些都不是 "編碼器產生了無效的程式碼。"生成是一個已解決的問題;故障是物理性的。這就是為什麼在真實硬體、真實尺寸、真實照明下進行測試比產生器中的任何護理都更有價值。
使用免費的線上二維碼產生器安全嗎?
這完全取決於您正在編碼的內容以及編碼發生的位置。
想想 WiFi 二維碼的內容:您的網路名稱和密碼(以明文形式)。如果生成器將其發送到伺服器以呈現圖像,您剛剛透過電子郵件將 WiFi 密碼發送給陌生人。這同樣適用於具有個人電話號碼或未列出內部文件的 URL 的 vCard。大多數免費二維碼網站都會對伺服器端進行編碼,而且它們的隱私權政策通常對保留含糊其辭。
的 QR 碼產生器 在瀏覽器中的 JavaScript 中執行整個編碼器 - UTF-8 轉換、Reed-Solomon 糾錯、遮罩選擇、渲染。沒有上傳、沒有請求、沒有什麼可記錄的。開啟網路標籤並觀看:頁面載入後,產生程式碼會發出零請求。載入頁面一次,您可以拉動網路電纜,它仍然可以工作。這是網站上每個工具背後的相同原理,也是整個參數 為什麼基於瀏覽器的工具比基於上傳的工具更安全.
第二個安全問題則有另一個方向:作為一個 掃描器,將二維碼視為陌生人的鏈接,因為它們就是這樣。 &報價;查詢和報價; - 惡意程式碼卡在停車計時器、餐廳餐桌和電動車充電器上的合法程式碼上 - 現在已經很常見,以至於聯邦貿易委員會已就此向消費者發出警告。點擊前檢查手機預覽的 URL,並對任何直接指向登入或付款表格的程式碼表示懷疑。
常見用例
餐廳和場地菜單。 靜態代碼,M 級,以 3 4 公分列印在霧面卡上。將其指向您控制的頁面,而不是選單託管服務'可能會變更的 URL。
適合客人和辦公室的 WiFi。 將 WiFi 代碼列印在門邊的小卡上。旋轉密碼並重印 - 需要兩分鐘,這意味著您再也不會大聲說出密碼。
會議徽章和名片。 vcard 有效負載處於 Q 或 H 級。人們掃描徽章和手機中的聯絡人,無需打字,也無需應用程式。
產品包裝和手冊。 連結到設定影片、保固註冊或文件。這是可靠性最重要的地方,因為重印成本高昂 - 進入 Q 級,留下寬敞的安靜區域,並在舊手機上進行測試。
內部工具。 資產標籤、伺服器機架標籤、部署運行簿連結。純文字或簡短的內部 URL,列印在標籤上。便宜、永久,不涉及供應商。
活動門票和入住。 編碼不透明的 ID,而不是個人資料。代碼應該是您的系統查找的密鑰,而不是向某人掃描姓名和電子郵件的任何人洩露姓名和電子郵件的有效負載'手。
如果您正在為這樣的工作組裝一套基於瀏覽器的通用工具包,我會寫下我實際保留的工具包 web 開發人員's 工具包 - QR 產生器位於旁邊 uuid 生成器 和 元標記產生器 在相同的每日輪換中。
問號
二維碼過期嗎?
靜態二維碼永遠不會過期。資料直接編碼在影像中,因此循環中沒有伺服器可以停止回應。動態二維碼(大多數免費生成器產生的類型)對提供者擁有的短連結進行編碼,當試驗結束或公司關閉時,這些代碼可以而且確實停止工作。來自的每個代碼 QR 碼產生器 是靜態的。
對於列印的二維碼,我應該使用什麼糾錯等級?
M 級是乾淨列印和螢幕的正確預設值。對於小列印、曲面、室外曝光或任何可能磨損的內容,請移至 Q。僅在將徽標放置在程式碼中心時使用 H,因為額外的冗餘允許重建覆蓋的模組。較高的層級會使程式碼更密集,因此在不給程式碼更多實體空間的情況下不要提高層級。
如何建立 wifi qr 碼?
選擇 WiFi 預設,輸入您的網路名稱 (SSID) 和密碼,然後為幾乎所有現代網路選擇安全類型 - WPA/WPA2。該工具建構了標準 WIFI: 有效負載並逃脫憑證中的任何分號、逗號或引號,而手工構建的有效負載通常會中斷。客人將相機對準它,並收到加入網路的提示,無需輸入任何內容。
我可以在二維碼中間放置一個標誌嗎?
是的,如果您在糾錯等級 H 處生成並保持徽標居中並低於代碼' 的大約 25%30%; s 面積。切勿讓它與角落中的三個查找器方塊重疊,因為這些正是掃描器用來定位程式碼的。匯出 SVG,在設計工具中合成頂部的徽標,然後在列印任何內容之前在幾部不同的手機上測試結果。
二維碼可以保存多少資料?
糾錯等級 L 的位元組模式下最大為 2,953 個字節,約為 2,900 個 ASCII 字元。實際上,您想要的要少得多:更長的有效負載會產生更多的模組,而更多的模組意味著每個模組在相同的列印尺寸下物理尺寸更小,這使得程式碼更難從遠處掃描。將 URL 保持在 100 個字元以下可以使程式碼保持可輕鬆讀取。
為什麼贏得'我的二維碼掃描?
通常的原因是物理原因,而不是技術原因:暗模組和淺模組之間的對比度太小、倒置的暗光配色方案、缺失或裁剪的安靜區域(四個模組的光裕度)、列印對於距離來說太小人們掃描的內容,或有效負載太長,以至於模組變得很小。按順序修復這些 - 它們幾乎解釋了我調試過的每一次失敗的掃描。
SVG 或 PNG 對於二維碼更好嗎?
SVG 對於任何列印的東西都更好,因為它是一個向量,並且在從名片到廣告看板的任何尺寸下都保持完美的清晰度。 PNG 對於螢幕(網站、投影片、電子郵件)來說更方便,因為固定像素影像更容易放入。以較大的尺寸匯出 PNG,然後將其縮小而不是向上,因為升級會模糊掃描器所依賴的模組邊緣。
二維碼可以免費商業使用嗎?
是的。 QR 碼標準發佈為 ISO/IEC 18004,並且在實踐中免版稅 - Denso Wave 擁有原始專利,但從未執行過它,這正是該格式變得通用的原因。此處產生的代碼沒有浮水印,沒有歸屬要求,也沒有使用限制,因此您可以將它們免費放在產品、包裝、菜單和廣告上。
產生程式碼時我的 WiFi 密碼是否已上傳?
不。整個編碼器在瀏覽器中以 JavaScript 運行 - UTF-8 轉換、Reed-Solomon 糾錯、遮罩選擇和渲染都在本地發生。沒有任何內容傳輸到伺服器,沒有任何內容被記錄,一旦頁面載入,工具就會繼續工作,網路就會斷開。這對於 WiFi 和 vCard 代碼來說最為重要,其中包含明文憑證和個人詳細資料。



