Qraft

二维码没有有效期:扫不出来的真正原因与对策

二维码本身没有有效期

先说结论:二维码本身没有有效期。二维码只是一个装数据的容器,印出来的黑白图案不会随时间推移而发生变化。10 年前做的二维码,只要物理上还处于可读的状态,今天照样能扫出来。

这与条形码是同一个道理。超市商品上印的条形码没有「有效期」,二维码的图案本身同样是持久的。二维码的规格(ISO/IEC 18004)里也完全不包含任何与有效期相关的规定。

之所以会产生「二维码有有效期」的误解,绝大多数情况下问题不在二维码,而在于它指向的链接或服务是有期限的。分清这两者,是做出能长期使用的二维码的第一步。

「免费做的二维码有期限」这个误解

真相:二维码的生成方式不会改变有效期。但使用动态二维码服务时需要留意。

二维码分为「静态二维码」和「动态二维码」两种。静态二维码是把链接或文本直接嵌入图案本身,这种没有有效期。

动态二维码则是经由二维码服务的短链接转发到目标页面。嵌入图案里的是服务方的短链接,真正的目标地址由服务方在后台管理。这种情况下,一旦服务终止、或者免费方案到期,扫描之后就到不了目标页面了。

「免费做的二维码有期限」这个说法,正是来自动态二维码服务的这套机制。如果自己生成静态二维码,完全不必担心有效期的问题。

「旧的二维码会读不出来」这个误解

真相:二维码的规格从 1994 年至今没有变过,旧的二维码用市面上的手机照样能读。

二维码的规格(ISO/IEC 18004)自 1994 年由电装(现在的电装 Wave)开发以来,基本机制一直没有改变。规格制定初期生成的二维码,用市售的 iPhone 或 Android 手机读取也没有问题。

这是因为二维码的规格维持了「向后兼容」。即使追加了新版本的二维码,旧版本的二维码也不会因此变得读不出来。与 VHS 录像带因为播放设备消失而看不了形成对照,二维码在规格的稳定性上保持得相当好。

需要留意的反而是相反的方向:新版本、高密度的二维码在老旧的专用读取机上可能读不出来。这不是「旧码过期」,而是设备一侧的读取能力问题。要发给不特定多数人使用时,把版本压到较低、模块做大一些,兼容性会更好。

看起来像「过期」的 5 个原因

二维码看起来不能用了,主要有以下 5 个原因。

  • 目标页面被删除了:二维码里存的链接所指的页面被关闭或迁移,扫了就会出现 404 错误。其中最常见的情形是网站改版导致链接结构发生变化
  • 短链接服务终止了:如果用的是 bit.ly、goo.gl 之类的短链接,服务停运或链接被失效化之后就连不上了。Google 的 goo.gl 已在 2025 年 8 月完全停止服务
  • 动态二维码的合约到期了:用二维码生成服务的付费方案做的动态二维码,合约结束后转发就会停止
  • 域名过期:二维码里存的链接所用的域名没有续费而失效,还存在被第三方抢注的风险
  • SSL 证书过期:存的是 HTTPS 链接时,证书不续期浏览器就会弹出警告,实际上等于无法访问

物理劣化导致的读取失败

数据没有期限,但作为印刷物的物理劣化确实会让二维码变得扫不出来。这也是被误当成「过期」的原因之一。

设置在室外的二维码,会因紫外线导致的褪色、风雨造成的磨损、污垢附着而使读取精度下降。特别是被阳光直射的位置,对比度往往在 1〜2 年内就开始明显降低。

二维码具备纠错功能,最高的 H 级即使数据(码字)丢掉约 30% 仍能复原。这个 30% 是相对数据而言的比例,并不等于面积的 30% 都没关系;缺损集中在一处,或者压到定位图案时,会在更早就读不出来。在室外或严酷环境中使用时,把纠错级别设为 H,并采用耐候性材料(陶瓷、不锈钢、抗紫外线薄膜),可以大幅延长使用寿命。

另外容易被忽视的是贴纸类的粘合劣化。边角翘起、图案跟着起皱,定位图案就会变形。发现翘边就尽早换新,比等到完全扫不出来再处理省事得多。

做出能长期使用的二维码的要点

想让二维码长期用下去,注意以下几点。

  • 用自己域名下的链接:不依赖短链接服务,存入自己能管理的链接,并把域名的自动续费打开
  • 选择静态二维码:数据存在图案自身里的静态二维码不依赖外部服务。Wi-Fi 信息、vCard 这类非链接的数据尤其适合用静态
  • 维持目标页面:把二维码用在印刷物上时,不要轻易删除或迁移目标页面。网站改版时务必设置从旧链接过来的跳转
  • 准备一个用于转发的固定链接:做一个像 /go/campaign2026 这样的固定路径,真正的目标地址在服务器端管理。这样目标变了也不必重做二维码
  • 提高纠错级别:室外或长期使用的场合选 H 级(可复原 30%)

应对动态二维码的合约终止风险

动态二维码很方便,但带有一个风险:对服务提供方的依赖。因合约结束或服务下线而突然不能用的情况,现实中确实发生过。

作为对策,即使使用动态二维码,也建议把转发的目标地址放在自己的域名之下。万一服务终止,只要用自己的域名把同样的链接重现出来,已经印好的二维码就还能救回来。

另外一种有效的做法是分场景使用:名片、招牌等要用很多年的印刷物采用静态二维码,只有宣传单页之类短期用途才用动态二维码。在制作的时候就想清楚「这个二维码要用几年」,是不留后悔的运用关键。

「二维码到底有没有有效期」这个疑问的答案,取决于码的种类和运用方式。