百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
T

tesseract.js

> 编程语言
开源

100多种语言的纯JavaScript OCR QQ

38.6K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

100多种语言的纯JavaScript OCR QQ

Tesseract.js is a javascript library that gets words in [almost any language](./docs/tesseract_lang_list.md) out of images. ([Demo](http://tesseract.projectnaptha.com/)) Image Recognition Video Real-time Recognition

Tesseract.js works in the browser using [webpack](https://webpack.js.org/), esm, or plain script tags with a [CDN](#CDN) and on the server with [Node.js](https://nodejs.org/en/). After you [install it](#installation), using it is as simple as: ```javascript import { createWorker } from 'tesseract.js'; (async () => { const worker = await createWorker('eng'); const ret = await worker.recognize('https://tesseract.projectnaptha.com/img/eng_bw.png'); console.log(ret.data.text); await worker.terminate(); })(); ``` When recognizing multiple images, users should create a worker once, run `worker.recognize` for each image, and then run `worker.terminate()` once at the end (rather than running the above snippet for every image). ## Installation Tesseract.js works with a ` ``` After including the script the `Tesseract` variable will be globally available and a worker can be created using `Tesseract.createWorker`. Alternatively, an ESM build (used with `import` syntax) can be found at `https://cdn.jsdelivr.net/npm/tesseract.js@5/dist/tesseract.esm.min.js`. ### Node.js **Tesseract.js v7 requires Node.js v16 or newer.** (Tesseract.js v6 requires Node.js v14 or newer.) ```shell # For latest version npm install tesseract.js yarn add tesseract.js # For old versions npm install [email protected] yarn add [email protected] ``` ## Project Scope Tesseract.js aims to bring the [Tesseract](https://github.com/tesseract-ocr/tesseract) OCR engine (a separate project) to the browser and Node.js, and works by wrapping a [WebAssembly port](https://github.com/naptha/tesseract.js-core) of Tesseract. This project does not modify core Tesseract features. Most notably, **Tesseract.js does not support PDF files and does not modify the Tesseract recognition model to improve accuracy.** If your project requires features outside of this scope, consider the [Scribe.js library](https://github.com/scribeocr/scribe.js). Scribe.js is an alternative library created to accommodate common feature requests that are outside of the scope of this repo. Scribe.js includes improvements to the Tesseract recognition model and supports extracting text from PDF documents, among other features. For more information see [Scribe.js vs. Tesseract.js](https://github.com/scribeocr/scribe.js/blob/master/docs/scribe_vs_tesseract.md). ## Documentation * [Workers vs. Schedulers](./docs/workers_vs_schedulers.md) * [Examples](./docs/examples.md) * [Supported Image Formats](./docs/image-format.md) * [API](./docs/api.md) * [Local Installation](./docs/local-installation.md) * [FAQ](./docs/faq.md) ## Community Projects and Examples The following are examples and projects built by the community using Tesseract.js. Officially supported examples are found in the [examples](https://github.com/naptha/tesseract.js/tree/master/examples) directory. - Projects - Scribe OCR: web application for scanning documents (images and PDFs) - Site at [scribeocr.com](https://scribeocr.com/), repo at [github.com/scribeocr/scribeocr](https://github.com/scribeocr/scribeocr) - Chrome Extension (with Manifest V3): https://github.com/Tshetrim/Image-To-Text-OCR-extension-for-ChatGPT - Examples - Converting PDF to text: https://github.com/racosa/pdf2text-ocr - Use `blocks` output to generate granular data [word/symbol level]: https://github.com/Kishlay-notabot/tesseract-bbox-examples - Electron: https://github.com/Balearica/tesseract.js-electron - Typescript: https://github.com/Balearica/tesseract.js-typescript If you have a project or example repo that uses Tesseract.js, feel free to add it to this list using a pull request. Examples submitted should be well documented such that new users can run them; projects should be functional and actively maintained. ## Major changes in v6 Version 6 changes are documented in [this issue](https://github.com/naptha/tesseract.js/issues/993). Highlights are below. - Fixed memory leak in previous versions - Overall reductions in runtime and memory usage - Breaking changes: - All outputs formats other than `text` are disabled by default. - To re-enable the `hocr` output (for example), set the following: `worker.recognize(image, {}, { hocr: true })` - Minor changes to the structure of the JavaScript object (`blocks`) output - See [this issue](https://github.com/naptha/tesseract.js/issues/993) for full list ## Major changes in v5 Version 5 changes are documented in [this issue](https://github.com/naptha/tesseract.js/issues/820). Highlights are below. - Significantly smaller files by default (54% smaller for English, 73% smaller for Chinese) - This results in a ~50% reduction in runtime for first-time users (who do not have the files cached yet) - Significantly lower memory usage - Breaking changes: - `createWorker` arguments changed - Setting non-default language and OEM now happens in `createWorker` - E.g. `createWorker("chi_sim", 1)` - `worker.initialize` and `worker.loadLanguage` functions should be deleted from code - See [this issue](https://github.com/naptha/tesseract.js/issues/820) for full list Upgrading from v2 to v5? See [this guide](https://github.com/naptha/tesseract.js/issues/771). ## Major changes in v4 Version 4 includes many new features and bug fixes--see [this issue](https://github.com/naptha/tesseract.js/issues/662) for a full list. Several highlights are below. - Added rotation preprocessing options (including auto-rotate) for significantly better accuracy - Processed images (rotated, grayscale, binary) can now be retrieved - Improved support for parallel processing (schedulers) - Breaking changes: - `createWorker` is now async - `getPDF` function replaced by `pdf` recognize option ## Contributing ### Development To run a development copy of Tesseract.js do the following: ```shell # First we clone the repository git clone https://github.com/naptha/tesseract.js.git cd tesseract.js # Then we install the dependencies npm install # And finally we start the development server npm start ``` The development server will be available at http://localhost:3000/examples/browser/basic-efficient.html in your favorite browser. It will automatically rebuild `tesseract.min.js` and `worker.min.js` when you change files in the **src** folder. ### Building Static Files To build the compiled static files just execute the following: ```shell npm run build ``` This will output the files into the `dist` directory. ### Run Tests **Always confirm the automated tests pass before submitting a pull request.** To run the automated tests locally, run the following commands. ```shell npm run lint npm run test ``` ## Contributors ### Code Contributors This project exists thanks to all the people who contribute. [[Contribute](https://github.com/naptha/tesseract.js?tab=readme-ov-file#contributing)]. ### Financial Contributors Become a financial contributor and help us sustain our community. [[Contribute](https://opencollective.com/tesseractjs/contribute)] #### Individuals #### Organizations Support this project with your organization. Your logo will show up here with a link to your website. [[Contribute](https://opencollective.com/tesseractjs/contribute)]

Issues· 53 开放

查看全部 Issues在 GitHub 打开
  • #1077

    在处理 BMP 图像时,`setImage.js` 中出现严重的内存峰值和 CPU 冻结

    更新于 2026年9月13日
  • #1076

    `loadLanguage` 中的竞争条件导致未处理的崩溃 `TypeError: 无法读取 undefined 的属性 (读取 'resolve')`

    更新于 2026年9月13日
  • #1075

    `naptha/tesseract.js` 的技术错误报告和优化建议

    更新于 2026年9月13日
  • #961

    浏览器扩展的 Manifest 版本 3 遇到了与 Tesseract.js 相关的问题

    更新于 2026年7月31日
  • #1030

    删除 Open Collective 安装后脚本,以解决 deno 安装警告问题

    更新于 2026年7月17日
  • #1064

    错误: Bun 运行时无法在 Next.js API 路由中解析工作脚本模块

    更新于 2026年5月17日
  • #887

    默认导出中缺少"languages"属性

    更新于 2026年4月14日
  • #712

    无法在外部捕获 spawnWorker() 错误

    更新于 2026年2月9日
  • #1043

    当尝试在 electron 中使用 TesserractJS (在 node 中使用,而不是浏览器) 时,我收到以下错误。

    更新于 2025年12月25日
  • #1018

    TrustedTypes 问题

    更新于 2025年12月8日

> 标签

JavaScriptdeep-learningjavascriptocrtesseract

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言