markitdown
Skill8 starsChanged 3 months agoMITView on GitHub
Convert various document formats to Markdown using Microsoft's markitdown library. Supports PDF, DOCX, PPTX, XLSX, HTML, EPUB, images, IPYNB, ZIP and more. Use when user mentions markitdown, convert to markdown, PPTX to md, XLSX to md, EPUB to md, or needs to read formats not covered by /pdf-reader or /word2md.
- Installs packages
42 other projects use a version of this.
Adopted by
Most recently taken up by
- Markssuave/Markssuave-Agent-skillstheir own version, first seen Nov 8, 2026
- BrightGold70/skillstheir own version, first seen Nov 8, 2026
- ZhouYinLong-lab/Dog-Skillstheir own version, first seen Nov 8, 2026
- K-Dense-AI/claude-scientific-writertheir own version, first seen Nov 7, 2026
- myths-labs/musetheir own version, first seen Nov 6, 2026
- MarieLynneBlock/arcanum-artifextheir own version, first seen Nov 1, 2026
Used with
Projects with it also use scientific-slides, scientific-critical-thinking and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
ZanderRussSkillscientific-slides
Build slide decks and presentations for research talks. Use this for making PowerPoint slides, conference presentations, seminar talks, research presentations, thesis defense slides, or any scientific talk. Provides slide structure, design templates, timing guidance, and visual validation. Works with PowerPoint and LaTeX Beamer.
Also in 3 projects that use this
ZanderRussSkillscientific-critical-thinking
Evaluate research rigor. Assess methodology, experimental design, statistical validity, biases, confounding, evidence quality (GRADE, Cochrane ROB), for critical analysis of scientific claims.
Also in 3 projects that use this
JDerekLomasSkillcitation-management
Also in 3 projects that use this
OpenAISkillplaywright
Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via `playwright-cli` or the bundled wrapper script.
Also in 3 projects that use this
OpenAISkillusing-superpowers
Use when starting any conversation - establishes how to find and use skills, requiring skill invocation before ANY response including clarifying questions
Also in 3 projects that use this
GoogleSkillalgorithmic-art
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Also in 3 projects that use this
- +3 more from openai
Other versions42 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 42
- K-Dense-AI/claude-scientific-writer★ 2.6ksame name
- wu-yc/LabClaw★ 1.1ksame name
- LeonChaoX/qinyan-academic-skills★ 910same name
- qinyan-ai/qinyan-academic-skills★ 80same name
- Chanw-research/claude-code-paper-writing★ 42same name
- myths-labs/muse★ 38same name
- GitHubxsy/agent-skills★ 22same name
- Hongyu-yu/matsci-ai-skills★ 19same name
- CarbeneAI/Forge★ 9same name
- Yassimba/loom★ 9same name
32 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository32 other files it gives its agents.
- ai-genSkill
- any2mdSkill
- assignment-wordSkill
- cheatsheatSkill
- claude2antiSkill
- claude2codexSkill
- codex2claudeSkill
- fincomp-deckSkill
- github-trendingSkill
- git-pushSkill
- html2mdSkill
- html2pdfSkill
- html2texSkill
- html-slidesSkill
- img-readerSkill
- latex-beamerSkill
- md2docxSkill
- md2texSkill
- mergeSkill
- notesSkill
- paper-html-onepageSkill
- paper-reproSkill
- pdf2wordSkill
- pdf-readerSkill
- posterSkill
- repo-docsSkill
- repo-docs-zhSkill
- resume-builderSkill
- web-search-fallbackSkill
- word2htmlSkill
- word2mdSkill
- word2pdfSkill
The file
Files
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-readeror/word2md - Need table-aware PDF extraction (markitdown detects tables,
/pdf-readerdoes 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 -3Usage
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/nullPython 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)
PYTHONIOENCODING=utf-8 python -c "
from markitdown import MarkItDown
import sys, os, glob
md = MarkItDown()
files = glob.glob(sys.argv[1])
for f in files:
print(f'--- {os.path.basename(f)} ---')
result = md.convert(f)
print(result.text_content[:2000])
print()
" "<GLOB_PATTERN>"Examples
PPTX (PowerPoint) to Markdown
PYTHONIOENCODING=utf-8 markitdown "presentation.pptx" -o "presentation.md" 2>/dev/nullXLSX (Excel) to Markdown
PYTHONIOENCODING=utf-8 markitdown "spreadsheet.xlsx" 2>/dev/nullEPUB to Markdown
PYTHONIOENCODING=utf-8 markitdown "book.epub" -o "book.md" 2>/dev/nullHTML to Markdown
PYTHONIOENCODING=utf-8 markitdown "page.html" 2>/dev/nullPDF with table detection
PYTHONIOENCODING=utf-8 markitdown "report.pdf" -o "report.md" 2>/dev/nullmarkitdown uses pdfplumber to detect tables and output pipe-formatted markdown tables. If pdfplumber fails, falls back to pdfminer.
CLI Options
| Flag | Description |
-o, --output | Output file path (default: stdout) |
-x, --extension | Hint file extension (when reading stdin) |
-m, --mime-type | Hint MIME type |
-c, --charset | Hint charset (e.g. UTF-8) |
-d, --use-docintel | Use Azure Document Intelligence (requires endpoint) |
-p, --use-plugins | Enable 3rd-party plugins |
--keep-data-uris | Keep base64 images in output (default: truncated) |
--list-plugins | List installed plugins |
Known Limitations
- DOCX math bug: OMML→LaTeX escapes underscores (
\_{c}instead of_{c}), breaking LaTeX rendering. Use/word2mdfor DOCX with math. - Base64 images: Images embedded as data URIs, truncated by default. Use
--keep-data-uristo preserve (output becomes very large). Use/word2mdif you need image files extracted. - Scanned PDFs: Like all text extractors, cannot handle image-only pages. Needs OCR (paddleocr, tesseract).
- Audio/Video transcription: Requires Azure Document Intelligence endpoint (
-d -e <endpoint>).
Rules
- Always use
PYTHONIOENCODING=utf-8— Windows defaults to GBK - Always suppress warnings with
2>/dev/null— markitdown's dependency warnings are noisy - For DOCX with math formulas — recommend
/word2mdinstead (this skill's OMML converter has bugs) - For PDF reading — prefer
/pdf-readerfor high fidelity; use this skill when you need table detection - Check dependencies: Some formats need extras (
pip install markitdown[pdf], etc.)
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

