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

# Supported Files & Limits

> Review supported file types, input requirements, processing limits, and concurrency limits for xParse.

## Supported file types

Both Parse and Extract support the following file types.

| File type      | Supported extensions                              |
| -------------- | ------------------------------------------------- |
| PDF            | `.pdf`                                            |
| Images         | `.png`, `.jpg`, `.jpeg`, `.webp`, `.bmp`, `.tiff` |
| Word           | `.doc`, `.docx`                                   |
| Excel          | `.xls`, `.xlsx`, `.csv`                           |
| PowerPoint     | `.ppt`, `.pptx`                                   |
| HTML           | `.html`, `.mhtml`                                 |
| Text documents | `.txt`, `.rtf`                                    |
| OFD            | `.ofd`                                            |

## Image requirements

### Image dimensions

#### Parse

| Image aspect ratio | Allowed dimensions                                         |
| ------------------ | ---------------------------------------------------------- |
| Below 2            | Width and height must each be between 20 and 20,000 pixels |
| 2 or greater       | Width and height must each be between 20 and 10,000 pixels |

#### Extract

| Image aspect ratio | Allowed dimensions                                         |
| ------------------ | ---------------------------------------------------------- |
| Below 2            | Width and height must each be between 20 and 20,000 pixels |
| 2 or greater       | Width and height must each be between 20 and 10,000 pixels |

<Note>
  Aspect ratio is calculated by dividing the longer side of the image by the shorter side.
</Note>

## PDF requirements

### Digital PDFs

When embedded text is available, xParse can extract it directly instead of applying OCR to the file.

Digital PDFs generally provide:

* Faster processing
* More reliable text extraction

The quality of tables and layouts may still vary depending on how the PDF was generated.

### Scanned PDFs

OCR is applied automatically to image-based or scanned pages.

Use optional parameters only when they match the document:

* Enable `crop_dewarp` for rotated, curved, or skewed pages.
* Enable `remove_watermark` when visible watermarks interfere with text recognition.
* Use `parse_mode: "scan"` only when embedded text is unavailable or unreliable and you want OCR to process every page.

### Password-protected PDFs

Password-protected PDFs are supported.

Pass the document password using the `password` parameter. See [Parse Configuration](/xparse/parse/configuration) for details.

## Office documents

Office files are converted or normalized before parsing. This may add processing time compared with a PDF or image of similar size.

| File type  | Processing behavior                                                                                                                                                                                                  |
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Word       | The document is converted before parsing. Most text, images, and layout information are preserved when possible.                                                                                                     |
| Excel      | Only worksheets with fewer than 2,000 rows are supported. Each worksheet is processed separately. Tables retain row, column, and cell information when table structure is enabled. Formulas may be returned as text. |
| PowerPoint | Each slide is processed as a separate page. Text and images are included in the output.                                                                                                                              |

Complex Office files with many embedded objects, external links, macros, or unsupported elements may take longer to process or the request may fail.

If the request fails:

1. Remove unnecessary embedded objects.
2. Save the file in a newer Office format.
3. Export the document as PDF.
4. Split the document into smaller files.

## Processing limits

Processing limits vary by account type, processing mode, and API type.

* **Page and file size limits** determine whether a document can be submitted through the synchronous or asynchronous API.
* **Concurrency limits** determine how many Parse or Extract jobs can run at the same time.
* **Processing time limit** is the maximum amount of time allowed for a single request or job.

| Limit                                       |   Free |   Paid | Enterprise |
| ------------------------------------------- | -----: | -----: | ---------: |
| Maximum pages per synchronous request       |    100 |    500 |        500 |
| Maximum pages per asynchronous job          |    100 |  2,000 |      5,000 |
| Parse: maximum file size per request or job | 100 MB | 500 MB |     500 MB |
| Extract: maximum file size per request      |  50 MB |  50 MB |      50 MB |
| Parse concurrency                           |      1 |      5 |        10+ |
| Extract concurrency                         |      1 |      2 |          5 |

All synchronous requests and asynchronous jobs have a maximum processing time of **10 minutes**.

### How the limits are applied

* **Maximum pages** is the number of pages allowed in a single synchronous request or asynchronous job.
* **Maximum file size** is the size of the uploaded file before processing. Parse and Extract can use different limits.
* **Concurrency** is the maximum number of jobs that can be processed at the same time.
* Requests submitted after the concurrency limit is reached may be queued or rejected, depending on the endpoint and account configuration.
* Enterprise Parse concurrency can be increased beyond 10 based on workload requirements and the service agreement.

### When a document exceeds a limit

If a document exceeds the page or file size limit:

1. Use the `page_range` parameter to process selected page ranges separately.
2. Use the asynchronous API when the document exceeds the synchronous page limit.
3. Split the document into smaller files when it exceeds the asynchronous page limit or the file size limit for the current endpoint.
4. Upgrade your plan or contact TextIn support if you need higher page or concurrency limits.

### Choose between synchronous and asynchronous processing

Use the synchronous API when:

* The document is within the synchronous page and file size limits.
* You need the result returned in the same request.

Use the asynchronous API when:

* The document exceeds the synchronous page limit.
* You are processing large or complex documents.
* You are submitting multiple documents in batches.
* You want to retrieve the result later through polling or a webhook.

<Note>
  The asynchronous API supports more pages per job, but it does not increase the file size limit or the 10-minute processing time limit for the current endpoint.
</Note>

## Related resources

* [Authentication](/xparse/authentication)
* [Parse Quickstart](/xparse/parse/quickstart)
* [Extract Quickstart](/xparse/extract/quickstart)
* [Parse Configuration](/xparse/parse/configuration)
* [Async Processing](/xparse/parse/async-processing)
