Multithreaded Tesseract OCR
using IronOcr;

var ocrTesseract = new IronTesseract();

using var ocrInput = new OcrInput();
ocrInput.LoadPdf("scan.pdf");

// Image processing is automatically multi-threaded
ocrInput.Deskew();

// OCR reading is automatically multi-threaded too
var ocrResult = ocrTesseract.Read(ocrInput);
NuGet Download
PM > Install-Package IronOcr
Multithreaded Tesseract OCR

Multithreaded Tesseract OCR

All IronOCR image processing and OCR reading operations are multithreaded by default, so no special API is needed to get started. The legacy ReadMultithreaded method is no longer required.

IronTesseract will automatically attempt to use all threads available on all cores and will consider responsiveness on the main / GUI thread elegantly.

When you need to bound that parallelism, two properties on IronTesseract control it. MaxDegreeOfParallelism caps how many pages are OCR'd concurrently within a single Read call - each concurrent page runs its own native Tesseract engine, so lowering the value lowers peak memory. Setting MultiThreaded to false reads pages sequentially for the lowest and most predictable memory footprint, and takes precedence over MaxDegreeOfParallelism.

Learn Async OCR Techniques with IronOCR!
View on GitHub

Ready to Get Started?

Nuget Downloads 6,337,990Version:2026.10just released