🏠 首页
›
工具箱
›
在线扫码
ℹ️ 点「开始扫描」后,浏览器会询问是否允许使用摄像头,请选择允许。手机用户可切换到后置摄像头,识别率更高。
📷 扫描控制
摄像头
默认(系统选择)
识别成功时发出提示音
连续扫描(不自动停止)
📷 开始扫描
⏹ 停止扫描
把二维码 / 条形码对准取景框
🔍 变焦
1.0×
🔦 闪光灯
🎯 点按对焦
📷
点「开始扫描」,把码对准摄像头。
识别结果
—
—
码类型
—
识别用时
—
识别引擎
—
内容
📋 复制
🔗 打开链接
🕘 扫描历史(最近 10 条)
还没有记录。
📊 支持的码类型
类型说明原生引擎jsQR 降级
QR Code二维码,最常见✅✅
EAN-13 / EAN-8商品条码(国内多为 69 开头)✅❌
UPC-A / UPC-E北美商品条码✅❌
CODE 128 / 39 / 93物流、仓储、工业标签✅❌
ITF / Codabar部分行业专用条码✅❌
Data Matrix / Aztec / PDF417二维条码(票证、证件)✅ 部分❌
说明:二维码两种引擎都能识别;一维条形码只有原生 BarcodeDetector 支持,Safari / Firefox 上会提示不支持。
⚠️ 说明:摄像头画面全程只在你的浏览器本地处理,不截图、不上传、不保存。识别能力取决于浏览器:优先用原生 BarcodeDetector(Chrome / Edge 支持最好),不支持时降级到 jsQR(仅支持二维码)。请在光线充足、码面平整清晰的环境下扫描;不要用它扫描来源不明的二维码,打开链接前请先确认域名是否可信。功能依赖 HTTPS 环境与摄像头权限。
📷
在线扫码
实用工具
完全免费
🌙 支持黑夜模式
🔒 本地识别,不上传
🔄 连续扫描
📋 历史记录
电脑上收到一张二维码图片、网页上有个码想扫一下、快递单上的条码想看看到底是什么——掏手机扫再传回电脑太麻烦,而手机浏览器又不能直接扫相册里的图。这个工具让网页直接调用摄像头扫:对准就出结果,还能连续扫、复制内容、直接打开链接。怎么用:① 点「📷 开始扫描」,允许摄像头权限;② 手机用户建议切到后置摄像头(分辨率更高、对焦更好);③ 把码对准取景框,识别到会立刻显示并记入历史;④ 结果是一串网址的话,可以直接点「🔗 打开链接」。关于兼容性,这里要说清楚:· 二维码:几乎所有现代浏览器都能扫(原生引擎不行就降级到 jsQR);· 一维条形码(商品上的那种):只有 Chrome / Edge 的原生 BarcodeDetector 支持,Safari 和 Firefox 目前不行,页面会明确提示你。两个使用提醒:· 光线要够、码面要平,反光和畸变都会导致识别失败;· 别乱扫来源不明的码。识别出来是网址的话,先看清楚域名再决定要不要打开——技术能识别,判断还得你自己来。
类别实用工具
技术getUserMedia + BarcodeDetector / jsQR
权限摄像头(仅本地识别)
要求HTTPS + 受支持的浏览器
简介
玩法说明
更新记录
常见问题
留言
核心特性
摄像头实时扫描
二维码 + 一维码
连续扫描模式
🔍 变焦放大(读小码)
🔦 闪光灯补光
🎯 点按对焦
识别框实时定位
扫描历史记录
结果一键复制
链接直接打开
前后摄像头切换
本地识别不上传
关于这个工具
怎么实现:① 能力检测:`'BarcodeDetector' in window` 为真则用原生引擎,否则加载已就位的 jsQR 做降级;② 取流:`getUserMedia({ video: { facingMode:'environment', width:{ideal:1920}, height:{ideal:1080} } })`,并 `enumerateDevices()` 列出摄像头供切换;③ 识别循环:`requestAnimationFrame` 里把 video 画面按取景框为中心做区域裁剪画到隐藏 canvas(最长边限 1280 兼顾速度与精度),原生引擎直接 `detector.detect(canvas)`,降级则 `jsQR(data, w, h, { inversionAttempts:'attemptBoth' })`;④ 变焦放大:拖动「🔍 变焦」滑块,摄像头支持硬件变焦时直接 `applyConstraints({zoom})`,否则对画面做区域放大解码,让远处的小码 / 屏幕上的码更易读出;⑤ 补光与对焦:暗光下点「🔦 闪光灯」(需设备支持),点画面或「🎯 点按对焦」触发单次自动对焦;⑥ 识别框:识别成功后用 canvas 在画面上画出码的绿色定位框;⑦ 节流与去重:每 ~120ms 才真正解码一次,相同内容 1.5 秒内不重复入历史,识别成功用 `OscillatorNode` 发一声短提示音;⑧ 释放:停止时 `track.stop()` 关闭摄像头。它不做:不识别相册图片(请用本站的 qrcode-decode)、不生成二维码、不保存任何画面。
怎么用
第 1 步点「📷 开始扫描」,允许摄像头权限。
第 2 步手机用户在下拉框里切到后置摄像头。
第 3 步把码对准取景框;码太小或太远就拖「🔍 变焦」放大,点画面触发对焦。
第 4 步识别到后画面会出现绿色定位框,看结果可复制或直接打开链接。
第 5 步扫完点「⏹ 停止扫描」,摄像头会自动关闭。
更新记录
v1.0
2026-09-21
工具正式上线:基于 getUserMedia + BarcodeDetector 实现摄像头实时扫码,原生引擎不支持时自动降级到 jsQR(二维码);支持连续扫描、前后摄像头切换、扫描历史(最近 10 条)、结果复制、链接直接打开与识别提示音;解码做 150ms 节流与去重,停止时自动释放摄像头。画面全程本地处理不上传,首屏说明一维码的浏览器限制与安全提示,适配黑夜模式。
常见问题
提示「无法访问摄像头」怎么办?
按顺序排查:① 必须 HTTPS:摄像头 API 只在安全上下文可用;② 权限被拒:点地址栏左侧锁图标 → 网站设置 → 摄像头改为「允许」,再刷新;③ 系统层面禁用:Windows 设置 → 隐私 → 摄像头;macOS → 隐私与安全性 → 摄像头;④ 被占用:关掉正在用摄像头的会议软件;⑤ 没有设备:确认设备有摄像头。
为什么扫不出商品条形码?
因为一维条形码依赖浏览器的原生 BarcodeDetector,而目前只有 Chrome / Edge 支持得比较完整,Safari 和 Firefox 基本不支持。降级用的 jsQR 只能识别二维码,识别不了商品条码。如果你需要扫 EAN / UPC / CODE128 这类一维码,请改用 Chrome 或 Edge 打开本页。
一直识别不出来,画面很清楚也不行?
常见原因与对策:· 距离太近或太远:让码占满取景框的 60%~80% 最合适;码太小/太远就拖「🔍 变焦」放大,相当于把远处的小码拉近再解码;· 反光 / 摩尔纹:屏幕上的码容易有摩尔纹,稍微斜一点角度;本工具已开启反色码识别,深色背景浅色码的屏幕码也能读;· 对焦没合上:手机切到后置摄像头,点一下画面或点「🎯 点按对焦」触发单次自动对焦;· 光线不足:点「🔦 闪光灯」补光(需设备支持),避免直射反光;· 码太小或太密:一维码对分辨率要求高,手机后置比前置好得多;· 画面畸变:广角镜头边缘的码容易变形,把码放到画面中间(正好在取景框内,解码会优先聚焦中心区域)。
能扫相册里的二维码图片吗?
不能,本页面只做摄像头实时扫描。要识别图片文件里的二维码,请用本站的 二维码解码 工具(qrcode-decode),它支持上传图片解析。
摄像头画面会被上传或保存吗?
不会。画面只在你的浏览器内存里逐帧解码,没有 `MediaRecorder`,不截图、不缓存、不上传,也没有任何网络请求。停止扫描后摄像头立即释放,刷新页面即全部清空。唯一需要注意的是:识别出来的网址请自行判断安全性,不要盲目打开来源不明的链接。
💬 留言板 0
全部留言需审核通过后展示
💬
还没有留言,来抢沙发吧!
✍️ 说点什么
游客留言,登录 可关联账号
0 / 500
📨 提交留言
🎉
留言已提交!
现在只有你自己能看到这条留言(已标上「待审核」),管理员审核通过后才会展示给所有人~
再留一条
🔗 相关工具推荐
🔍
二维码解码识别图片里的码
→
🔳
二维码生成自己做一张码
→
📹
摄像头测试先确认摄像头正常
→
🌐
摸鱼冲浪舱看浏览器环境信息
→