企评社

Язык подписей интерфейса: Русский. Отзывы о компаниях, сообщения форума и описания инструментов пока доступны только на китайском языке.

QR-код с логотипом

Логотип в центре · максимальная коррекция по умолчанию · проверка сразу после генерации

二维码与 Logo 都在浏览器本地合成,内容不上传、不留存
二维码不是加密容器。 加不加 Logo,二维码里的内容对任何扫码工具都是明文,不要用它存放密码、身份证号、银行卡号等敏感信息。 本页只负责把图案画好看,并帮你确认它还能被扫出来。

第一步:要写进二维码的内容

网址建议带上 https://;中文按 UTF-8 编码。内容越长,二维码格子越密,Logo 能占的比例就越小。

第二步:选一张 Logo(可跳过,跳过就是普通二维码)

推荐 PNG 透明底(不会出现白方块)。Logo 会等比缩放居中放进中间的正方形区域,四周可留一圈白边把码点隔开。

第三步:生成参数

印在海报、名片上的二维码建议不小于 512 像素,实际印刷尺寸别小于 2 厘米见方。

加 Logo 相当于故意遮挡一部分码点,靠的就是纠错能力;H 级能容忍最多遮挡,但同一张码能装的内容也最少。

规范要求四周各留 4 个模块,默认保留。做成 0 会让很多扫码器认不出边界。

深色码点 + 浅色背景最好读;对比度低于 3:1 时本页会提示。

预览、自检与下载

「检测能否扫出」会把当前这张图交给本地的识别库读一遍(第一次点会加载约 250KB 的识别组件), 读出来的内容与上面的原文一致才算通过。这一步同样在本机完成,图片不会被发送到任何地方。

二维码加 Logo 的原理:靠纠错码把挡住的格子补回来

为什么挡住中间还能扫出来。二维码不是把内容直接画成黑白格子,而是按 Reed-Solomon 纠错码编码:除了正文数据,还会额外写入一批校验码。扫码器读图时,即使有一部分模块读错或读不到,也能靠校验码把原始数据算回来——纠错的容忍比例就是 L 约 7%、M 约 15%、Q 约 25%、H 约 30%。中间压一个 Logo,本质上就是「故意读错」这一小块,只要遮挡比例不超过纠错能力,内容照样能被还原。所以加 Logo 的二维码必须选较高的纠错等级,本页默认就是最高的 H 级。

Logo 能放多大,取决于内容有多长。同一张二维码里,正文、纠错码、定位图案和格式信息要分同一块版面:内容越长,二维码版本越高、格子越多,中间那一小块相对占比就越小;反过来,内容很短时二维码格子少,同样像素大小的 Logo 遮挡的模块比例会明显变大。本页把 Logo 限制在边长的 10%~30%,超过 25% 会给出明确提示,并且提供「检测能否扫出」——真正该信的不是我们写的经验值,而是你自己这张图能不能被读出来。

不要碰三个角上的定位图案。二维码三个角上有回字形的定位图案(Finder Pattern),扫码器靠它们判断二维码的位置、角度和模块大小。把 Logo 放在正中不会碰到它们;如果自己排版时把图片压在角上,几乎必然扫不出来。这也是本页把 Logo 区域固定在中间、并允许你调整大小与留白的原因:留白(白边)可以在 Logo 与码点之间形成清晰边界,避免深色 Logo 与深色码点糊成一片,让二值化更干净。

本地生成,内容不出浏览器。二维码的生成只是一段确定的几何计算:数据编码、纠错、掩码、画格子,全部可以在浏览器里完成,不需要任何后端。本页的二维码由自托管的 qrcode-generator 生成,Logo 用 canvas 合成,自检用的识别库也是自托管的——整页没有上传接口,你可以打开开发者工具的 Network 面板核验。内容不写进网址、localStorage 或 cookie,关闭页面就什么都不剩;需要复用请自己保存下载的 PNG,它是静态图片,永久有效、不依赖服务器。

Частые вопросы

С логотипом код ещё считывается?

Всё сводится к уровню помехоустойчивости и к тому, сколько закрыто. У QR встроенная помехоустойчивость (L около 7 процентов, M около 15, Q около 25, H около 30); страница по умолчанию берёт сильнейшую H, а логотип держит в пределах 20 процентов - перекрытый уголок середины всё равно восстанавливается. После сборки тронь «проверить считывание» и сними код своим устройством: считывается - скачивай, нет - уменьши логотип или подними уровень.

Логотип не перекроет маркеры позиции?

Нет. В трёх углах сидят позиционные узоры - квадраты в квадрате; страница заключает логотип в срединную полосу 10-30 процентов, откуда он до них не дотягивается. Правда, чем крупнее логотип, тем больше модулей под ним - за 25 процентов страница прямо предупреждает о риске, а финальный судья - снимок твоим же устройством.

Какая картинка логотипа подойдёт?

Прозрачный PNG ложится лучше всего (никаких белых коробок, душащих модули), JPG тоже годится; страница сожмёт картинку с сохранением пропорций и поставит в центр заданного размера. По желанию добавляются белая рамка-отступ и скруглённые углы - между логотипом и модулями остаётся чистая граница, распознавание увереннее.

Что-то уйдёт на сервер? Коды со временем протухают?

Ни загрузки, ни срока годности: QR - статичная картинка, сосчитанная локально за один проход, содержимое живёт внутри самой картинки, скачанный файл работает вечно без всякого сервера - и страница твоё содержимое не хранит.

Похожие инструменты