Pure Javascript OCR for more than 100 Languages 📖🎉🖥
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Jerome Wu 46e84ad95d Cleanup tests 5 years ago
.github/ISSUE_TEMPLATE Update issue templates 5 years ago
docs Update docs 5 years ago
examples Add babel-loader to transpile to es5 5 years ago
scripts Bundle tesseract.js, worker.js and tesseract-core.js together 5 years ago
src Bundle tesseract.js, worker.js and tesseract-core.js together 5 years ago
tests Cleanup tests 5 years ago
.eslintrc Fix lint error 5 years ago
.gitattributes Initialize lfs 6 years ago
.gitignore Update .gitignore 5 years ago
.npmignore Add .npmignore 5 years ago
.travis.yml Update .travis.yml 5 years ago
LICENSE.md Create LICENSE.md 8 years ago
README.md Update docs 5 years ago
package-lock.json Bundle tesseract.js, worker.js and tesseract-core.js together 5 years ago
package.json Bundle tesseract.js, worker.js and tesseract-core.js together 5 years ago

README.md

Tesseract.js

License Code Style Maintenance

Build Status npm version Downloads Total Downloads Month

Tesseract.js v2 is now available and under development in master branch, check support/1.x branch for v1.

Tesseract.js is a javascript library that gets words in almost any language out of images. (Demo)

fancy demo gif

Tesseract.js works with script tags, webpack, and Node.js. After you install it, using it is as simple as

import { TesseractWorker } from 'tesseract.js';
const worker = new TesseractWorker();

worker.recognize(myImage)
  .progress((p) => { console.log('progress', p);    })
  .then((result) => { console.log('result', result); });

Check out the docs for a full treatment of the API.

Provenance

Tesseract.js wraps an emscripten port of the Tesseract OCR Engine.

Installation

Tesseract.js works with a <script> tag via local copy or CDN, with webpack via npm, and on Node.js via npm. Check out the docs for a full treatment of the API.

CDN

You can simply include Tesseract.js with a CDN like this:

<script src='https://unpkg.com/tesseract.js@v2.0.0-alpha.8/dist/tesseract.min.js'></script>

After including your scripts, the Tesseract variable will be defined globally!

npm

2.x

Major Changes

  • Upgrade to tesseract v4
  • Support multiple languages, ex: eng+chi_tra
  • Support image formats: png, jpg, bmp, pbm
> yarn add tesseract.js@next

or

> npm install tesseract.js@next --save

1.x

> yarn add tesseract.js

or

> npm install tesseract.js --save

Note: Tesseract.js currently requires Node.js v6.8.0 or higher.

Documentation

Contributing

Development

To run a development copy of tesseract.js, first clone this repo.

> git clone https://github.com/naptha/tesseract.js.git

Then, cd tesseract.js && npm install && npm start

> cd tesseract.js
> npm install && npm start

  ... a bunch of npm stuff ...

  Starting up http-server, serving ./
  Available on:
    http://127.0.0.1:3000
    http://[your ip]:3000

Then open http://localhost:3000/examples/browser/demo.html in your favorite browser. The devServer automatically rebuilds tesseract.dev.js and worker.min.js when you change files in the src folder.

Building Static Files

After you've cloned the repo and run npm install as described in the Development Section, you can build static library files in the dist folder with

> npm run build