Tesseract OCR — Motor de Reconhecimento Óptico de Caracteres Open Source
O Tesseract OCR é um motor baseado em deep learning projetado para extrair texto de imagens e arquivos PDF. Utilize esta documentação técnica para dominar a instalação no Windows, Linux e macOS, configurar os modos neurais e integrar o OCR em seus softwares e pipelines de dados.
O que é o Tesseract?
O Tesseract é um motor que converte pixels brutos em dados de texto estruturados e pesquisáveis. Nascido nos laboratórios da Hewlett-Packard em 1985, atualmente é mantido pela comunidade global de código aberto e oferece suporte nativo a mais de 100 idiomas através de redes neurais LSTM (Long Short-Term Memory).
Guias para desenvolvedores
Além desta referência, publicamos guias completos e testados para cada tarefa de desenvolvimento com o Tesseract:
- Guia de instalação — Windows, macOS, Linux, Docker e tessdata.
- Guia de Python (pytesseract) — de imagem para texto, PDFs, confiança e PSM/OEM.
- Bibliotecas e wrappers — Python, JS, C++, Java, Go e .NET.
- Guia de PDF — OCR de PDF, PDFs pesquisáveis, OCRmyPDF e Python.
- Guia de treinamento — tesstrain, ground truth e ajuste fino.
- Guia de API e serviços — REST auto-hospedado com FastAPI e Docker.
Instalação
Por ser uma biblioteca em C++ otimizada, a maneira mais simples de instalar o Tesseract é utilizando o gerenciador de pacotes do seu sistema operacional.
macOS
O Homebrew é o método oficialmente recomendado para macOS (chips Apple Silicon e Intel).
brew install tesseract
brew install tesseract-lang
Ubuntu / Debian
Os repositórios oficiais apt contêm versões estáveis do Tesseract.
sudo apt install tesseract-ocr
sudo apt install tesseract-ocr-por tesseract-ocr-all
Windows
Instaladores pré-compilados são disponibilizados pelo projeto UB Mannheim. Gerenciadores como scoop ou winget também suportam o Tesseract nativamente.
scoop install tesseract
scoop install tesseract-languages
Início Rápido e Comandos CLI Básicos
O Tesseract opera primariamente por linha de comando. Extrair texto de uma imagem requer apenas uma linha.
tesseract nome_imagem base_saida [-l idioma] [-psm modoseg] [arquivo_config...]
Exemplo: Extrair Texto em Português
Para extrair texto de fatura.png e salvá-lo em resultado.txt:
tesseract fatura.png resultado -l por
.txt no nome de saída. O Tesseract a adiciona automaticamente ao salvar texto comum.
Modos de Segmentação de Página (PSM)
Os Modos de Segmentação de Página (PSM) definem como o Tesseract divide o layout visual da imagem para encontrar blocos de texto. Por padrão, o Tesseract espera uma página completa (PSM 3). Se a sua entrada for uma única linha, texto esparso ou uma coluna, use a flag --psm correspondente.
- 0: Apenas detecção de orientação e escrita (OSD).
- 1: Segmentação automática com OSD.
- 3: Segmentação automática completa, sem OSD. *(Padrão)*
- 4: Assume uma coluna única de texto com tamanhos variáveis.
- 6: Assume um único bloco uniforme de texto.
- 7: Trata a imagem como uma única linha de texto.
- 11: Texto esparso. Localiza o máximo de texto possível sem ordem fixa.
- 13: Linha pura. Processa como linha única ignorando heurísticas internas.
Para forçar o processamento como linha individual:
tesseract codigo_barras.png stdout --psm 7
Modos do Motor de OCR (OEM)
Os Modos do Motor (OEM) permitem alternar entre o algoritmo legado de correspondência de padrões e a moderna rede neural LSTM. Você pode alternar os modos através da flag --oem para calibrar velocidade e precisão.
- 0: Apenas motor clássico legado. (Visão computacional tradicional).
- 1: Apenas motor de rede neural LSTM. (Rápido e de altíssima precisão).
- 2: Motores legado e LSTM combinados.
- 3: Padrão, de acordo com o modelo
.traineddatacarregado.
Formatos de Saída
Além de emitir texto simples no terminal ou em arquivos .txt, o Tesseract é um analisador de documentos completo capaz de gerar PDFs pesquisáveis e geometrias de layout.
PDFs com Texto Pesquisável
Para converter uma imagem digitalizada em um arquivo PDF pesquisável com texto invisível perfeitamente alinhado:
tesseract documento.tif saida_pdf pdf
PDF Apenas de Texto Invisível
Útil para sobrepor texto a PDFs já existentes em um pipeline de automação:
tesseract digitalizacao.png saida textonly_pdf
hOCR / TSV / ALTO
Para obter coordenadas exatas em pixels de cada palavra e seus respectivos níveis de confiança:
tesseract imagem.png saida hocr
tesseract imagem.png saida tsv
→ Guia completo de PDF com Tesseract OCR — PDFs pesquisáveis, OCRmyPDF, Python e solução de problemas.
Bibliotecas e Wrappers de Programação
Deseja integrar o Tesseract em um aplicativo web, script ou microsserviço? A comunidade desenvolveu bibliotecas para quase todas as linguagens modernas.
Python (pytesseract)
Instale o motor e depois pip install pytesseract pillow. O guia completo cobre image_to_string, pré-processamento, PDF, confiança, configuração PSM/OEM e solução de problemas.
→ Guia completo do Tesseract OCR em Python
Node.js JavaScript (tesseract.js)
Use o tesseract.js no navegador ou Node via WebAssembly. Ele reconhece imagens e não suporta PDF. Veja a referência de bibliotecas para todos os wrappers e trade-offs.
Treinamento de Modelos OCR Customizados
O Tesseract 5 ajusta e treina modelos LSTM com o projeto tesstrain. O treinamento não está disponível nos instaladores binários: você precisa compilar a partir do código-fonte (ou WSL2), além de make, geração de ground truth e o repositório tesstrain.
→ Guia completo de treinamento do Tesseract (tesstrain, ajuste fino, implantação)
Ferramentas e Motores Relacionados
Embora o Tesseract seja a referência de código aberto consolidada, soluções modernas costumam combiná-lo com bibliotecas complementares:
- PaddleOCR: Motor baseado em deep learning avançado (PP-OCR) com excelente capacidade de reconhecimento de tabelas e texto curvilíneo. (guia)
- Docling: Analisador de documentos para IA generativa e RAG que converte PDFs, imagens e arquivos do Office em Markdown e JSON estruturados. (guia)
- Python Pillow: Biblioteca padrão para tratamento e pré-processamento de imagens (ajuste de brilho, limiarização e corte) antes do OCR.
Fim da Documentação Principal do Tesseract.
Aviso Legal: TesseractOCR.org é um projeto de documentação independente criado pela comunidade e não é afiliado, endossado ou conectado formalmente com o projeto oficial Tesseract OCR nem seus mantenedores.