> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# FineReader Engine

FineParser is built on ABBYY FineReader Engine, the OCR and document analysis SDK that ABBYY has shipped to software vendors and integrators for more than two decades. The same engine recognizes the text, detects the tables, and works out the reading order in every document you send to `/parse`. What FineParser adds is the packaging: a Docker container, a REST endpoint, a fixed set of well-tested engine settings, and output formats chosen for LLM pipelines. This page is for readers who want to know what sits underneath, and when it makes sense to go one level down and work with the engine directly.

## How the two products relate

FineParser makes a small number of decisions for you so that you never have to open an SDK. It exposes two [recognition modes](/fine-parser/basics/recognition-modes), three [output formats](/fine-parser/basics/output-formats), and a language setting, and it holds everything else constant. Those defaults come from the engine's own recommended configurations for structured data extraction and for fast text extraction, so the results you get from FineParser are the results FineReader Engine produces when it is set up the way ABBYY recommends for those tasks.

FineReader Engine itself is a library that you link into your own application. It runs on Windows, Linux, and macOS, and it is called from C++, C#, .NET, Java, and COM-compatible scripting languages. Because it is a library rather than a service, nothing about the processing pipeline is fixed. Every stage, from image preprocessing through layout analysis, recognition, and export, is exposed as objects and properties that your code can read and change.

## When FineParser is enough

Most teams building RAG pipelines, agent tools, or document ingestion services do not need anything beyond FineParser. If your goal is to turn PDFs and images into DocLang, JSON, or plain text with good structure recovery, and you want to do that with a container and an HTTP call rather than a compiled dependency, FineParser is the right tool and you can stop reading here.

## When to consider FineReader Engine

FineReader Engine is the right choice when the shape of the problem no longer fits a single endpoint with a handful of parameters. That usually means one of the following.

* **You are shipping recognition inside your own product.** FineReader Engine is licensed for embedding in commercial software, and it runs in-process, so there is no container to deploy alongside your application and no HTTP round trip per document.
* **You need output formats FineParser does not produce.** The engine exports to searchable PDF and PDF/A, DOCX, XLSX, PPTX, HTML, ALTO, ABBYY XML, EPUB, and more, in addition to DocLang, JSON, and plain text. See [Export Formats](/fine-reader/engine/specifications/export-formats).
* **You need recognition features outside FineParser's scope.** These include 1D and 2D barcode recognition, machine-readable zone capture for passports and ID cards, handwriting field recognition (ICR) for forms, checkmark recognition (OMR), business card parsing, document classification, and document comparison. The [basic usage scenarios](/fine-reader/engine/guided-tour/basic-usage-scenarios-implementation) in the engine documentation walk through each of these.
* **You need to tune the pipeline for your documents.** FineParser's modes are fixed. With the engine you can start from a [predefined profile](/fine-reader/engine/guided-tour/advanced-techniques/working-with-profiles) and then adjust individual parameters for [preprocessing, analysis, recognition, and synthesis](/fine-reader/engine/guided-tour/advanced-techniques/tuning-parameters-of-preprocessing-analysis-recognition-and-synthesis), which matters when you are working with unusual layouts, degraded scans, or a narrow document type where the defaults leave accuracy on the table.
* **You need control over the processing model.** The engine gives you [parallel processing](/fine-reader/engine/guided-tour/advanced-techniques/parallel-processing) primitives, page-by-page iteration, region-level recognition, and the ability to inspect and edit the recognized layout before export. FineParser processes a whole document and returns the result.

If what you want is FineParser's simplicity with engine-level tuning, look at [FineParser Enterprise](/fine-parser/reference/enterprise) before committing to an SDK integration. Enterprise keeps the container and the REST API but opens up the engine's processing settings, so you can adjust recognition for your documents without writing against the engine API.

## Licensing

FineReader Engine is licensed separately from FineParser. A FineParser plan does not include a FineReader Engine developer or runtime license, and the two are not interchangeable. The engine is sold through ABBYY sales and partners, with licensing options that include per-page, per-core, and online models. See [Licensing](/fine-reader/engine/licensing) in the engine documentation for how those work, or [contact ABBYY](https://www.abbyy.com/company/contact-us/) to talk through your use case.

## Learn more

<CardGroup cols={2}>
  <Card title="Introducing FineReader Engine 12" icon="book-open" href="/fine-reader/engine/introduction">
    What the engine does, its key features, and how the documentation is organized.
  </Card>

  <Card title="Basic usage scenarios" icon="map" href="/fine-reader/engine/guided-tour/basic-usage-scenarios-implementation">
    Step-by-step implementations of data extraction, text extraction, conversion, archiving, and more.
  </Card>

  <Card title="Working with profiles" icon="sliders" href="/fine-reader/engine/guided-tour/advanced-techniques/working-with-profiles">
    Predefined profiles and how to build your own configuration.
  </Card>

  <Card title="API reference" icon="code" href="/fine-reader/engine/api-reference">
    Every object, interface, method, and enumeration in the engine.
  </Card>
</CardGroup>
