发布于 2026-09-06 · CATAITO

二维码扫不出来?8 个常见原因与排查步骤

自己手机能扫、别人扫不出来;屏幕上没问题、印出来就废——二维码的坑几乎全在细节里。本文给你 60 秒快速自检、按命中率排序的 8 个原因、打印与展示的最佳实践,以及用免费生成器重新生成正确参数的方法。

60 秒快速自检

先花一分钟排除「环境问题」,再怀疑码本身:

  1. 换手机:用另一部(最好是不同品牌的)手机扫——很多问题是特定扫码器不兼容;
  2. 换距离:靠近到 15–25 厘米,让码占满取景框的三分之二;
  3. 检查对焦与光线:等对焦框清晰再判,避免反光和阴影;
  4. 换来源:屏幕上看不出问题的,放大到 100% 再扫;印刷品摸一下是否有覆膜反光。

换手机、换距离、换亮度都失败,才进入下面的原因排查。

8 个常见原因(按命中率排序)

1. 对比度不足(命中率最高)

浅灰、浅棕的码点配白底,屏幕上「看着还行」,摄像头根本分不出来。码点与背景的对比度越大越稳——深色码点 + 白底是唯一推荐组合。自定义颜色时避免浅色前景,也避免摄像头最不敏感的纯红/纯绿。

2. 静区(四周留白)不足

码四周至少保留 4 个模块宽度 的空白。静区被文字、边框、logo 挤占是设计稿里最常见的错误——扫码器靠静区定位码的边界。

3. 反色(浅色码点深色底)

很多扫码器不支持反色识别,于是「自己能扫、别人不行」。正式物料不要反色;深底场景用白色圆角卡片衬底。

4. 尺寸太小或距离太远

经验法则:扫描距离的十分之一。30 厘米外扫至少 3 厘米;海报上 2 米外扫要 20 厘米以上。尺寸不够时再高的纠错也救不了。

5. 内容太长,码点过密

长网址让版本升高、模块变多,同样物理尺寸下每个码点更小。把网址用短链服务缩短,或指向落地页而不是塞满参数的原始链接。

6. 纠错级别与场景不匹配

L 最稀疏最好扫但耐损性差;H 抗遮挡最强但最密。普通网址用 M;要叠 Logo 或易磨损用 H;小尺寸场景反而应该用 L/M 换取稀疏。

7. 打印质量问题

低分辨率打印导致码点边缘发糊;覆膜反光淹没码点;深色/带纹理的纸张吃掉对比度。确保输出 ≥ 300 DPI,用哑光材质,码点边缘清晰锐利。

8. 内容编码错误

生成时网址打错字、缺了 https://、中文没编码——码能扫出来但跳转 404。这类「扫出来了但不对」的问题要在生成端解决:生成后立即实测。

重新生成:正确的参数

用本站 二维码生成器 按下面的基准参数重新生成,全程浏览器本地完成:

  1. 内容:核对网址逐字符无误,长链接先缩短;
  2. 纠错级别:屏幕展示选 M,要叠 Logo 选 H,小尺寸印刷选 L 或 M;
  3. 颜色:深色前景 + 白色背景,别反色;
  4. 静区与尺寸:静区至少 4 模块,按扫描距离定下载尺寸,PNG 下载后按需缩放。

生成后立刻用两部手机实测——这一步永远不要省。同类排障方法论可参考 Favicon 不显示排查,思路都是「按命中率排序、先环境后本体」。

打印与展示最佳实践

  • 最小尺寸:印刷品不小于 2×2 厘米,远距离场景按「距离的十分之一」放大;
  • 输出分辨率:≥ 300 DPI,二维码是硬边缘图形,矢量输出最佳;
  • 材质:哑光纸优于高光覆膜;深色或纹理纸先打样实测;
  • 位置:避开折痕、装订线和容易磨损的边缘;
  • 配套文字:码下方写明扫出来是什么(「扫码访问官网」),降低用户的尝试成本。

常见问题

Q:二维码最小可以印多小?

A:经验法则是扫描距离的十分之一:手机在 30 厘米外扫,码至少 3 厘米见方。内容越长版本越高、码点越密,同样尺寸下越难扫,所以印刷品上的二维码建议不小于 2×2 厘米,海报上远距离扫描的应按距离放大,并且始终保留四周静区。

Q:纠错级别应该选哪个?

A:L(7%)码点最稀疏、最容易扫,适合屏幕展示的普通网址;M(15%)是最通用的平衡选择;Q(25%)适合印刷品或有轻微磨损风险的场景;H(30%)适合要叠加 Logo 或环境恶劣的场合。没有特殊需求时选 M 即可——级别越高码点越密,小尺寸下反而更难扫。

Q:二维码会过期吗?

A:静态二维码不会过期:内容直接编码在图案里,只要图案完整就永远能扫出来。会「过期」的是码里的短链——如果生成器把内容包装成跳转短链,短链服务一旦停服码就失效了。重要场合用静态码或自己域名的跳转。另外印刷前务必实地扫一遍验证内容正确,码本身不会变,但内容打错就废了。

Q:可以自定义二维码的颜色吗?

A:可以,但必须保证码点比背景深:扫码器按「深色为码点」识别,反色或低对比度都会失败。安全的做法是前景用深色(黑、深蓝、深棕都行),背景用白色或浅色,对比度越大越稳。彩色码点可以用,但要避免用扫码摄像头最不敏感的纯红/纯绿做前景。

Q:反色二维码(浅色码点深色底)能扫吗?

A:大部分现代扫码器可以,但远不是全部——很多老设备和安卓低端机不支持反色识别,这是「自己手机能扫、别人扫不出来」的常见原因。正式印刷品不要用反色;一定要深底效果的话,给深色底上放一个白色圆角卡片,把正常深色码点放在卡片里。

Q:怎么检查二维码的内容对不对?

A:最可靠的是实测:用至少两部不同品牌的手机扫一遍,确认跳转内容正确。软件检查可以用本站二维码生成器重新输入同样内容生成对比——图案一致说明内容一致。也可以用在线解码器上传图片读出内容。印刷前实测这一步永远不要省。

免费在线生成二维码

纠错级别可调 · 颜色自定义 · 高清 PNG · 纯浏览器本地生成

打开二维码生成器 →

60-Second Quick Check

Spend a minute ruling out the environment before blaming the code itself:

  1. Try another phone: ideally a different brand — many issues are scanner-specific;
  2. Change distance: move to 15–25 cm so the code fills about two-thirds of the viewfinder;
  3. Check focus and light: wait for focus, avoid glare and shadows;
  4. Try another source: zoom a screen to 100% before scanning; feel printed pieces for glare-causing laminate.

If it still fails across phones, distances, and lighting, work through the causes below.

8 Common Causes (Ranked by Hit Rate)

1. Insufficient contrast (highest hit rate)

Light-gray or beige modules on white "look okay" on screen but confuse the camera. Higher contrast = more reliable scanning — dark modules on white is the only recommended combination. Avoid light foregrounds and the camera-blind pure red/green.

2. Not enough quiet zone

Keep at least a 4-module margin on all four sides. Quiet zones squeezed by text, borders, or logos are the most common design-file error — scanners use the quiet zone to find the code's boundaries.

3. Inverted colors (light modules on dark)

Many scanners don't support inverted codes — hence "works on my phone, not on yours". Never invert for print; on dark designs, place the code on a white rounded card.

4. Too small or too far

Rule of thumb: one tenth of the scanning distance. At 30 cm, at least 3 cm; a poster scanned from 2 m needs 20 cm+. No error-correction level rescues an undersized code.

5. Content too long, modules too dense

Long URLs push the version up and shrink each module at the same physical size. Shorten URLs, or point to a landing page instead of a parameter-stuffed raw link.

6. Wrong error-correction level for the scene

L is sparsest and easiest to scan but fragile; H resists the most occlusion but is densest. Use M for plain URLs, H for logo overlays, and L/M for small sizes where sparseness matters.

7. Print quality

Low-DPI output blurs module edges; glossy laminate washes out contrast; dark or textured paper eats it. Print at ≥ 300 DPI, prefer matte stock, keep edges crisp.

8. Encoding mistakes

A typo in the URL, a missing https://, unencoded Chinese — the code scans fine but lands on a 404. These "scans but wrong" issues are fixed at generation: test immediately after generating.

Regenerating With the Right Settings

Use this site's QR Code Generator with these baselines — everything runs in your browser:

  1. Content: verify the URL character by character; shorten long links first;
  2. Error correction: M for screens, H for logo overlays, L/M for small prints;
  3. Colors: dark modules on white; never inverted;
  4. Quiet zone & size: at least 4 modules of margin; size the download for the scanning distance and scale the PNG as needed.

Test with two phones immediately after generating — never skip this. For the same ranked-causes methodology applied to favicons, see Favicon Not Showing: environment first, then the artifact.

Print & Display Best Practices

  • Minimum size: 2×2 cm on print; scale by one tenth of the distance for posters;
  • Output resolution: ≥ 300 DPI — QR codes are hard-edged graphics, vector output is best;
  • Stock: matte beats glossy; proof-test dark or textured paper;
  • Placement: avoid folds, spines, and wear-prone edges;
  • Supporting text: caption what the code opens ("Scan for our website") to lower the attempt cost.

FAQ

Q: How small can a printed QR code be?

A: One tenth of the scanning distance: at 30 cm, at least 3 cm square. Denser (higher-version) codes are harder to scan at the same size, so keep print codes at least 2×2 cm, scale poster codes by distance, and always keep the quiet zone.

Q: Which error-correction level should I choose?

A: L (7%) is sparsest and easiest to scan — good for plain on-screen URLs. M (15%) is the all-purpose balance; Q (25%) suits print and light wear; H (30%) is for logo overlays and harsh environments. When in doubt, M — higher levels pack denser modules and get harder to scan at small sizes.

Q: Do QR codes expire?

A: Static QR codes never expire: the content lives in the pattern itself. What "expires" is a wrapped short link inside the code — if the generator routes through a short-link service and that service dies, the code dies. Use static codes or your own domain redirect for anything important. And always scan-test before printing: the code won't change, but a typo'd destination is dead on arrival.

Q: Can I customize QR code colors?

A: Yes, but modules must stay darker than the background — scanners read dark-on-light, and inverted or low-contrast codes fail. Safe palette: dark foreground (black, deep blue, deep brown all work) on white or light ground. Colored modules are fine, but avoid pure red/green foregrounds — the least sensitive hues for cameras.

Q: Do inverted QR codes (light modules on dark) scan?

A: Most modern scanners handle them, but far from all — older devices and budget Android phones often don't, which is exactly why "works on my phone" fails for others. Never invert for print; for dark designs, put the standard dark-on-light code on a white rounded card.

Q: How do I verify the QR code's content is correct?

A: The gold standard is a live test: scan with at least two different-brand phones and confirm the destination. Software-wise, re-enter the same content in this site's QR generator and compare patterns — identical patterns mean identical content. Online decoders that read an uploaded image work too. Never skip the pre-print test.

Generate QR Codes — Free Online

Adjustable error correction · Custom colors · Crisp PNG · Runs in your browser

Open QR Code Generator →