每个二维码都是四十种固定尺寸中的一种。最小的是一张规整的 21×21 方格网。最大的是墙面级的 177×177。规范里管它们叫版本——V1 到 V40——而你最终拿到哪个版本,是由你编码的内容、以及你希望这个码有多结实,自动决定的。
下面说说这到底是什么意思,以及你为什么该在意。
「版本」到底指什么
二维码是一张由黑白小方块组成的网格,这些小方块叫模块。版本 1 是 21×21 的网格。往上每升一级,每边多四个模块。V2 是 25×25,V3 是 29×29,一路排到 V40 的 177×177。
版本纯粹是一个尺寸标签。它不是软件版本号——V2 并不比 V1「更新」,只是更大。版本越高,能装的数据越多。版本越低,手机锁定得越快,能扫的距离也越远。
版本不是你挑的,是内容决定的
你把数据和一个纠错级别交给编码器,它会挑出在这个级别下能装下这些数据的最小版本。就这么简单。
在默认的 M 级(15% 纠错)下,大致的尺度感是这样:
- 一个短链接,比如
qr-cow.com/r/abc123,轻松装进 V2(25×25)。 - 一张带姓名、电话、邮箱的 vCard——多半是 V5 或 V6(37×37 到 41×41)。
- 一段带长密码的 Wi-Fi 配置——大约落在 V4 到 V7 之间。
- 一段 300 字符的纯文本——V10 或更高(57×57)。
纠错级别怎么影响版本
每个二维码都会拿出一部分模块用于纠错。用多少由你定:
- L(7%)——印刷干净、室内、不易磨损的码。
- M(15%)——默认值。多数场景够用。
- Q(25%)——中间放了徽标时推荐,因为徽标会盖住模块。
- H(30%)——户外、公共表面,以及任何会被刮花的地方。
你要的纠错越多,留给真实数据的空间就越少,版本自然往上爬。同一个链接从 L 换到 H,通常会多跳一两级。如果这个码要印在贴纸上、最后大概率会泡进咖啡渍里,那这个代价很值。
怎么看出任意一个码的版本
最简单的办法:数一下码的某一边有多少个模块。版本是:
version = (modules_per_side − 17) / 4所以一个宽 33 格的码是 V4,一个宽 57 格的码是 V10。角上那三个大定位方块每个都是 7 个模块宽,所以你在一条边上数到七、一段空隙、再数七,基本就到位了。
或者干脆别数,直接在工作室里把码生成出来——编码后的尺寸会告诉你大部分你想知道的东西。
怎么把版本压低(以及为什么值得这么做)
版本越低,同样的打印尺寸下模块就越大,而模块越大,手机锁定得越快。V3 的码印在名片上清清爽爽。同一张名片上的 V20 码,就得手稳、光线还得好。
经验法则:版本每少爬一级,实际可扫距离大约翻一倍。
三个把版本压低的具体办法:
- 用动态二维码。编码进去的内容只是一个短跳转,比如
qr-cow.com/r/abc。不管你链到哪儿,它永远停在 V2。什么时候该用哪一种,见静态还是动态。 - 把网址缩短。
example.com/promo胜过example.com/landing/spring-2026/promo?utm_source=flyer&utm_medium=print。光是 UTM 参数,就能把一个静态码顶高两级。 - 室内场景就把纠错降一级。从 Q 退回 M 通常能省下一个版本,而室内印刷品很少真的需要 Q。
速查表
M 级下的大致字符容量(具体数字随数据类型浮动——字母数字略高,二进制略低):
- V1,21×21——约 14 个字符。
- V5,37×37——约 106 个字符。
- V10,57×57——约 271 个字符。
- V20,97×97——约 858 个字符。
- V30,137×137——约 1,732 个字符。
- V40,177×177——约 2,953 个字符。
现在去打开工作室,挑一个既撑得住外观、又装得下数据的最低版本吧。


Comments
Log in to join the conversation.
Loading…