markitdown

markitdown is a skill for Claude Code, Codex from phanghonghao/THU-Awesome-Skills. It costs 86 tokens per session (1,427 once invoked), scanned A, original, MIT.

A document converter based on Microsoft's MarkItDown library that turns more than 15 file types into Markdown, a plain-text format for structured documents.

In plain words
What is it for?
Use it to convert PPTX, XLSX, EPUB, HTML, IPYNB, CSV, ZIP, and similar files to Markdown, including tables in PDFs.
Why use it?
It lets a coding agent read presentations, spreadsheets, ebooks, webpages, images, notebooks, archives, and other files in a consistent format.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to convert PPTX, XLSX, EPUB, HTML, IPYNB, CSV, ZIP, and similar files to Markdown, including tables in PDFs.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/phanghonghao/thu-awesome-skills/markitdown
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add phanghonghao/THU-Awesome-Skills --skill markitdown
Clone the repo
git clone --depth 1 https://github.com/phanghonghao/THU-Awesome-Skills

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for markitdown

README.md
[![agentmods](https://agentmods.dev/badge/skills/phanghonghao/thu-awesome-skills/markitdown/github.svg)](https://agentmods.dev/skills/phanghonghao/thu-awesome-skills/markitdown)
Your own site
<a href="https://agentmods.dev/skills/phanghonghao/thu-awesome-skills/markitdown"><img src="https://agentmods.dev/badge/skills/phanghonghao/thu-awesome-skills/markitdown/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for markitdown

Your own site · 80×15
<a href="https://agentmods.dev/skills/phanghonghao/thu-awesome-skills/markitdown"><img src="https://agentmods.dev/badge/skills/phanghonghao/thu-awesome-skills/markitdown.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 86 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,427 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00086 $0.01427
Opus 5 $0.00043 $0.00714
Sonnet 5 $0.00017 $0.00285
Haiku 4.5 $0.00009 $0.00143

Measured 10d ago against content hash 0c9c41a64810, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

markitdown scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/markitdown/SKILL.md · 142 lines

How it starts

The opening of the file, as written. The whole thing — 142 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Markitdown Skill (microsoft/markitdown)

Microsoft's markitdown converts 15+ file formats to Markdown. This skill covers formats not handled by /pdf-reader and /word2md — primarily PPTX, XLSX, EPUB, HTML, and more.

When to Use

  • User mentions: "markitdown", "/markitdown", "convert to markdown"
  • Need to read PPTX, XLSX, EPUB, IPYNB, ZIP — these are NOT covered by /pdf-reader or /word2md
  • Need table-aware PDF extraction (markitdown detects tables, /pdf-reader does not)
  • User says "PPTX to markdown", "Excel to markdown", "EPUB to markdown"
  • Quick one-shot conversion of any document to Markdown

When NOT to Use (use other skills instead)

Format Better skill Reason
PDF (reading) /pdf-reader PyMuPDF has 3 modes, higher fidelity, dict mode for LaTeX conversion
DOCX (with math) /word2md Correct OMML→LaTeX; markitdown has escaped-underscore bug (\_{c} instead of _{c})
DOCX (with images) /word2md Extracts images to files; markitdown embeds base64 data URIs

Supported Formats

PDF, DOCX, PPTX, XLSX, HTML, EPUB, Images (via LLM caption or EXIF), IPYNB, CSV, Plain text, ZIP (processes contents), Audio/Video (transcription via Azure), Outlook MSG, RSS, Wikipedia, YouTube (transcript).

Installation

python -m pip install markitdown 2>&1 | tail -3

Usage

CLI (recommended for single files)

# Convert to stdout
PYTHONIOENCODING=utf-8 markitdown "<INPUT_FILE>" 2>/dev/null

# Convert and save to file
PYTHONIOENCODING=utf-8 markitdown "<INPUT_FILE>" -o "<OUTPUT.md>" 2>/dev/null

# Pipe from stdin
PYTHONIOENCODING=utf-8 markitdown -x pptx < "<INPUT_FILE>" 2>/dev/null

Python API (for batch or programmatic use)

PYTHONIOENCODING=utf-8 python -c "
from markitdown import MarkItDown
import sys

md = MarkItDown()
result = md.convert(sys.argv[1])
print(result.text_content)
" "<INPUT_FILE>"

Batch conversion (multiple files)

Read the full file on GitHub · 142 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago First seen · 142 lines · 86 tokens per session scan A 0c9c41a64810

Subscribe to this mod's changes

markitdown is a skill published in the GitHub repository phanghonghao/THU-Awesome-Skills (8 stars, last pushed 1mo ago), licensed MIT. It adds 86 tokens to every session and 1,427 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

baoyu-youtube-transcript

A tool for downloading the written captions, subtitles, chapter information, speaker labels, and cover image from a YouTube video using its URL or ID.

JimLiu/baoyu-skills · 107 tokens

orbit-notion

Open Orbit briefing skill — selected by the Orbit pipeline when Notion is the user's only connected connector, or when the user explicitly scopes their daily digest to Notion. Pulls the past 24 hours of document edits, comments, mentions, and database row changes from the user's authenticated Notion connection and…

nexu-io/open-design · 117 tokens

instrument-data-to-allotrope

Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D CSV. Use this skill when scientists need to standardize instrument data for LIMS systems, data lakes, or downstream analysis. Supports auto-detection of instrument types. Outputs include full…

anthropics/knowledge-work-plugins · 123 tokens

feishu

Work with Feishu or Lark bots, docs, sheets, bitables, approval flows, and OpenAPI/MCP setup without hardcoding credentials.

Hmbown/CodeWhale · 33 tokens

read

Reads URLs and PDFs by fetching source content, defaulting to concise summaries for plain read requests and clean Markdown when asked to convert, save, quote, cite, or feed downstream work. Use when users ask in any language to read, fetch, check, summarize, quote, cite, convert, or save a URL or PDF. Not for local…

tw93/Waza · 78 tokens

overleaf-sync

A two-way connection between a local paper folder and Overleaf, a web-based LaTeX editor for writing research papers. It lets you move changes between the local files and the shared Overleaf project.

wanshuiyin/Auto-claude-code-research-in-sleep · 97 tokens