二维码生成与识别

文本生成 · 图片识别 · 尺寸与纠错可调 · 本地完成
纯本地处理 · 图片不上传 四色笔记 ↗

生成二维码

内容 0 字符
二维码
输入内容后这里会出现二维码
可下载 PNG,或用下面的识别功能验证
纠错等级:M

识别二维码

图片只在本机解码,不上传、不留存

把二维码图片拖到这里,或

PNG / JPG / WebP / GIF · 单张 ≤ 8 MB · 边长 ≤ 4096 · 图片不离开你的浏览器

识别结果

二维码生成与识别使用指南

在线生成二维码:内容、尺寸与静默区怎么定

图片识别二维码:为什么扫不出来,怎么提高成功率

二维码纠错等级怎么选:L、M、Q、H 分别能救回多少

二维码尺寸怎么定:像素、打印厘米与扫码距离

关于这个二维码工具

这一个页面做两件事:把文本变成二维码,以及把二维码图片读回文本。生成侧输入中文、网址或任意文本,二维码即时出现,不用点按钮;尺寸按像素边长在 128~1024 之间可调,纠错等级有 L / M / Q / H 四档(分别能恢复约 7%、15%、25%、30% 的损坏),四周自动保留 4 个模块的静默区,满足扫码器的识别要求;满意之后点「下载 PNG」就把当前这张码保存成图片。

识别侧把图片拖进虚线框或点「选择图片」即可。图片用 createImageBitmap 读入画布后交给本地脚本解码,不发任何携带图片或识别内容的网络请求——页面只会同源加载两份本地脚本,没有后端接收,也不记录你上传过什么。读出来的内容会显示在结果框里,可以一键复制,也可以「填入生成」回到上面的输入框重新生成一张。

需要说明的是:中文按 UTF-8 写进二维码,扫描端同样按 UTF-8 读取,不会出现乱码;但中文每字占 3 个字节,同样长度的内容会用到更大的版本,内容偏长时可以调低纠错等级或把尺寸调大。识别不出来多半不是工具的问题,而是二维码在画面里太小、被裁掉定位角、照片模糊反光,或强透视变形——裁掉多余背景、换一张更清晰的图通常就能读出来。单张图片上限 8 MB、边长 4096、总像素 1600 万,超出会直接提示而不会硬扛着处理。

常见问题

中文和网址能生成二维码吗?

可以。中文按 UTF-8 写入二维码,网址直接粘贴即可生成;扫描端同样按 UTF-8 读取,不会出现乱码。中文占字节比英文多,同样的内容会用到更大的版本(码点更密),如果内容太长请调低纠错等级或缩短文本。

纠错等级应该怎么选?

四档代表可恢复的比例:L 约 7%、M 约 15%、Q 约 25%、H 约 30%。只是屏幕上展示或近距离扫描,L 或 M 就够;要打印、做贴纸、可能沾污或想往码里嵌一个小图标,建议 Q 或 H。等级越高冗余越多,同样的内容二维码越密,需要的尺寸也越大。

上传的二维码图片会被保存吗?

不会。识别全程在你的浏览器里完成:图片用 createImageBitmap 读入画布后由本地脚本解码,不发出任何携带图片或识别结果的网络请求,也没有后端接收。关掉页面,内存里的图片与结果就一起释放了。

生成的二维码尺寸要怎么选?

按用途选像素边长:网页或聊天里展示 256~512 就清楚;打印在 A4 纸上建议 512~1024。这里的尺寸是导出 PNG 的像素边长,四周自动留 4 个模块的静默区,符合扫码器的识别要求。内容多、纠错等级高时,请把尺寸调大一些,避免码点被压得过密。

图片识别不出来怎么办?

先确认图片里确实有二维码,并且四个角的定位方块完整没被裁掉。常见原因是二维码在画面里太小、照片模糊或对焦不实、有反光、强透视变形,或者屏幕拍摄出现的摩尔纹。可以裁掉多余背景让二维码占满画面、重新拍一张更清晰的,或直接扫描原图而不是屏幕照片。

支持哪些图片格式,有大小限制吗?

支持 PNG、JPG/JPEG、WebP、GIF、BMP 等浏览器能解码的常见格式;单张上限 8 MB,边长上限 4096,总像素上限 1600 万。超出限制会直接给出提示,不会尝试处理;动图只取第一帧。文件损坏、后缀被改过、实际不是图片,会提示无法读取而不是报错退出。