---
title: "Aspose.Words for MarkItDown plugin"
---

```
*Purpose Summary. What is this page about?*

This page describes the Aspose.Words for MarkItDown plugin, including its features, installation steps, usage via CLI and Python API, licensing requirements, and how to run its tests.
```

**Aspose.Words for MarkItDown** is a free plugin for [MarkItDown](https://github.com/microsoft/markitdown) based on [Aspose.Words for Python via .Net](https://products.aspose.com/words/python-net/) commercial library.
The plugin is designed for parsing multiple document formats and converting them into Markdown suitable for AI processing.
The project is located in the [GitHub repository](https://github.com/aspose-words/Aspose.Words-for-MarkItDown).

## Features

Aspose.Words for MarkItDown supports the following features:

- Parsing new `.doc`, `.rtf`, `.odt`, `.mhtml`, `.mobi` and `.azw3` formats
- Improved conversion of `.docx`, `.pdf`, `.html`, `.epub` and `.txt` documents
- Support all document components, including paragraphs, tables, images, headers, and footers
- Fully integrated with MarkItDown tool. You don't need to change your code to use the Aspose.Words plugin

## Requirements

- [MarkItDown](https://github.com/microsoft/markitdown) version 0.1.0 or higher
- [Aspose.Words for Python via .Net](https://products.aspose.com/words/python-net/). This library is a [commercial product](https://purchase.aspose.com/buy/words/python)

You'll need to obtain valid license for Aspose.Words. The package will install this dependency, but you're responsible for complying with Aspose's licensing terms.

## How to Install Aspose.Words for MarkItDown

To install Aspose.Words for MarkItDown via pip, run the following:

```bash
pip install aspose-words-markitdown
```

## How to Use Aspose.Words for MarkItDown

1. Make sure the plugin is installed correctly:
  - List MarkItDown plugins with the command: `markitdown --list-plugins`
  - Check the plugin is installed:
  ```
  Installed MarkItDown 3rd-party Plugins:
    * aspose_words_markitdown  (package: aspose_words_markitdown)
  ```

2. Use the original `markitdown` CLI in the common way. Just add the `--use-plugins` option to enable the plugin.

3. Convert a Single File:
  ```bash
  markitdown test.doc -o out.md --use-plugins
  ```

4. Use Python API:
  ```python
  from markitdown import MarkItDown

  md = MarkItDown(enable_plugins=True) # Set to True to enable the plugin
  result = md.convert("test.doc")
  print(result.text_content)
  ```

## Aspose.Words License

```

This package is licensed under the MIT License. However, it depends on Aspose.Words for Python via .Net library, which is proprietary, closed-source library.

You must obtain valid license for Aspose.Words for Python via .Net library. This repository does not include or distribute any proprietary components.

```

To activate your Aspose.Words for Python license, set the corresponding environment variable.

Refer to the OS-specific instructions below:

**Unix-based (Linux/macOS):**
```
export ASPOSE_WORDS_LICENSE_PATH="/path/to/license/aspose.words.lic"
```

**Windows-based:**
```
set ASPOSE_WORDS_LICENSE_PATH=c:\path\to\license\aspose.words.lic
```

**Python API:**
```python
from aspose_words_markitdown import LicenseManager

LicenseManager().apply_license("/path/to/license/aspose.words.lic")
```

## How to Run Tests

To run unit tests for **Aspose.Words for MarkItDown**, follow these steps:

1. Navigate to the package directory:
  From the root of the repository, change into the package directory:
  ```bash
  cd /packages/aspose-words-markitdown/tests
  ```

2. Install test dependencies:
  Make sure `pytest` is installed:
  ```bash
  pip install pytest
  ```

3. Run all the tests using `pytest`:
  ```bash
  pytest
  ```

------

## FAQ

1. **Q:** Can a **Aspose.Total.NET** license be used with the Aspose.Words for Python via .Net library?
   **A:** No. A license file that is issued for the .NET version of Aspose.Total (e.g., `Aspose.Total.NET.lic`) is not valid for the Python‑via‑.Net wrapper. You must obtain a license specifically for **Aspose.Words for Python via .Net** (e.g., `aspose.words.lic`). Using a .NET‑only license will result in a "license is not valid for this product" error.

2. **Q:** How do I apply the Aspose.Words license when using the MarkItDown plugin in Python?
   **A:** Set the environment variable `ASPOSE_WORDS_LICENSE_PATH` to the full path of your `aspose.words.lic` file, or call the helper class provided by the plugin:

   ```python
   from aspose_words_markitdown import LicenseManager
   LicenseManager().apply_license("/full/path/to/aspose.words.lic")
   ```

   This must be done before any conversion operation is executed.

3. **Q:** Why do I receive the error **"RuntimeError: Proxy error(InvalidOperationException): The license is not valid for this product."**?
   **A:** This error occurs when the license file does not match the product you are using. Common causes are: using a .NET‑only license, using an expired or corrupted license file, or the license file not being found at the path specified by the environment variable. Verify that you are using a valid **Aspose.Words for Python via .Net** license and that the path is correct.

4. **Q:** Does the MarkItDown plugin require a separate license from the Aspose.Words library?
   **A:** No. The plugin itself is open‑source and distributed under the MIT license. It only depends on the commercial **Aspose.Words for Python via .Net** library, so you need a license only for that library, not for the plugin.

5. **Q:** How can I confirm that the plugin is correctly installed and recognized by MarkItDown?
   **A:** Run `markitdown --list-plugins`. The output should contain a line similar to:

   ```
   * aspose_words_markitdown  (package: aspose_words_markitdown)
   ```

   If the plugin appears in the list, it is installed correctly. You can also perform a quick conversion with `markitdown sample.doc -o out.md --use-plugins` and verify that the output file is generated without errors.