Published: 2026-06-11
扫不出来的二维码,几乎总是出于这八个原因之一。按这个清单依次排查——它是按每个原因最终成为罪魁祸首的频率排的序。
At a glance
| Minimum size | ~2 × 2 cm; scale up by the distance ÷ 10 rule for farther reads |
|---|---|
| Quiet zone | ≥ 4-module clear margin required — cropping it is a top failure — ISO/IEC 18004 |
| Contrast | Dark-on-light; inverted or low-contrast codes fail on many scanners |
| Error-correction budget | Level H recovers ≤ 30% of the symbol; a logo plus wear share that budget — ISO/IEC 18004 |
| Finder patterns | The 3 corner squares locate the symbol; damage there is fatal well before 30% — ISO/IEC 18004 |
| Dead redirect | A dynamic code whose provider deactivated the link scans but won't load |
“QR Code has error correction capability to restore data if the code is dirty or damaged.”
1. 相对扫描距离太小
最常见的失败。二维码的边长需要至少为扫描距离的十分之一,绝对下限在 2 × 2 cm 左右。一张海报上 2 cm 的二维码,让人从两米外扫,从设计上就无法扫出。
解决:重印更大尺寸,或把二维码挪到人能靠近的地方。
2. 对比度低或颜色反色
扫描器寻找的是浅底上的深色模块。浅底深字(反色)二维码在相当一部分扫描应用上会失败,而细腻的品牌配色——奶油底上的金色、白底上的灰色——一旦光线不够完美就会失败。
解决:深色点、浅色底、强对比。黑底白字从不失手。
3. 静区被裁掉了
ISO/IEC 18004 要求二维码四周有至少 4 个模块宽的空白边距。设计师常常把它剪掉,或把文字和边框一直贴到点阵上,扫描器就再也无法分辨出这个符号。
解决:恢复那圈白边。如果二维码旁边有边框或说明文字,把它们留在静区之外。
4. logo 遮挡太多
纠错等级 H 最多能重建 30% 的符号,但这个额度还得覆盖印刷缺陷和磨损——一个吃掉正中 25% 的 logo,就没留下任何余量。
解决:把 logo 控制在二维码面积约 20% 以内,始终配合纠错等级 H,并且绝不让它碰到三个角上的定位方块。
5. 塞进去的数据太多
长网址和完整 vCard 会把二维码推向密集的模块网格。在小打印尺寸下,单个点会细到无法分辨。
解决:缩短内容。编码一个在你自己域名上跳转的短网址,或把 vCard 字段精简到只留必要的。
6. 光滑、弯曲或有纹理的表面
覆膜或玻璃的反光会让相机致盲;瓶子和套筒上的弯曲会扭曲网格;布料和瓦楞纹理会打散模块。
解决:哑光胜过亮光。在弯曲的包装上,把二维码放在表面最平的地方,或者缩小它,让整个二维码上的弯曲可以忽略不计。
7. 关键位置的物理损坏
纠错能很好地处理分散的损坏,但三个大的角上方块(定位图案)是扫描器定位二维码的依据——那里的损坏远在 30% 之前就是致命的。
解决:重印;对于会被反复触碰的二维码,覆膜并把纠错提到 Q 或 H。
8. 扫描成功了——链接失效了
如果相机识别出了二维码,但目标地址打不开,那问题不在二维码。要么目标页面挂了,要么这是一个动态二维码,其提供商已停用了跳转——这正是订阅制二维码服务在试用到期后的标准结局。
解决:扫一下并读出网址本身。如果它是一个你不认识的短链接域名,那这个二维码曾是动态的;生成一个直接指向你目标地址的静态替代码,然后重印。
常见问题
- 为什么我的二维码在 iPhone 上能扫,Android 上却不行?
- 通常是尺寸或对比度处于临界值:不同的相机方案在不同阈值上放弃。一个只在部分手机上能扫的二维码,是在告诉你它没有安全余量——去修尺寸、对比度或密度,而不是怪手机。
- 二维码能从屏幕上扫吗?
- 能——屏幕高对比且自带背光,扫描器喜欢这个。屏幕上的失败来自亮度过低、激进的夜间模式滤镜,或把二维码显示得太小。把图片全屏并调高亮度。
- 批量印刷前,怎样才算正确测试一个二维码?
- 按最终尺寸印一张在最终材料上。用至少两部手机扫——一部 iPhone、一部中端 Android——从真实世界的距离,在二维码将要面对的最差光线下扫。三十秒的测试能省下一整批重印。
