# Supported file types
Source: https://docs.file.ai/ingest/supported-files

> Every file format fileAI accepts for upload, the size limits, and how to prepare files for the best results.

fileScout

# Supported file types

Copy pageCopy page

Every file format fileAI accepts for upload, the size limits, and how to prepare files for the best results.

Copy pageCopy page

fileAI accepts documents, images, spreadsheets, presentations, plain text, audio and ZIP archives. Send any file in the list below through an [upload](/ingest/uploads) and fileAI processes it; anything else stops with an unsupported file type error. This page is about file formats and their **MIME types** (the `fileType` upload field), not fileAI file types such as Invoice. See [Concepts](/concepts).

## 

[​

](#accepted-types)

Accepted types

Kind

Extensions

MIME types

Documents

`.pdf`, `.doc`, `.docx`

`application/pdf`, `application/msword`, `application/vnd.openxmlformats-officedocument.wordprocessingml.document`

Images

`.jpg`, `.jpeg`, `.png`, `.tif`, `.tiff`, `.heic`, `.heif`, `.webp`, `.svg`

`image/jpeg`, `image/png`, `image/tiff`, `image/heic`, `image/heif`, `image/webp`, `image/svg+xml`

Spreadsheets

`.xls`, `.xlsx`, `.csv`

`application/vnd.ms-excel`, `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`, `text/csv`

Presentations

`.ppt`, `.pptx`, `.odp`

`application/vnd.ms-powerpoint`, `application/vnd.openxmlformats-officedocument.presentationml.presentation`, `application/vnd.oasis.opendocument.presentation`

Audio

`.mp3`, `.wav`, `.m4a`, `.aac`, `.xwav`

`audio/mpeg`, `audio/wav`, `audio/mp4`, `audio/x-m4a`, `audio/aac`, `audio/x-wav`

Text

`.txt`

`text/plain`

Archives

`.zip`

`application/zip`, `application/x-zip-compressed`, `multipart/x-zip`, `application/x-compressed`

GIF images and macro-enabled Excel files (`.xlsm`) are **not** accepted. Convert GIFs to PNG and save `.xlsm` workbooks as `.xlsx` before uploading.

## 

[​

](#how-fileai-checks-the-type)

How fileAI checks the type

You pass `fileType` (the MIME type) when you request an upload URL. After the file lands in storage, fileAI checks its content type against the list above. If the stored type is not on the list, fileAI inspects the file’s bytes and uses the detected type when that is supported. A file that still does not match stops with an unsupported file type status, and its other processing steps do not run. Inside a [ZIP upload](/ingest/uploads#zip-uploads), each extracted file is checked the same way. Unsupported files are reported one by one in `GET /v1/uploads/{uploadId}`, and the rest of the archive still processes.

## 

[​

](#size-limits)

Size limits

Route

Limit

`POST /v1/extract`, `POST /v1/split`, `POST /v1/classify`

50 MB per file.

Presigned and multipart uploads

Set per instance. A file over the limit is marked as exceeding the maximum file size and is not processed. Use [multipart upload](/ingest/uploads#multipart-uploads-for-large-files) for large files.

## 

[​

](#prepare-your-files)

Prepare your files

How a file is prepared affects what fileAI can read from it.

File

For best results

**PDF**

Digitally generated PDFs (not scanned) with a clear layout and selectable text and tables give the most reliable results.

**Spreadsheets**

One sheet with a header row and consistent columns reads best. To process each worksheet as its own document, send `isSplitExcel: true` on upload.

**Word and text**

Paragraph-based content is supported. Clear headings and sections help fileAI understand the structure.

**Images and scans**

Suited to scanned documents and forms. Use a clear resolution with readable text.

If a field still comes back wrong or empty from a well-prepared file, improve its description. See [Extraction prompts](/extract/extraction-prompts).

## 

[​

](#related)

Related

## Uploads

Single, batch, multipart and ZIP uploads.

## AI OCR models

Pick the model that reads your files.

[Previous](/ingest/uploads)[

Read text

Choose the AI OCR model that reads your files, and read back the text it found on each page.

Next

](/ingest/ocr-models)

⌘I

## On this page

*   [Accepted types](#accepted-types)
*   [How fileAI checks the type](#how-fileai-checks-the-type)
*   [Size limits](#size-limits)
*   [Prepare your files](#prepare-your-files)
*   [Related](#related)
