markitdown + md2rich: The Complete Office-to-Publishing Pipeline (2026)
Microsoft just released markitdown 0.1.6 — a Python tool that turns Office documents into clean Markdown. Pair it with md2rich and you get a zero-upload pipeline from a Word doc to a formatted LinkedIn post in under 60 seconds.
The Problem With Office Documents and Publishing Platforms
Your department head sends you a polished Word document. Your client emails a PowerPoint deck. Your data team shares an Excel report. You need to publish these on LinkedIn, X Articles, Medium, or Notion — but copy-pasting from Office apps into a web editor is a losing battle:
- Tables collapse into unformatted text
- Bullet point hierarchies vanish
- Images detach from their captions
- Code excerpts lose indentation
- Font sizes and colors strip to plain text
The workaround has always been: rewrite the document by hand in the publishing platform's editor. That takes 20 minutes per post and introduces inconsistencies.
The fix: A two-tool pipeline. markitdown extracts structured Markdown from any Office file. md2rich converts that Markdown to platform-ready rich text. Nothing leaves your machine.
What Is Microsoft markitdown?
markitdown is an open-source Python utility from Microsoft's AutoGen team. With over 155,000 GitHub stars, it converts a wide range of file formats into clean, LLM-friendly Markdown. It supports:
- PDF — text extraction with layout preservation
- PowerPoint — slides, notes, and embedded content
- Word — headings, lists, tables, images
- Excel — sheets as Markdown tables
- HTML — full HTML to Markdown conversion
- EPUB — ebook format to Markdown
- Images + Audio — EXIF metadata, OCR, speech transcription
- ZIP — batch conversion of archive contents
Install it in one line: pip install 'markitdown[all]'. Then convert any document with a single CLI command.
What Is md2rich?
md2rich is a client-side Markdown-to-rich-text converter. You paste Markdown into the editor, click convert, and copy the formatted result directly into LinkedIn, X Articles, Medium, Notion, Substack, or any rich text editor. Key advantages:
- Zero upload. All processing happens in your browser. No server, no database, no privacy risk.
- Headers, lists, tables, code blocks, links, images — all rendered as native rich text formatting.
- Works offline. Once loaded, md2rich runs from cache with no network dependency.
- No account. No signup, no email, no subscription.
The Pipeline: Office Doc → Published Post in 4 Steps
Here is the complete workflow, end to end.
Step 1: Install markitdown
pip install 'markitdown[all]'
This installs markitdown with all format converters (PDF, Office, images, audio, EPUB). The base package is under 1MB; with extras it installs around 20MB of dependencies.
Step 2: Convert your Office document to Markdown
Point markitdown at your file. It outputs clean Markdown to stdout:
# Convert a Word document
markitdown report.docx > report.md
# Convert a PowerPoint deck
markitdown presentation.pptx > slides.md
# Convert an Excel spreadsheet
markitdown data.xlsx > data.md
# Convert a PDF
markitdown whitepaper.pdf > whitepaper.md
Markitdown preserves heading hierarchy (H1, H2, H3), bullet lists, numbered lists, tables (converted to Markdown table syntax), code blocks, links, and basic formatting like bold and italic. The output is clean, human-readable Markdown — ready for editing or direct conversion.
Step 3: Open the Markdown in md2rich
Navigate to md2rich.com. Paste the contents of your .md file into the editor. You'll see a live preview of the formatted result as you paste.
Make any tweaks directly in the Markdown editor — fix a broken table, add a subheading, insert a hyperlink. The live preview updates instantly.
Step 4: Copy rich text and publish
Click the copy button in md2rich. The rich text version of your document is now in your clipboard:
- LinkedIn: Paste directly into the post composer. Headings, bold, bullet lists, and links arrive fully formatted.
- X Articles: Open the X Articles editor and paste. Tables and code blocks render correctly.
- Medium: Paste into Medium's editor. Images from your Markdown (as URLs) are preserved.
- Notion: Paste into any Notion page. Nested toggles and checklists are supported.
- Substack: Paste into Substack's editor. All formatting survives the crosswalk.
That is it. From a Word document to a published LinkedIn article in under 60 seconds, with zero data leaving your computer.
Power tip: Pipe markitdown output directly into a file watcher. Set up a shell script that watches a Dropbox folder for new .docx files, converts them to Markdown with markitdown, and opens md2rich in your browser. Your publishing workflow becomes fully automated.
Real-World Use Cases
Case 1: The Consultant's Weekly Report
A management consultant writes every deliverable in Word. Instead of reformatting for LinkedIn thought leadership posts: convert the Word doc to Markdown with markitdown, tweak the headline in a text editor, paste into md2rich, copy to LinkedIn. A task that used to take 25 minutes now takes 90 seconds.
Case 2: The Data Team's Dashboard Write-Up
An analytics team exports SQL query results to Excel. They write the narrative in the same spreadsheet. Converting the full report to Markdown with markitdown preserves all data tables, which md2rich renders as native rich text tables in Notion — far easier than rebuilding them cell by cell.
Case 3: The Marketing Team's Blog Rollout
A content team drafts all blog posts in Google Docs (exported to DOCX), converts them to Markdown with markitdown for editorial review, then pipes the approved Markdown through md2rich for cross-publishing to Medium, LinkedIn, and the company Substack. One source, three outputs, zero formatting loss.
Privacy: Why This Pipeline Matters
Most document-to-publishing workflows involve an intermediary cloud service. You upload your Word file to a conversion website, they process it on their servers, and you download the result. This means:
- Your confidential business documents are processed on third-party servers
- You have no control over how long the files are retained
- You may not even know they were stored
The markitdown + md2rich pipeline is 100% local-first. markitdown runs as a Python CLI on your machine. md2rich runs entirely in your browser with no server upload. Your documents physically never leave your control. For consultants handling sensitive client data, legal teams working under confidentiality agreements, or startups protecting trade secrets, this is the only safe workflow.
Limitations to Know
- No formatting roundtrip. markitdown extracts content structure, not pixel-perfect layout. A heavily designed PowerPoint slide will lose some visual arrangement in the Markdown output. The structure (headings, bullets, text) survives.
- Image handling. markitdown extracts image references as Markdown image syntax with local file paths. To publish images, you need to host them separately or use absolute URLs. md2rich will render any absolute image URL.
- Python dependency. markitdown requires Python 3.10+. If your team doesn't use Python, install it once and create a one-line shell alias.
- Complex Excel sheets. Markitdown converts each sheet to a Markdown table. Multi-sheet workbooks with merged cells require manual cleanup.
FAQ
Does markitdown work with Google Docs?
Not directly. Markitdown is a Python CLI tool for local files. For Google Docs, export to DOCX or PDF first, then run markitdown on the exported file.
Can md2rich accept Markdown files from markitdown directly?
Yes. md2rich is a web-based tool that accepts pasted Markdown text. Copy the markitdown output and paste into md2rich to get rich text. On Linux, you can pipe: markitdown doc.docx | xclip -selection clipboard then paste directly into md2rich.
Is markitdown free?
Yes. markitdown is MIT-licensed open source. No subscriptions, no API keys, no usage limits.
Does this pipeline upload my documents anywhere?
No. markitdown runs locally on your machine. md2rich processes everything in your browser with zero server uploads. Your documents never leave your computer.
What if I don't use Python?
Install Python 3.10+ once using your system package manager (Homebrew, apt, winget), run pip install 'markitdown[all]' once, and you are set. Markitdown itself requires no Python expertise to operate — the entire command is one line.
Why This Combo Beats Any All-in-One Tool
All-in-one document-to-publishing platforms promise convenience but deliver lock-in. They control your formatting, your template, your export options. The markitdown + md2rich approach is different:
- Markdown is future-proof. Unlike a proprietary template format, Markdown files work everywhere — VS Code, Obsidian, GitHub, ChatGPT, every note-taking app.
- Each tool does one thing well. markitdown extracts structured content from files. md2rich converts Markdown to rich text. Both are independently useful.
- You own the pipeline. Both tools are open source (markitdown) or zero-server (md2rich). No one can change the terms, remove features, or start charging you.
Start Publishing From Any Document
Try the pipeline yourself:
- Install markitdown:
pip install 'markitdown[all]' - Convert your document:
markitdown myfile.docx > myfile.md - Paste into md2rich.com
- Copy and publish to LinkedIn, X, Medium, Notion, or Substack
No uploads. No accounts. No formatting loss. Your first post is 60 seconds away.