Huashu Design
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…

Microsoft’s free, open source Python tool that converts PDF, Word, Excel, PowerPoint and other files to Markdown for LLMs. The setup notes cover the command line, the Python API, the MCP server, Docker and the Azure options.
MarkItDown is an open-source project on GitHub in the Developer category, listed by Mindket. It is free. This is version 2, last updated on . Install it from GitHub as its README says. Get Mindket’s setup notes on your Mindket account, as a zip.
python -m venv .venv source .venv/bin/activate pip install 'markitdown[all]'
MarkItDown is a lightweight Python utility from Microsoft that converts files to Markdown for LLMs and text analysis pipelines. Its README says it tries to keep the structure that matters, including headings, lists, tables and links. The output is meant for text analysis tools. The README warns it may not be the best option when a person needs a high-fidelity copy. You run it as a command, from Python, or as an MCP server that an agent calls.
Developers who feed documents to an LLM or a search index, and anyone who wants the text of Office files without writing a parser for each format. Skip it if you need a faithful copy for people to read.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| AI and data teams | Developers who build LLM pipelines | Convert reports and decks to Markdown before indexing or prompting | A developer converts a folder of Word files and slide decks, then indexes the text for search. |
| Analysis and research | Analysts who work from spreadsheets and PDFs | Turn a workbook or a PDF into Markdown text and tables for an LLM | An analyst converts a workbook and asks an LLM questions about its tables. |
| Media and content | Teams with audio, images and video links | Pull text out of images, audio files and YouTube URLs | A producer converts a YouTube link to text, then searches what the speaker said. |
| Agent builders | Developers who give an agent file access | Run markitdown-mcp so the agent can call convert_to_markdown | A developer adds the server to Claude Desktop and asks it to read a PDF from a mounted folder. |
The maker documents these routes, and the kit has a page for each.
The README lists PDF, PowerPoint, Word, Excel, images, audio, HTML, CSV, JSON, XML, ZIP files, YouTube URLs and EPubs as inputs, and adds “and more”.
Get it saves a zip of Mindket’s setup notes in your downloads folder, with a page for each route above. The main route is pip, inside a virtual environment.
| Need | Detail |
|---|---|
| Python | 3.10 through 3.14. The README recommends a virtual environment made with venv, uv or conda |
| Optional extras | [all] installs every format. You can pick instead, for example [pdf, docx, pptx] |
| An LLM client | Only for image descriptions and the OCR plugin: an OpenAI-compatible client and a model that reads images |
| An Azure resource | Only for Document Intelligence or Content Understanding: its endpoint. Document Intelligence uses AZURE_API_KEY when it is set and DefaultAzureCredential otherwise. The README names no credential for Content Understanding |
| Docker | Only for the Docker image and the MCP server’s Docker route |
python -m venv .venv source .venv/bin/activate pip install 'markitdown[all]'
To install only some formats, name them. This line installs the PDF, Word and PowerPoint dependencies.
pip install 'markitdown[pdf, docx, pptx]'
Give the command a file. It writes Markdown to standard output, or to the file you name with -o. It also reads from a pipe.
markitdown path-to-file.pdf > document.md markitdown path-to-file.pdf -o document.md cat path-to-file.pdf | markitdown
In Python, the same conversion takes four lines.
from markitdown import MarkItDown
md = MarkItDown(enable_plugins=False) # Set to True to enable plugins
result = md.convert("test.xlsx")
print(result.markdown)You have a slide deck, deck.pptx, and want an LLM to answer questions about it. With the package installed, you run this:
markitdown deck.pptx -o deck.md
Open deck.md. The README says MarkItDown aims to preserve structure such as headings, lists, tables and links, so the text is ready to paste into a chat or an index. For descriptions of the pictures in a deck, the README’s image example passes an LLM client and a model name.
If you are new. Markdown is plain text with light markers for headings, lists and tables. The README says mainstream LLMs natively “speak” Markdown and that its conventions are token-efficient. An Office file or a PDF is not plain text. MarkItDown reads it and writes out the text with its structure. Start with the command line, one file at a time, and read the result before you build on it.
For experts. convert() takes local files, remote URIs and byte streams, so the README tells you to use the narrowest call. That means convert_local() for local files, convert_response() after your own requests.get(), and convert_stream() for full control. Plugins register converters through the markitdown.plugin entry point and a register_converters() function. The OCR plugin registers its converters at priority -1.0, ahead of the built-in ones at 0.0.
Document Intelligence takes a model id, analysis add-ons and query fields. A model that returns structured fields puts them in YAML front matter. Content Understanding picks an analyzer for each file type, or uses the one you name with cu_analyzer_id. Its cu_file_types option limits which formats go to the cloud.
The README’s table lists the built-in converters’ document conversion as offline and their cost as “Local compute only”. A remote URI or a YouTube URL is fetched over the network, and the README does not say whether audio transcription runs offline. The options below widen what it can reach.
This kit holds setup notes only. Mindket wrote them. MarkItDown itself installs from PyPI with pip, or from the source in Microsoft's repository: https://github.com/microsoft/markitdown
These notes are not made or endorsed by Microsoft. The README describes MarkItDown as "a lightweight Python utility for converting various files to Markdown for use with LLMs and related text analysis pipelines." The repository is https://github.com/microsoft/markitdown and its README is https://github.com/microsoft/markitdown/blob/main/README.md
License: MIT. The LICENSE file (https://github.com/microsoft/markitdown/blob/main/LICENSE) is the MIT License text and reads "Copyright (c) Microsoft Corporation."
The README describes the repository's main branch, not a PyPI release. After you install, check that the option you want exists in your installed version.
markitdown, the Python package, from PyPI. It gives you the markitdown command and the MarkItDown class. Source: https://github.com/microsoft/markitdown/blob/main/README.md[pdf] or all of them with [all]. See setup/command-line.md.markitdown-mcp, a separate package that serves MarkItDown to an agent over MCP. Source: https://github.com/microsoft/markitdown/blob/main/packages/markitdown-mcp/README.mdmarkitdown-ocr, a plugin that reads text from images inside PDF, Word, PowerPoint and Excel files by asking an LLM. Source: https://github.com/microsoft/markitdown/blob/main/packages/markitdown-ocr/README.mdpython -m venv, uv or conda. The package's pyproject.toml says >=3.10,<3.15. Source: https://github.com/microsoft/markitdown/blob/main/packages/markitdown/pyproject.tomlAZURE_API_KEY when it is set and DefaultAzureCredential otherwise. The README names no credential for Content Understanding. See setup/azure.md.pip install 'markitdown[all]'
Source: https://github.com/microsoft/markitdown/blob/main/README.md
markitdown command, the optional extras and pluginsMarkItDown class, image descriptions from an LLM, and which convert_* call to usemarkitdown-mcp over STDIO, Streamable HTTP or SSE, in Docker, and in Claude DesktopThe maker documents no steps for Claude Code, Codex or Cursor. A coding agent that can run shell commands can run the command in setup/command-line.md. That is Mindket's note, not the maker's.
The README gives no update or uninstall steps. For a package installed with pip, use pip's own update and uninstall for each package name. If you made a virtual environment only for MarkItDown, deleting its folder removes everything in it. These two lines are Mindket's notes.
The README says nothing about usage data. The two Dockerfiles in the repository, the main one and the MCP server's, both set ORT_DISABLE_TELEMETRY=1. Sources: https://github.com/microsoft/markitdown/blob/main/Dockerfile and https://github.com/microsoft/markitdown/blob/main/packages/markitdown-mcp/Dockerfile
MarkItDown reaches the network in these documented cases: convert() accepts remote URIs, the YouTube transcription extra fetches a video's transcript, Azure conversion sends the file to your Azure endpoint, and an LLM client sends images to the model you configure. The README does not say whether audio transcription (the [audio-transcription] extra) runs on your machine or calls an online service. The README's Security Considerations section covers the first of these. Source: https://github.com/microsoft/markitdown/blob/main/README.md
README.md 5 KB setup/azure.md 6 KB setup/command-line.md 3 KB setup/docker.md 2 KB setup/mcp-server.md 5 KB setup/plugins-and-ocr.md 5 KB setup/python-api.md 3 KB
Updated by Mindket to the current version of this kit.
Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search and on Trendshift. Mindket doesn’t write or check them. Open one to read it where it was posted.
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
op7418 · Skill
Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…
alirezarezvani · Skill
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
block · Kit
Self-hostable workspace where people and AI agents share the same rooms, built on a Nostr relay that logs every action as a signed event. For teams that want t…
backnotprop · Kit
Opens your AI coding agent's plans, specs and code changes in a browser so you can annotate or comment on them and send the feedback straight back to the agent.
alibaba · Kit
Reviews Git changes with an AI agent that reads files and searches the codebase, then writes comments tied to exact lines. It suits developers who want automat…