图片转文字(OCR)

全球通用工具

把识别器对准一张有文字的图片,把字拿回来:一段话的截图、一张收据照片、一页扫描件、一块标牌、一张填好的表格。这个页面用一套完整的 OCR 引擎做这件事——档案馆和图书馆用它读扫描件已经几十年——整套识别都运行在你面前的这台设备上。

将多个文件拖拽到此处,或 。

全部在你的浏览器里处理——不会上传任何内容。

    最多 10 张图片,单张最大 25 MB。它们在浏览器标签页里解码并读取,所以什么都不上传——识别引擎和你所选语言的模型在你第一次使用时才下载到你的浏览器,之后会被缓存。

    只下载你选的那门语言的模型,而且只在你真的去读一张图片时才下载:首次运行英文约 4.2 MB、中文约 2.9 MB、中英双模型约 5.7 MB——之后模型缓存在你的浏览器里,第二张图片和第二次访问都不用再下载。

    这是 OCR 引擎的页面分割模式。如果一张图片读回来是胡话,第一个该改的就是它——通常错的是版面分析,不是字母。

    只在选图片前用于下面的计划。真实任务使用文件本身。

    边输入边更新。所有计算都在你的浏览器里完成,数据不会离开本机。

    计划:2 张图片

    在这个标签页里读出的英文

    每张图片都由 OCR 引擎读出——它是运行在你自己设备上的识别器——文字会以可复制的文本框和可下载的 .txt 交回。第一次运行要下载约 4.2 MB 的引擎与英文模型,只下这一次。

    每份图片数
    最多 10 张
    语言
    英文
    版面
    自动
    首次运行
    约 4.2 MB

    添加图片之后会发生什么

    1. 引擎与英文模型在你第一次使用时从本站加载,而不是从 CDN:约 4.2 MB,其中模型占 1.6–2.9 MB(已压缩),核心压缩后约 1.1 MB。
    2. 之后模型会缓存在你的浏览器里,所以第二张图片和第二次访问都快得多。
    3. OCR 引擎找出每一行、读出字符,并报告它自己的置信度,全部在你的设备上完成。
    4. 你会在页面里拿到文字、一个复制按钮,以及每张图片一个 .txt 下载。什么都不上传,任何文字都不发往任何地方。
    OCR 是模式识别,不是阅读。干净、端平、对比度高的印刷体几乎不会出错;手写、弯曲的书页、暗光下的手机照片、少见的字体、压在图片上的文字,结果都会更差——有时差得多。OCR 引擎不理解词的意思,所以它没法像人那样靠上下文自我纠正。相信它之前先核对。

    每种版面模式适合什么

    模式适合OCR 引擎怎么做
    自动:一栏或多栏文字扫描页、书籍,任何有段落的图OCR 引擎自己判断版面。扫描页、书、含多个区块的文档都选它。
    整块文字标签、段落、车牌把整张图当成一个均匀的文字块——段落、标签、车牌。上面那个模式猜错时,它最准。
    单行序列号、收据抬头、单个问题框只读一行字,适合收据抬头、序列号或单个问题框。
    稀疏文字:散落的词标牌、包装、界面截图不假设文字按段落排列,尽量把能找到的字都找出来。适合标牌、包装和界面截图。

    如果读出来的是乱码,先改模式,再改别的:在本来就不是文档的图片上,自动版面分析通常就是元凶。

    这一页带英文与简体中文两种模型,而且只下载你选的那一种——这是尺寸上的决定,不是技术上的:每门语言都是几兆字节的训练数据,总得有人去取。引擎是一套经过训练的 OCR 模型——几十年来在档案馆和图书馆里读扫描件的,正是这类识别器。

    “在你面前的设备上”正是这个页面存在的理由。多数 OCR 网站会把你的文档上传到服务器再识别,而拿护照扫描件、工资单或律师来信这么做实在奇怪。在这里,图片在标签页里读取,识别器也在同一个标签页里运行,文字从不离开它。代价也是坦白说在前面的:识别器需要你自己下载,第一次约 4.2 MB,之后浏览器会缓存它。

    这一页带两种模型——英文与简体中文,另外还有一份给中英混排页面的组合模型——读图用哪一种由你选。只有你选中的模型会被下载,而且只在你真的去读一张图片时下载:英文模型 2.8 MB、中文模型 1.6 MB,或两份都要。用不到的人一分字节都不用付。

    关于这个工具

    从照片里读字这件事,多数网站是先把图片上传上去再做,而拿护照扫描件、工资单或签名信件这么做实在奇怪。这个页面用浏览器内的文字识别器读字,它在你已经打开的这个标签页里工作。

    识别器与所选语言的模型由本站提供而不是 CDN,首次使用后由浏览器缓存,所以读文档时不会有任何请求发往第三方。英文约 4.2 MB、简体中文约 2.9 MB、两份都要约 5.7 MB;全部都在你自己的设备上运行,图片的任何一个像素都不上传。

    这个页面读干净的印刷文字,其他情况如实说明:手写基本不在范围内,倾斜的页面会让行分析失灵,低对比度或很小的字在识别器看到字母之前就已经损失了准确率。它报告识别器自己的置信度,并且从不整理输出,所以你读到的就是它真正识别到的东西。

    它是怎么工作的

    OCR 到底做了什么,以及它为什么那样出错

    识别引擎分阶段工作。图片先被转成黑白,这个阈值必须猜出“纸在哪里结束、墨在哪里开始”;深色形状被归成行、再归成词、再归成字符;一个神经网络——LSTM,用数百万行扫描文本训练过——在上下文字符的帮助下读每个字符;最后一轮词典会往真实单词上轻轻推一把。这条链里没有一环涉及“理解”。识别器不知道一个词是什么意思,所以它发现不了 “reciept” 是错的,并且会乐于返回一个读起来通顺、意思却完全不同的句子。

    这也正是它的失败模式如此可预测的原因。手写抛掉了模型训练时见过的字形,所以基本不在范围内——干净的印刷体大写字母有时能用,连笔字几乎不行。斜着拍的一页会让行定位器苦战。低对比度、阴影、手机闪光灯、细字体、文字压在照片上、以及低于约十个像素高的印刷字,都以同样的方式损失准确率:在神经网络看到之前,字母已经无法区分了。

    结果里的置信度数字是识别器对整张图片自己的估计,值得一看:90 以上通常意味着干净印刷体被正确识别,六十多通常意味着某个地方很难——它是一个警告,提示你去核对文字而不是相信它。这里不会对返回结果做更正、拼写检查或整理,因为一个悄悄改写你文档的工具,比一个给你看它真正看到了什么的工具更糟。

    那几兆字节,以及为什么由本站提供

    识别器不是公式,而是训练出来的模型,而模型就是数据。在浏览器里运行的识别核心是 2.8 MB(服务器压缩后在网络上约 1.1 MB),模型是另外几兆已经压缩过的数据:英文 2.8 MB、简体中文 1.6 MB。加上配套文件,英文一共约 4.2 MB,第一次在这里读图时下载,之后再也不会见到——浏览器会把模型存在本地,所以第二张图片和第二次访问都立刻开始。

    这些文件由本站提供,而不是 CDN,这是有意的选择。用 CDN 对我们更省、对你更快,但也意味着这个站点上的一个页面会在你使用工具的那一刻悄悄联系第三方——而在一个全部承诺就是“你的文档属于你”的站点上,这不行。所以模型由本站自己的地址提供、随页面一起发布,你可以查看浏览器发出的请求列表,确认识别过程中的每个请求都是同源的。

    带哪份模型是一个选择,也是这个工具里唯一一处「下载多大取决于你」的地方。英文单独一份是默认、也是最省事的;中文单独一份更小,因为它的模型只有 1.6 MB;组合模型的数据翻倍,但读一份夹着英文人名的合同时不必靠猜。如果一张图片的语言不在已加载模型的训练范围里,它会返回自己以为看到的词——识别器被要求去读一门没学过的语言时,就是这样。

    版面模式,以及读到胡话时第一个该试的东西

    识别引擎必须被告知它大致在看什么样的页面,这个设置叫页面分割(在本页面板里叫「版面模式」)。“自动”让它自己找出区块和分栏,适合扫描页或书本。“整块文字”把图片当成一个段落,是对标签、车牌或消息截图最准确的模式。“单行”用于序列号或收据抬头。“稀疏文字”到处找词,不假设段落,适合标牌、包装和界面截图。

    设错模式是一张完全可读的图片返回乱码最常见的原因:字母被正确读取了,但行分析把它们重新排列了。所以排查顺序是:先换模式,然后把它摆正、调亮,再放大。裁到只剩文字比什么都管用,因为它去掉了识别器必须判断为“忽略”的那些部分。

    什么能提高准确率,按帮助大小排序

    第一步几乎总是裁剪:识别器必须判断哪些部分是文字、哪些不是,所以去掉边距就是缩小它的工作范围。接下来是摆正和调亮,因为行定位器会在倾斜的页面上出错,阈值会在偏暗的页面上出错。

    分辨率同样重要——眼睛能读的、十二个像素高的字,通常已经超出识别器的能力,把页面放大一倍就是“没结果”和“有结果”的差别。这些都不保证干净的识别,因为 OCR 是估计,但“裁剪、摆正、调亮、放大”修好的图片比表单上任何设置都多。

    示例

    示例使用页面自带的默认输入,只改设置;下面的结果与你在页面上看到的完全一致。

    一页印刷扫描件

    文字的排列方式: 自动:一栏或多栏文字(模式 3)

    计划:2 张图片

    在这个标签页里读出的英文

    每张图片都由 OCR 引擎读出——它是运行在你自己设备上的识别器——文字会以可复制的文本框和可下载的 .txt 交回。第一次运行要下载约 4.2 MB 的引擎与英文模型,只下这一次。

    每份图片数: 最多 10 张 · 语言: 英文 · 版面: 自动 · 首次运行: 约 4.2 MB

    自动版面模式是所有看起来像文档的东西的正确起点:浏览器内的 OCR 引擎自己找出区块和分栏,正常字号的干净印刷体以 90 以上的置信度返回。

    序列号、车牌、标签上的一行

    文字的排列方式: 单行(模式 7)

    计划:2 张图片

    在这个标签页里读出的英文

    每张图片都由 OCR 引擎读出——它是运行在你自己设备上的识别器——文字会以可复制的文本框和可下载的 .txt 交回。第一次运行要下载约 4.2 MB 的引擎与英文模型,只下这一次。

    每份图片数: 最多 10 张 · 语言: 英文 · 版面: 单行 · 首次运行: 约 4.2 MB

    告诉识别器图片里只有一行,就去掉了产生胡话的猜测空间:没有可分割的东西,也就没有什么能被重排。需要精确读出一个值时,用的就是这个模式。

    一块标牌、菜单板、界面截图

    文字的排列方式: 稀疏文字:散落的词(模式 11)

    计划:2 张图片

    在这个标签页里读出的英文

    每张图片都由 OCR 引擎读出——它是运行在你自己设备上的识别器——文字会以可复制的文本框和可下载的 .txt 交回。第一次运行要下载约 4.2 MB 的引擎与英文模型,只下这一次。

    每份图片数: 最多 10 张 · 语言: 英文 · 版面: 稀疏文字 · 首次运行: 约 4.2 MB

    稀疏文字模式到处找词,而不假设段落存在,这正是标牌或截图需要的——词按被找到的顺序返回,不做任何原图本就没有的版面还原。

    标签或小票上的一段话

    文字的排列方式: 整块文字(模式 6)

    计划:2 张图片

    在这个标签页里读出的英文

    每张图片都由 OCR 引擎读出——它是运行在你自己设备上的识别器——文字会以可复制的文本框和可下载的 .txt 交回。第一次运行要下载约 4.2 MB 的引擎与英文模型,只下这一次。

    每份图片数: 最多 10 张 · 语言: 英文 · 版面: 整块文字 · 首次运行: 约 4.2 MB

    当整张图片就是一个段落时,“整块文字”是最准确的模式:没有版面可分析,识别器把全部能力都花在字母上。收据、名片,或 OCR 总是把字重排的消息截图,都用它。

    常见问题

    我的图片会被上传到哪里吗?

    不会。图片由你浏览器里的 JavaScript 读取、在那里解码成像素,然后交给同一个标签页里的识别引擎;识别器和英文模型是从本站下载到你这里,没有任何东西传回去。读图时你可以查看浏览器发出的请求列表:每个请求都是同源的,而且没有一个携带图片。本站也没有任何可以接收图片的端点。

    为什么第一次运行很慢,为什么要下载好几兆?

    因为识别器是训练出来的模型而不是公式:识别引擎本身是 2.8 MB,语言模型另加 1.6 到 2.8 MB(英文 2.8 MB、简体中文 1.6 MB),两者都必须先到达你的浏览器,才能读出第一个字符。只有你选中的那份模型会下载,而且只发生一次。浏览器会把模型缓存在本地,所以第二张图片、第二次访问和第十份文档都很快——而如果你清空了浏览器数据,它会再下载一次。另一种做法,把你的文档上传到别人的服务器,对你很快,代价是你的文档永远留在他们的硬盘上。

    为什么有些地方文字是错的?

    因为 OCR 是没有理解能力的模式识别。常见原因按顺序是:版面模式不适合这张图片(试试「整块文字」或「单行」);图片太小、太糊、太暗或倾斜;文字是手写,模型没被训练过;或者字体足够特殊,字母本身就存在歧义。裁到只剩文字再放大,修好的情况比什么都多。这个页面之后不会修正输出,所以你看到的就是识别器产出的——相信它之前先核对。

    它能读手写吗?

    大多不能,这个页面也不会假装可以。识别模型是在印刷文本上训练的,所以表格上工整的印刷体大写字母有时读得对,连笔手写几乎不行。白板照片和手写笔记是典型的失望场景。如果任务就是手写,基于手写训练模型的服务才是对的工具——而那意味着要把笔记上传给某个人,这就是你要做的取舍。

    它支持哪些语言?

    支持英文与简体中文,另外还有一份中英混排的组合模型。只有你选中的模型会被下载,而且只在你真的去读一张图片时下载:英文 2.8 MB、简体中文 1.6 MB、两份加起来 4.5 MB——这也是为什么它是个下拉框,而不是一句「支持所有语言」的承诺。如果一张图片的语言不在已加载模型的训练范围里,结果会是它以为自己看到的词,用它会的那套字符重新拼出来。识别器本身已经支持一百多种语言,要加第三种,只是多带一份模型的事,不用改这个工具。

    我能在 PDF 上用吗?

    不能直接用:PDF 是文档格式而不是图片,而这个工具读的是像素。通常的路径是先把页面变成图片——本站的 PDF 工具可以打开并栅格化文档,给一页截图也行——然后把那张图拿到这里读。已经带文字层的 PDF 根本不需要 OCR:把文字取出来正是 PDF 转 Word 做的事,精确,不靠猜。

    它会保留版面、分栏和表格吗?

    不会:返回的是文字和换行,按识别引擎读取的顺序。分栏通常能按正确顺序一块一块读出来,但表格会变成空格被压平的一行行词,表单会失去它的框线。这里的重点是“词”;如果你要从表格得到一份电子表格,那只能手工重建,或用专门为此构建的工具。

    这一页用的是什么识别引擎,为什么它免费?

    这一页用的是一套历史悠久的开源 OCR 引擎:它起源于 1980 年代中期的惠普,2005 年开源,2006 年起由 Google 开发,采用宽松的开源许可,许多图书馆、档案馆和政府项目都用它来读自己的扫描件。它就是那个真正的识别器,被封装成可以直接在浏览器标签页里运行,不需要另外安装程序。识别过程在本页面没有任何重新实现或近似:它就在你的浏览器里完成。

    资料来源与统计口径

    • 文字识别在你的浏览器里完成,提供英文与简体中文两种模型,图片不离开标签页。
    • 手写、倾斜、低对比度和小字号都不作保证,结果面板打印识别器给出的置信度;英文模型首次需下载约 4.2 MB、中文约 2.9 MB,之后由浏览器缓存复用;每次最多 10 张图片。
    • 图片和识别出的文字都在浏览器本地处理,不会上传。

    最近复核于 2026-10-30.

    本页在您的浏览器本地运行,请保留原文件备份;不涉及财务建议。 阅读完整免责声明。