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

> ## Agent Instructions
> Conare's API is at https://api.conare.ai. Authenticate with `Authorization: Bearer $CONARE_API_KEY`.
> The full OpenAPI spec is at https://api.conare.ai/openapi.yaml; each endpoint has a page under /api-reference, and appending .md to any page URL returns its Markdown.
> Embed with model conare-embed-1; send input_type "query" for search queries. Rerank with conare-rerank-1.
> Prefer the TypeScript SDK (`npm install conare`) or plain HTTP in examples.
> Install the Conare skill with `npx skills add https://docs.conare.ai`; search these docs over MCP at https://docs.conare.ai/mcp; the whole site is at https://docs.conare.ai/llms-full.txt.

# File types and Markdown

> The file formats Conare reads, how each becomes Markdown, and how pictures and layout are read.

These apply to both [file routes](https://docs.conare.ai/files.md): uploads and `POST /parse`.

## File types

| File | Extensions | `type` |
| - | - | - |
| PDF | `.pdf` | `pdf` |
| Word | `.docx`, `.docm`, `.dotx`, `.doc` (97-2003), `.rtf`, `.odt` | `docx`, `doc`, `rtf`, `odt` |
| PowerPoint | `.pptx`, `.pptm`, `.potx`, `.ppsx`, `.ppt` (97-2003), `.odp` | `pptx`, `ppt`, `odp` |
| Excel | `.xlsx`, `.xlsm`, `.xls` (97-2003 and 5.0/95), `.ods`; macros never run | `xlsx`, `ods` (`xls`, `xlsm` work too) |
| CSV, TSV | `.csv`, `.tsv` | `csv`, `tsv` |
| Text, Markdown | `.txt`, `.md` | `txt`, `md` |
| Images | `.png`, `.jpg`, `.webp`, `.tif` (every page), `.gif` (first frame), `.bmp`, `.heic`, `.heif` | `png`, `jpeg`, `webp`, `tiff`, `gif`, `bmp`, `heic` (`jpg`, `tif`, `heif` work too) |

| How it's read | |
| - | - |
| PDF pages | Every page with something on it is read by OCR, born-digital ones too, so tables, headings and reading order are kept |
| A page OCR skips | Keeps its own text layer |
| `.doc`, `.rtf`, `.odt` | Read as Word (`docx`); `.ppt`, `.odp` as PowerPoint (`pptx`); `.xls`, `.ods` as Excel (`xlsx`) |
| `.ppt` tables | Read as their cells' text, one per line |
| Charts | Their title, axis titles and a table of their values |

Refused with `415 unsupported_file`:

| File | Save it as |
| - | - |
| Word 6.0/95 | `.docx` |
| AVIF images | JPEG or PNG |

## Markdown

| Element | Written as |
| - | - |
| Page, slide, sheet | Starts with `<!-- page 3 -->`, `<!-- slide 4 -->` or `<!-- sheet "Q3" -->` |
| Headings, lists | `#` and `##`; `-` and `1.` |
| Tables | Markdown with a header row; an HTML `<table>` with `colspan` and `rowspan` when cells merge or it's over 30 columns or 300 rows |
| Numbers | Exactly as printed |
| Running header and footer | `<!-- header: ... -->` and `<!-- footer: ... -->`; page numbers are left out |
| Footnotes | At the end of their page |
| Text boxes, sidebars | In reading order |
| Checkboxes, form fields | ☑ and ☐; `key: value` lines |

## Layout blocks

With `layout=true`, each part OCR read carries `blocks`, the regions of its page.

| Field | Meaning |
| - | - |
| `type` | `title`, `text`, `list`, `table`, `image`, `header`, `footer`, `page_number`, ... |
| `bbox` | `[x0, y0, x1, y1]` as shares of the page from its top left |
| `order` | Reading order |
| `content` | The block's text |
| `conf` | OCR's certainty |

## Pictures in Word and PowerPoint

Every picture is read by OCR, whatever its size on the page; on upload each is a part of the file's document ([locations](https://docs.conare.ai/files.md#stored-documents)).

* Skipped as icons or decorations: under 64 pixels on both sides, under 16 pixels on the shorter side, or shown under half an inch on both sides.
* A picture used again on a later slide is read once, where it first appears.

Each picture that gave no text is in `without_text.images` with its `reason`:

| `reason` | Meaning |
| - | - |
| `too_small` | An icon or decoration, with its `width` and `height` in pixels |
| `not_raster` | A vector picture (EMF, WMF, SVG), which isn't read |
| `unreadable` | The picture is damaged |
| `not_read` | OCR couldn't read it in time |
| `no_text` | OCR found no text |

## Not supported yet

* Extraction to a JSON schema.
* Chunking options on `POST /parse`: it returns parts and the whole file.


## Related topics

- [Parse a file to Markdown](https://docs.conare.ai/api-reference/parse/parse-a-file-to-markdown.md)
- [Files](https://docs.conare.ai/files.md)
- [Upload a file](https://docs.conare.ai/api-reference/files/upload-a-file.md)
- [TypeScript SDK](https://docs.conare.ai/sdk.md)
- [Read a file](https://docs.conare.ai/api-reference/files/read-a-file.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.