Ferramentas
Tesseract.js
Biblioteca JavaScript de OCR que extrai texto de imagens em mais de 100 idiomas, no navegador ou no Node.js, sem enviar o arquivo a outro serviço.

Tesseract.js põe o motor de OCR Tesseract dentro do JavaScript, compilado para WebAssembly. Com ele, uma página web ou um script em Node.js lê o texto de uma imagem sem mandar o arquivo para uma API externa. O projeto reconhece mais de 100 idiomas.
Para que serve
- Ler o texto de fotos e capturas de tela no navegador do próprio usuário.
- Extrair dados de recibos e documentos digitalizados num backend Node.js.
- Adicionar busca por texto a um acervo de imagens escaneadas.
- Testar OCR num protótipo com uma tag de script carregada de CDN, sem build.
Como começar
No Node.js, a instalação é pelo npm (a versão 7 pede Node 16 ou mais novo):
npm install tesseract.jsNo navegador, o README mostra o carregamento por CDN com uma tag <script>, além de builds para webpack e ESM. O exemplo mínimo cria um worker, reconhece uma imagem em inglês e imprime o texto:
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();
})();O README admite duas limitações: a biblioteca não abre PDF e não altera o modelo de reconhecimento do Tesseract para ganhar precisão. Para essas duas necessidades, os autores indicam o Scribe.js.
Licença e custo
Com a Apache 2.0, o Tesseract.js entra em software aberto ou fechado, alterado ou como veio. Em troca, o pacote redistribuído leva a licença e os avisos originais, e os arquivos alterados ficam identificados. O uso é gratuito, e o projeto aceita doações pelo OpenCollective.
Quando vale a pena
O ponto forte é a privacidade: num app web, o OCR roda no aparelho de quem usa, e a imagem não sai dali. Quem trabalha com PDFs escaneados vai precisar converter as páginas em imagem antes, ou escolher o OCRmyPDF, que trata o PDF direto. Se a saída precisa vir em Markdown ou JSON, o PaddleOCR atende, fora do JavaScript. Para saber o que esperar da tecnologia, leia OCR: o que é e como transformar PDF e imagem em texto.