
二维码扫不出来的时候,很多人会先怀疑码印坏了。实际上,除了图案严重破损,多数问题都出在对比度、尺寸、印刷质量或者链接内容上。按下面的顺序排查,通常几分钟就能定位原因。
先查对比度和环境光线
二维码能被识别,靠的是深色码点与浅色背景之间的明暗差异。码点颜色偏浅、背景偏灰,或者用了深底浅点的反色方案,不少扫描器会直接读不出来。印在深色包装上的码,如果底色是深蓝、深绿、深棕,同样会削弱对比度。
环境同样关键。强反光的覆膜、玻璃展架上的倒影、夜间光线不足,都会让摄像头抓不到清晰的明暗边界。屏幕上的二维码还会受屏幕亮度影响,亮度调得太低、或者屏幕贴了防窥膜,识别率会明显下降。排查办法是换个角度、换个光线环境再试一次。如果换了环境就能扫出来,问题基本不在码本身。
再查尺寸与印刷质量
二维码印得太小是很常见的原因之一。码越小,每个码点的物理尺寸越小,打印机和纸张的精度不够时,相邻码点会糊在一起。经验上,印刷品上二维码的边长不建议小于两厘米,内容越长、码点越多,需要的尺寸就越大。
印刷环节的问题还包括:被拉伸变形导致码点不再是正方形;压缩图片时质量降得太低,边缘出现噪点;贴在圆柱面、褶皱包装上,导致图案被拉伸;以及裁切时把码四周的留白区切掉。留白区是识别算法用来定位边界的参照,被切掉后识别成功率会明显下降。
还要注意屏幕与印刷的差异。同样一个码,在电脑上看着很清楚,印到哑光纸上对比度可能下降一档,实际扫描效果会差不少。有条件的话,印刷前先打样实测。
再排查内容与失效
如果码本身清清楚楚,但扫出来是空白页、报错页或者跳转到无关内容,问题就出在链接上。常见情况包括:目标网页已经下线或改版;二维码里写的是短链,而短链服务停止运营;动态码对应的后台服务到期或被停用;内容过长导致码点密度过高,扫描器识别到一部分就中断。
还有一种容易被忽略的情况:二维码里存的是明文文本,而不是网址,扫码工具会当作纯文本展示,用户看起来就像什么都没发生。制作时要确认内容类型与使用场景一致。
怎么判断是码的问题还是环境的问题
一个快速的对照方法:用一个已知能正常识别的码,在同一台手机、同一环境下扫一次。如果那个码也扫不出来,说明问题在手机摄像头、软件权限或者当前光线条件,而不在这个码上。相机权限被关闭、镜片有污渍、镜头保护膜刮花,都会造成这种情况。
反过来,如果已知可用的码能扫、只有当前这个码扫不出来,就可以把范围收窄到这张码本身。此时用截图在屏幕上放大再扫一次:屏幕上能扫而纸面不能,指向印刷或材质问题;屏幕上也扫不出,多半是图案本身的情况,比如对比度不足、密度过高或者内容类型不对。
还可以换一个扫码入口交叉验证。不同软件的解码策略不同:有的对反色码宽容一些,有的对模糊图片的容错更强。同一个码在甲软件里能读、在乙软件里读不出,说明这个码已经处在识别临界状态,即使当下能用也不稳定,建议重新制作而不是将就使用。
排查顺序上,建议从环境到设备、再从设备到图案,一层层往外剥离,不要一上来就重新做一个码。很多问题换个角度或者擦一下镜头就解决了,重做反而掩盖了真实原因,下次还会遇到。
常见问题
- 问:把二维码放大就能扫出来吗 答:不一定。放大能解决码点印刷不清的问题,但如果是对比度不足、链接失效或者内容类型不对,放大后仍然扫不出来。
- 问:同一个二维码,为什么有的手机能扫有的不行 答:不同手机的摄像头解析能力、对焦速度和扫描软件的解码策略都不一样。识别处于临界状态时,就容易出现一部分设备能扫、一部分扫不出来。
- 问:二维码破损到什么程度还能扫 答:取决于制作时采用的容错等级。容错等级越高,允许的破损和遮挡比例越大,但码点会变密,需要印得更大。














