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

# Intro to PdfItDown

> Welcome to our documentation!

<img className="block dark:hidden" src="https://mintcdn.com/pdfitdown/w3yi5NS3iv4FYScL/images/hero-light.svg?fit=max&auto=format&n=w3yi5NS3iv4FYScL&q=85&s=f580bfab15f5566891c26bb9d3a7086b" alt="Hero Light" width="500" height="500" data-path="images/hero-light.svg" />

<img className="hidden dark:block" src="https://mintcdn.com/pdfitdown/w3yi5NS3iv4FYScL/images/hero-dark.svg?fit=max&auto=format&n=w3yi5NS3iv4FYScL&q=85&s=bb22c4adf796d32bbe4e6af1c1619395" alt="Hero Dark" width="500" height="500" data-path="images/hero-dark.svg" />

## What is PdfItDown?

**PdfItDown** is a python package that relies on [`LiteParse` by LlamaIndex](https://github.com/run-llama/liteparse) (or [`Markitdown` by Microsoft](https://github.com/microsoft/markitdown), optionally), [`markdown_pdf`](https://github.com/vb64/markdown-pdf) and [`img2pdf`](https://pypi.org/project/img2pdf/) to carry out the conversion of text-based files, images and unstructured documents to PDF. **PdfItDown** is applicable to the following file formats:

* Markdown
* PowerPoint
* Word
* Excel
* HTML
* Text-based formats (CSV, XML, JSON)
* ZIP files (iterates over contents)
* Image files (PNG, JPG)

## Setting up

To set uo PdfItDown, it is good practice to create an isolated development environment

<CodeGroup>
  ```bash uv (recommended) theme={null}
  # you can use all python versions above 3.10 and below 3.14
  uv venv -p 3.13
  uv add pdfitdown # default, LiteParse
  uv add pdfitdown[markitdown] # Markitdown
  ```

  ```bash venv theme={null}
  python3 -m venv .venv
  source .venv/bin/activate
  pip install pdfitdown # default, LiteParse
  pip install pdfitdown[markitdown] # Markitdown
  ```
</CodeGroup>

## Choose how to use it

Once you have PdfItDown set up, you can choose how to use it:

<CardGroup cols={3}>
  <Card title="In Python Scripts" icon="code" href="/python-ref">
    Adapt PdfItDown to your pipelines by coding it yourself!
  </Card>

  <Card title="In the CLI" icon="terminal" href="/cli">
    If you're a terminal lover, this is perfect for you :)
  </Card>

  <Card title="As an API endpoint" icon="server" href="/python-ref#level-3:-deploy">
    Deploy PdfItDown as an API endpoint in your Starlette-compatible backend server.
  </Card>
</CardGroup>
