在线扫码:摄像头实时识别二维码与条形码

在线扫码:摄像头实时识别二维码与条形码

🏠 首页

›

工具箱

›

在线扫码

ℹ️ 点「开始扫描」后,浏览器会询问是否允许使用摄像头,请选择允许。手机用户可切换到后置摄像头,识别率更高。

📷 扫描控制

摄像头

默认(系统选择)

识别成功时发出提示音

连续扫描(不自动停止)

📷 开始扫描

⏹ 停止扫描

把二维码 / 条形码对准取景框

🔍 变焦

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

📨 提交留言

🎉

留言已提交!

现在只有你自己能看到这条留言(已标上「待审核」),管理员审核通过后才会展示给所有人~

再留一条

🔗 相关工具推荐

🔍

二维码解码识别图片里的码

→

🔳

二维码生成自己做一张码

→

📹

摄像头测试先确认摄像头正常

→

🌐

摸鱼冲浪舱看浏览器环境信息

→

相关推荐

365bet888 手机外置网卡价格

手机外置网卡价格

📅 01-06 👁️ 5902
o365邮箱 清洗发动机积碳什么方法好

清洗发动机积碳什么方法好

📅 01-08 👁️ 3704
o365邮箱 甘蔗的拼音 “甘蔗”的读音是什么?