Saltar al contenido principal

Tesseract OCR — Motor de Reconocimiento Óptico de Caracteres de Código Abierto

Tesseract OCR es un motor basado en aprendizaje profundo diseñado para extraer texto de imágenes y archivos PDF. Utiliza esta documentación para dominar su instalación en Windows, Linux y macOS, configurar modos de IA e integrar el OCR en tus proyectos de software.

Nota: El núcleo de Tesseract es un programa de línea de comandos y una biblioteca de API en C++.
Demo Instantánea en Navegador: ¿No quieres instalar binarios locales ahora mismo? Prueba el reconocimiento de imágenes de forma 100% privada con nuestra Herramienta de OCR Web Online.

¿Qué es Tesseract?

Tesseract es un motor que convierte los píxeles de una imagen en datos de texto estructurados e indexables. Creado en Hewlett-Packard en 1985, actualmente es mantenido por la comunidad internacional y admite más de 100 idiomas de forma nativa mediante redes neuronales LSTM (Long Short-Term Memory).


Guías para desarrolladores

Además de esta referencia, publicamos guías completas y probadas para cada tarea de desarrollo con Tesseract:

Instalación

Al ser una librería en C++ altamente optimizada, la forma más sencilla de instalar Tesseract es a través del gestor de paquetes de tu sistema operativo.

macOS

Homebrew es el método recomendado oficialmente para macOS (chips Apple Silicon e Intel).

Terminal
brew install tesseract
brew install tesseract-lang

Ubuntu / Debian

Los repositorios oficiales de apt contienen versiones estables de Tesseract.

Terminal
sudo apt install tesseract-ocr
sudo apt install tesseract-ocr-spa tesseract-ocr-all

Windows

Los instaladores precompilados son proporcionados por el proyecto UB Mannheim. Gestores de paquetes como scoop o winget también soportan Tesseract de forma nativa.

PowerShell
scoop install tesseract
scoop install tesseract-languages

Inicio Rápido y Comandos CLI Básicos

Tesseract es fundamentalmente una herramienta de línea de comandos. Extraer texto requiere una sola línea.

Terminal
tesseract nombre_imagen base_salida [-l idioma] [-psm modoseg] [archivo_config...]

Ejemplo: Extraer Texto en Español

Para extraer texto de factura.png y guardarlo en resultado.txt:

Terminal
tesseract factura.png resultado -l spa
Nota: Omite la extensión .txt en el nombre de salida. Tesseract la añade automáticamente al generar texto estándar.

Modos de Segmentación de Página (PSM)

Los Modos de Segmentación de Página (PSM) determinan cómo Tesseract analiza la disposición visual de una imagen para ubicar bloques de texto. Por defecto, Tesseract espera una página completa de texto (PSM 3). Si la entrada es una sola palabra, una columna o texto disperso, debes indicar el modo adecuado con la bandera --psm.

Regla Práctica: Usa PSM 3 (Auto) para documentos generales, PSM 6 (Bloque único) para párrafos uniformes y PSM 7 (Línea única) para etiquetas o códigos de barra.
  • 0: Solo detección de orientación y escritura (OSD).
  • 1: Segmentación automática con OSD.
  • 3: Segmentación automática completa, sin OSD. *(Por defecto)*
  • 4: Asume una columna de texto con tamaños variables.
  • 6: Asume un único bloque uniforme de texto.
  • 7: Trata la imagen como una única línea de texto.
  • 11: Texto disperso. Encuentra todo el texto posible sin orden específico.
  • 13: Línea pura. Procesa como una línea individual omitiendo heurísticas internas.

Para forzar la lectura como una sola línea de texto:

Terminal
tesseract codigo_barra.png stdout --psm 7

Modos del Motor de OCR (OEM)

Los Modos del Motor (OEM) permiten alternar entre el motor clásico de coincidencia de patrones y la red neuronal moderna LSTM. Puedes cambiar entre modos con la bandera --oem para equilibrar velocidad y precisión.

Recomendación: OEM 1 (LSTM) es el valor por defecto en Tesseract 5 y ofrece la máxima precisión. OEM 0 (Clásico) solo se recomienda para tipografías históricas anteriores a los modelos neuronales.
  • 0: Solo motor clásico heredado. (Procesamiento tradicional por visión artificial).
  • 1: Solo motor neuronal LSTM. (Rápido, alta precisión en texto continuo).
  • 2: Motores clásico y LSTM combinados.
  • 3: Por defecto, según lo disponible en los modelos .traineddata.

Formatos de Salida

Además de extraer texto plano a consola o archivo .txt, Tesseract es un analizador de documentos capaz de emitir geometrías de diseño y PDFs interactivos.

PDFs con Texto Seleccionable y Búsqueda

Para convertir una imagen escaneada en un PDF indexable con texto invisible superpuesto con perfecta alineación:

Terminal
tesseract documento.tif salida_pdf pdf

PDF Solo de Texto Invisible

Útil para superponer texto sobre PDFs existentes dentro de un flujo automatizado:

Terminal
tesseract escaneo.png salida textonly_pdf

hOCR / TSV / ALTO

Para obtener datos detallados de coordenadas en píxeles de cada palabra y sus niveles de confianza:

Terminal
tesseract imagen.png salida hocr
tesseract imagen.png salida tsv

→ Guía completa de PDF con Tesseract OCR — PDFs con búsqueda, OCRmyPDF, Python y solución de problemas.


Librerías y Wrappers de Programación

¿Deseas integrar Tesseract en una aplicación web o microservicio? La comunidad de código abierto ha desarrollado librerías para prácticamente cualquier lenguaje.

Python (pytesseract)

Instala el motor y luego pip install pytesseract pillow. La guía completa cubre image_to_string, preprocesado de imágenes, PDF, confianza, configuración PSM/OEM y solución de problemas.

→ Guía completa de Tesseract OCR en Python

Node.js JavaScript (tesseract.js)

Usa tesseract.js en el navegador o Node mediante WebAssembly. Reconoce imágenes y no admite PDF. Consulta la referencia de bibliotecas para ver todos los wrappers y sus compromisos.

→ Bibliotecas y wrappers de Tesseract OCR


Entrenamiento de Modelos OCR Personalizados

Tesseract 5 ajusta y entrena modelos LSTM con el proyecto tesstrain. El entrenamiento no está disponible en los instaladores binarios: necesitas compilar desde el código fuente (o WSL2), además de make, la generación de ground truth y el repositorio tesstrain.

→ Guía completa de entrenamiento de Tesseract (tesstrain, ajuste fino, despliegue)


Herramientas y Motores Relacionados

Aunque Tesseract es el estándar abierto indiscutible, los flujos modernos de procesamiento documental suelen combinarse con librerías complementarias:

  • PaddleOCR: Motor de OCR con deep learning avanzado (PP-OCR) con excelente soporte para reconocimiento de tablas y texto curvado. (guía)
  • Docling: Analizador de documentos para IA generativa y RAG que convierte PDFs, imágenes y documentos Office en Markdown y JSON limpios. (guía)
  • Python Pillow: Librería fundamental para preprocesamiento de imagen (ajuste de contraste, umbralización y recorte) antes del OCR.

Fin de la Documentación Principal de Tesseract.

Aviso Legal: TesseractOCR.org es un proyecto de documentación independiente impulsado por la comunidad y no está afiliado, respaldado ni conectado formalmente con el proyecto oficial Tesseract OCR ni sus mantenedores.