JPG · PNG · WEBP · BMP,中英文混排OCR(Optical Character Recognition,光学字符识别)把图片里的文字变回可编辑、可搜索、可复制的字符串。本工具基于百度 PaddleOCR 的 PP-OCRv4 中文 mobile 模型,配合微软 ONNX Runtime 的 WebAssembly 后端,在浏览器里全本地完成检测与识别——原图与文字结果绝不发往任何服务器。
| 场景 | 准确率预期 |
|---|---|
| 印刷体(书页、文档、海报) | 95%+ |
| 屏幕截图(网页、App、报错) | 92%+ |
| 拍照清晰 + 略倾斜 | 85–92% |
| 拍照模糊 / 反光 / 强阴影 | 50–80% |
| 手写体(楷书工整) | 70–85% |
| 手写体(行/草) | < 50%,不推荐 |
| 艺术字、变形 logo | 不稳定 |
不识别数学公式(LaTeX 结构)、乐谱、条形/二维码——这些走专门工具更靠谱。识别表格会输出文本但不还原行列结构。
/libs/paddle-ocr/ 加载,断网状态下也能跑(首次缓存后)可以在 DevTools Network 面板里勾上”Disable cache”,识别过程中应当 0 个出站请求(首次会有 5 个对 /libs/paddle-ocr/* 的本站请求,之后命中缓存)。
OCR 本质是像素 → 字符的概率推断。模型在以下场景会失手:
需要更高准确率(如发票字段抽取、身份证 OCR)请用付费云服务(百度/腾讯/阿里云 OCR),它们有针对发票、身份证等垂直场景的专门模型 + 后处理校验。本工具定位是通用、隐私安全、零成本。
中等偏上。使用百度 PaddleOCR 的 PP-OCRv4 中文 mobile 模型,常见印刷体、屏幕截图、清晰拍照可达 90%+ 字符准确率。手写、艺术字体、严重模糊或反光会明显下降。中英文混排、繁体、数字符号一并支持,但不识别公式、乐谱。
模型权重 + ONNX 运行时是真正干活的二进制:检测模型 4.5 MB、识别模型 10.3 MB、字符表 26 KB、ONNX wasm 12 MB。完成后浏览器会长期缓存这些静态文件,下次打开秒开,不再重新下载。
不上传。模型权重从本站静态目录加载,推理在浏览器 WebAssembly 里跑,原图、文字结果完全不离开你的电脑。可以打开 DevTools Network 面板验证:识别过程中无任何对外请求。适合处理含敏感信息的合同、票据、身份证。
常见原因:(1) 字太小——文字高度建议 ≥ 20 px,太小可先放大或裁切;(2) 反差不够——白底黑字最佳,复杂背景或彩色底字易丢;(3) 倾斜/扭曲——大角度倾斜先用截图工具拉正;(4) 罕见字/异体字——字典外的字(如部分繁体、化学符号)会被识别成形近字。同一段先排除前三类,再考虑字符集问题。
检测 + 识别两段流水线在主线程上跑:检测找出所有文本框(约 0.5–2 秒),识别再逐框抽字符(每框约 50–200 ms,框越多越慢)。500 字以内通常 2–5 秒完事;超大全屏长截图可能十几秒,建议先截切到关注的区域。我们没用 GPU/WebGPU 加速以保证 Safari 兼容性。
检测网络一个文本框都没找出来。常见情况:(1) 字太小(< 16 px);(2) 字与背景对比度太低(淡灰底浅灰字、半透明水印);(3) 整张图远小于 320 px 短边——模型检测分辨率是 640 × N,太小会被先放大、噪声放大盖过文字。先用图片放大 2 × 再扔进来通常就好了。