DevToolBox免费
博客

QR 码尺寸、格式与纠错级别:最佳实践指南

6 分钟阅读作者 DevToolBox

QR 码无处不在——餐厅菜单、产品包装、活动门票、名片和数字营销活动。然而大多数人在生成 QR 码时并不了解决定扫码可靠性的技术因素。本完整 QR 码最佳实践指南涵盖了关于 QR 码尺寸、格式选择、纠错等级、数据容量、内容类型和设计注意事项的一切知识,确保你的码每次都能完美扫描。

QR 码基础:工作原理

QR(Quick Response,快速响应)码是由 Denso Wave 于 1994 年发明的二维矩阵条码。与传统的一维条码只在单一方向编码数据不同,QR 码在水平和垂直方向上都存储数据,因此能容纳更多信息。

QR 码由模块组成——即形成图案的黑白方块。模块数量决定了 QR 码的版本。QR 码从版本 1(21x21 模块)到版本 40(177x177 模块)不等。版本越高能存储更多数据,但需要更多模块,因此需要打印得更大才能保持可扫描。

每个 QR 码都包含以下结构组件:

  • 定位图案:角落的三个大正方形,帮助扫描器检测和定位码
  • 校正图案:较小的正方形,帮助校正变形,存在于版本 2 及以上
  • 定时图案:交替的黑白模块,帮助扫描器确定模块大小
  • 格式信息:关于使用的纠错等级和掩码模式的数据
  • 数据和纠错:实际编码的数据加上 Reed-Solomon 纠错码字
  • 静默区:码周围的必需白色边框(最少 4 个模块宽)
QR Code Version Reference:
┌─────────┬─────────────┬──────────────────────────────┐
│ Version │ Modules     │ Typical Use                  │
├─────────┼─────────────┼──────────────────────────────┤
│ 1       │ 21 x 21     │ Short URLs, numeric codes    │
│ 2       │ 25 x 25     │ Short URLs with tracking     │
│ 3       │ 29 x 29     │ Standard URLs (50-70 chars)  │
│ 5       │ 37 x 37     │ Long URLs, vCard basic       │
│ 10      │ 57 x 57     │ Full vCard, WiFi config      │
│ 15      │ 77 x 77     │ Large text blocks            │
│ 20      │ 97 x 97     │ Very large data payloads     │
│ 40      │ 177 x 177   │ Maximum capacity (rarely used)│
└─────────┴─────────────┴──────────────────────────────┘

最小尺寸指南:打印、屏幕和广告牌

QR 码的最小尺寸取决于扫描场景。在手机屏幕上完美显示的码,打印在名片上可能无法读取,反之亦然。关键原则是:扫描距离决定最小尺寸

一般经验法则是 QR 码应至少为扫描距离的 1/10。如果扫描距离为 30 厘米,码应至少 3 厘米宽。这被称为 10:1 比例

打印(300 DPI):对于名片、传单和宣传册等印刷品,建议最小尺寸为 2 厘米 x 2 厘米。在 300 DPI 下,每个模块有足够的像素清晰可辨。对于名片,2.5 厘米 x 2.5 厘米更安全,因为扫描距离通常很近(10-20 厘米)。

屏幕显示:对于数字显示器(手机屏幕、平板电脑、显示器),标准观看的建议最小尺寸为 240 x 240 像素。在高 DPI(Retina)屏幕上,应使用 320 x 320 CSS 像素以确保清晰渲染。

广告牌和标牌:对于需要从远处扫描的大幅面印刷,严格使用 10:1 比例。从 10 米外扫描的广告牌需要至少 1 米 x 1 米的 QR 码。对于高速公路广告牌(20 米以上),码需要至少 2 米 x 2 米

扫描距离与最小 QR 码尺寸对照表

使用此参考表根据预期扫描距离确定 QR 码的最小尺寸:

Scanning DistanceMinimum QR Code SizeTypical Application
10 cm (4 in)1 cm x 1 cmProduct labels, jewelry tags
20 cm (8 in)2 cm x 2 cmBusiness cards, receipts
30 cm (12 in)3 cm x 3 cmFlyers, brochures, menus
50 cm (20 in)5 cm x 5 cmProduct packaging, book covers
1 m (3.3 ft)10 cm x 10 cmPosters, table tents
2 m (6.6 ft)20 cm x 20 cmIndoor signage, window displays
5 m (16 ft)50 cm x 50 cmTrade show banners, event signage
10 m (33 ft)1 m x 1 mOutdoor billboards, building signage
20 m (66 ft)2 m x 2 mLarge outdoor advertising

纠错等级:L、M、Q、H

QR 码使用 Reed-Solomon 纠错来允许在部分码损坏、脏污或被遮挡时仍能扫描。有四种纠错等级,每种在数据容量和恢复能力之间进行权衡:

LevelRecovery CapacityData OverheadBest For
L (Low)~7% of codewordsLowestClean digital screens, maximum data capacity needed
M (Medium)~15% of codewordsModerateGeneral purpose (default), printed materials
Q (Quartile)~25% of codewordsHighIndustrial/warehouse labels, outdoor use
H (High)~30% of codewordsHighestLogo embedding, harsh environments, partial obstruction

建议:大多数应用使用等级 M(15%)作为默认值。它在数据容量和损坏容忍度之间提供了良好的平衡。如果计划在 QR 码中心嵌入 logo,使用等级 H(30%),因为 logo 实际上会"损坏"码。仅在需要最大数据容量且码将在受控清洁环境(如数字屏幕)中显示时使用等级 L(7%)

纠错通过向编码消息添加冗余数据(奇偶校验码字)来工作。扫描器读取码时,使用这些奇偶校验码字来检测和纠正错误。纠错等级越高,添加的奇偶校验码字越多,这意味着可用于实际数据的码字越少——这就是容量与恢复能力之间的权衡。

按纠错等级的数据容量

QR 码可存储的最大字符数取决于数据类型和纠错等级。以下是版本 40(最大尺寸)QR 码的容量:

Data TypeLevel L (7%)Level M (15%)Level Q (25%)Level H (30%)
Numeric (0-9)7,0895,5963,9933,057
Alphanumeric (A-Z, 0-9, symbols)4,2963,3912,4201,852
Binary / Byte (UTF-8)2,9532,3311,6631,273
Kanji / Kana1,8171,4351,024784

重要:这些是版本 40 码(177x177 模块)的理论最大值。实际上你应该尽量缩短数据。一个短链接(约 30 个字符)可以轻松放入版本 3 码(29x29 模块),这更小也更容易扫描。每增加一个字符都会增加版本号和模块数,使码在小尺寸下更难扫描。

最佳格式:SVG vs PNG vs PDF

为 QR 码选择正确的文件格式对质量和灵活性至关重要:

FeatureSVGPNGPDF
TypeVectorRasterVector (container)
ScalabilityInfinite, no quality lossFixed resolution, pixelates when scaled upInfinite (if vector content inside)
File sizeVery small (2-10 KB)Small to medium (5-50 KB)Small (5-20 KB)
Web useExcellent (inline or img tag)Good (standard img tag)Poor (requires embed/iframe)
Print useExcellent (any DPI)Good (if generated at 300+ DPI)Excellent (industry standard for print)
EditabilityEasy (XML text, CSS styling)Difficult (requires image editor)Moderate (requires PDF editor)
Color customizationEasy (CSS fill/stroke)Must be set at generation timeDepends on content type
Best forWeb, master file, any size outputSocial media, email, messagingProfessional print, prepress

建议:始终首先生成 SVG 格式的 QR 码。SVG 是主格式,可以从中以任何尺寸导出任何其他格式。网页显示直接使用 SVG,打印则转换为高分辨率 PNG(至少 1000x1000 像素)或 PDF。永远不要生成小尺寸光栅图像然后放大——这会产生模糊的模块,扫描器难以读取。

QR 码内容类型

QR 码可以编码不同类型的结构化数据。以下是最常见的内容类型及其 URI/格式方案:

Content TypeFormat / URI SchemeExample
URLhttps://https://example.com/page
vCard (Contact)BEGIN:VCARD...END:VCARDBEGIN:VCARD\nVERSION:3.0\nN:Doe;John\nTEL:+1234567890\nEND:VCARD
WiFiWIFI:S:...;T:...;P:...;;WIFI:S:MyNetwork;T:WPA;P:password123;;
Emailmailto:mailto:hello@example.com?subject=Hello
SMSsms: or smsto:sms:+1234567890?body=Hello
Phone Calltel:tel:+1234567890
Geo Locationgeo:geo:40.7128,-74.0060?q=New+York
Calendar EventBEGIN:VEVENT...END:VEVENTBEGIN:VEVENT\nSUMMARY:Meeting\nDTSTART:20260301T100000Z\nEND:VEVENT
Plain TextRaw text stringAny plain text message up to capacity limit

编码 URL 时,始终包含完整的协议(https://)。没有协议,许多扫描器会将内容视为纯文本而非可点击链接。为最大兼容性,使用 URL 缩短器或简洁路径将 URL 保持在 100 个字符以内。

// Common QR code content format examples

// URL (most common)
"https://example.com/product/12345"

// WiFi network configuration
"WIFI:S:NetworkName;T:WPA;P:MyPassword123;H:false;;"
// S = SSID, T = Security type (WPA/WEP/nopass), P = Password, H = Hidden

// vCard contact
"BEGIN:VCARD\nVERSION:3.0\nFN:John Doe\nORG:Acme Corp\nTEL:+1-555-0123\nEMAIL:john@example.com\nURL:https://example.com\nEND:VCARD"

// Email with subject and body
"mailto:support@example.com?subject=Help%20Request&body=I%20need%20assistance"

// SMS message
"sms:+15550123?body=Hello%20from%20QR"

// Geo location (latitude,longitude)
"geo:37.7749,-122.4194?q=San+Francisco"

// Calendar event (iCalendar format)
"BEGIN:VEVENT\nSUMMARY:Team Meeting\nDTSTART:20260315T140000Z\nDTEND:20260315T150000Z\nLOCATION:Conference Room A\nEND:VEVENT"

设计技巧:静默区、颜色和 Logo 嵌入

虽然 QR 码是功能性元素,但可以在一定范围内设计以匹配品牌形象。以下是关键设计规则:

静默区:静默区是 QR 码周围的必需白色边框。所有边至少需要 4 个模块宽。这个边框帮助扫描器区分码与周围内容。裁剪或缩小静默区是扫描失败最常见的原因。永远不要在静默区内放置文字、图形或其他设计元素。

颜色:QR 码在高对比度下效果最好。标准是白色背景上的黑色模块。你可以自定义颜色,但要遵循以下规则:(1) 深色模块在浅色背景上——永远不要反转。(2) 前景和背景之间保持至少 4:1 的对比度比。(3) 模块上避免渐变。(4) 不要使用相似的前景和背景颜色。(5) 部署前在多台设备上测试。

Logo 嵌入:如果使用纠错等级 H(30%),可以在 QR 码中心放置小 logo。Logo 不应覆盖超过总码面积的 10-15%,且必须精确放置在中心。在 logo 周围添加白色填充,部署前始终在至少 5 台不同设备上测试。

模块形状:一些 QR 码生成器提供圆角或圆点模块而非方块。虽然外观可能更吸引人,但会降低扫描器可靠性。如果使用非方形模块,请进行广泛测试。定位图案(角落方块)应始终保持标准方形以获得最大兼容性。

/* QR Code Design Checklist */

✓ Quiet zone: 4+ modules on all sides (never crop)
✓ Contrast ratio: 4:1 minimum (dark on light)
✓ Module color: Dark foreground, light background
✓ Logo size: Max 10-15% of code area (use EC Level H)
✓ Logo padding: White border around logo
✓ Finder patterns: Keep standard square shape
✓ Resolution: SVG or 300+ DPI PNG for print
✓ Testing: 3+ devices, multiple lighting conditions

✗ Do NOT invert colors (white on dark)
✗ Do NOT use gradients on modules
✗ Do NOT crop the quiet zone
✗ Do NOT use similar foreground/background colors
✗ Do NOT scale up low-resolution raster images

测试:多设备和多条件

在你手机上能扫描的 QR 码可能在其他设备、不同光线或不同距离下失败。全面测试至关重要:

  • 至少在 3 台设备上测试:iOS(相机应用)、Android(Google Lens 或相机)和专用 QR 扫描应用。每种使用不同的解码算法,容忍度不同。
  • 在不同距离测试:从最小预期距离、最大预期距离和中间距离扫描。
  • 在不同光线下测试:明亮阳光(会产生眩光)、室内荧光灯、昏暗/黑暗环境和相机闪光灯。
  • 在实际介质上测试:在实际材料(光面纸、哑光纸、包装材料、布料)上打印码并测试。光面表面会产生干扰扫描的反射。
  • 测试实际内容:如果 QR 码链接到 URL,验证 URL 有效、在移动端正确加载,且不会经过太多中间重定向。
  • 以实际尺寸测试:如果码将以 2 厘米打印,测试正好 2 厘米的打印件。不要测试大版本就假设小版本也能工作。
  • 生产后测试:印刷完成后检查印刷品。印刷质量问题(墨水不足、对齐不当、纸张纹理)可能降低 QR 码可读性。
# QR Code Testing Protocol

## Device Testing Matrix
┌──────────────┬─────────────────┬────────────────┐
│ Platform     │ Scanner App     │ Status         │
├──────────────┼─────────────────┼────────────────┤
│ iPhone       │ Camera (native) │ ☐ Pass / ☐ Fail│
│ iPhone       │ Chrome          │ ☐ Pass / ☐ Fail│
│ Android      │ Camera (native) │ ☐ Pass / ☐ Fail│
│ Android      │ Google Lens     │ ☐ Pass / ☐ Fail│
│ Any device   │ Dedicated app   │ ☐ Pass / ☐ Fail│
└──────────────┴─────────────────┴────────────────┘

## Distance Testing
- Minimum distance (10 cm):    ☐ Pass / ☐ Fail
- Normal distance (30 cm):     ☐ Pass / ☐ Fail
- Maximum distance (per spec): ☐ Pass / ☐ Fail

## Lighting Testing
- Bright sunlight:             ☐ Pass / ☐ Fail
- Indoor fluorescent:          ☐ Pass / ☐ Fail
- Dim / low light:             ☐ Pass / ☐ Fail
- With camera flash:           ☐ Pass / ☐ Fail

## Medium Testing
- Screen display:              ☐ Pass / ☐ Fail
- Printed (actual material):   ☐ Pass / ☐ Fail
- Printed (actual size):       ☐ Pass / ☐ Fail

常见错误及避免方法

以下是导致扫描失败的最常见 QR 码错误:

  • 太小:手持扫描的 QR 码打印小于 2 厘米。数据密集的小码极难扫描,尤其在较旧设备上。始终偏向更大尺寸。
  • 低对比度:使用的颜色在模块和背景之间没有提供足够对比度。浅灰色在白色上、深蓝色在黑色上,或任何低于 4:1 对比度比的组合都会导致失败。
  • 没有静默区:裁剪白色边框或将码直接放在其他图形旁边。静默区不是可选的——没有它,扫描器无法确定码的起止位置。
  • 数据太多:编码一整段文字或 200 个字符的 URL。保持数据最少。链接使用 URL 缩短器。编码的数据越多,码越密集,越难扫描。
  • 低分辨率光栅:生成 100x100 像素的 PNG QR 码然后放大用于打印。这会产生模糊不可读的模块。始终以目标分辨率生成或使用 SVG。
  • 颜色反转:创建深色背景上白色模块的 QR 码。大多数扫描器期望深色在浅色上。一些现代扫描器可以处理反转,但许多不行。
  • 动态 URL 过期:链接到会更改或过期的 URL。印刷品上的 QR 码是永久的——如果 URL 失效,码就变得无用。使用永久的、可重定向的 URL。
  • 未在印刷品上测试:只在屏幕上测试。屏幕分辨率、亮度和对比度与打印非常不同。始终在实际印刷介质上测试。
  • 放在弯曲表面:将 QR 码包裹在圆柱体(如瓶子)上而不考虑变形。如果码弯曲超过 30 度,就很难扫描。
  • 忽略纠错:在有纹理的表面或会被部分覆盖的包装上使用等级 L。始终将纠错等级与预期环境匹配。

常见问题

可扫描 QR 码的最小尺寸是多少?

最小尺寸取决于扫描距离。对于手持扫描(10-30 厘米),码应至少 2 厘米 x 2 厘米。一般规则是 10:1 比例:码至少应为扫描距离的 1/10。对于数字屏幕,至少使用 240x240 像素。始终在实际介质上以实际尺寸用多台设备测试。

应该使用哪个纠错等级?

大多数用例使用等级 M(15%)作为默认值。如果在码中心嵌入 logo,使用等级 H(30%),因为 logo 会覆盖并破坏一些模块。仅在清洁受控环境(如数字屏幕)中且需要最大数据容量时使用等级 L(7%)

QR 码应该使用 SVG 还是 PNG 格式?

始终首先生成 SVG 格式的 QR 码。SVG 是矢量格式,可以缩放到任何尺寸而不损失质量。网页显示直接使用 SVG。打印时将 SVG 导出为高分辨率 PNG(至少 1000x1000 像素,300 DPI)或嵌入 PDF。永远不要生成小光栅图像然后放大。

可以在 QR 码中放置 logo 吗?

可以,但仅在使用纠错等级 H(30%)时。Logo 不应覆盖超过总码面积的 10-15%,且必须精确放置在中心。在 logo 周围添加白色填充,部署前始终在至少 5 台不同设备上测试。

QR 码能容纳多少数据?

最大尺寸的 QR 码(版本 40,177x177 模块)在最低纠错等级下可容纳最多 7,089 个数字字符4,296 个字母数字字符2,953 字节二进制数据。但实际中应尽量缩短数据。典型 URL(50-80 个字符)可放入版本 3-5 码中,小尺寸易于扫描。

𝕏 Twitterin LinkedIn
这篇文章有帮助吗?

保持更新

获取每周开发技巧和新工具通知。

无垃圾邮件,随时退订。

试试这些相关工具

QR Code GeneratorFavicon Generator🖼️Image Base64 Converter

相关文章

Favicon 完全指南 2026:所有尺寸、格式和生成方法

2026 年完整 Favicon 参考。ICO vs PNG vs SVG,所有浏览器和设备尺寸,暗色模式支持。

每个网站必备的 Meta 标签:HTML Meta Tag 完全指南

必备的 HTML meta 标签:SEO、Open Graph、Twitter Cards、安全性和性能优化。包含完整的复制粘贴模板。