
各位讀者有沒有遇過這種情況:想把一份 PDF 報告或 Word 文件丟給 ChatGPT、Claude 這些 AI 幫忙摘要分析,結果不是 AI 讀得「霧煞煞」,就是檔案太大、token 一下就燒光,甚至直接被拒收?其實問題常常不是出在 AI 不夠聰明,而是這些檔案格式對 AI 來說太「肥」了——裡面塞滿了排版、字型、樣式等 AI 根本用不到的資訊。
今天阿正老師要介紹的,就是微軟開源的免費工具 MarkItDown。它可以把 PDF、Word、Excel、PowerPoint,甚至圖片、音訊、ZIP 壓縮檔等各種格式,一鍵轉換成 AI 最愛的 Markdown 純文字格式。這個工具在 GitHub 上已經累積了超過 16 萬顆星,是近年最受歡迎的開源專案之一,許多 AI 開發者更把它當成 RAG(檢索增強生成)系統的標準前處理工具。
最棒的是,它完全免費、開源(MIT 授權),而且用法簡單到只要一行指令!這篇文章阿正老師就帶大家從安裝到進階應用一次搞懂,讓你餵資料給 AI 之前先幫檔案「瘦身」,省下大把 token。
文章目錄
一、MarkItDown 是什麼?
MarkItDown 是由微軟(Microsoft)開源的 Python 文件轉換工具,它的任務只有一個:把各式各樣的檔案格式,轉換成結構乾淨的 Markdown 純文字。轉換過程會盡量保留文件的「結構資訊」——像是標題層級、清單、表格、超連結等,這些正好是 AI 理解文件內容時最需要的線索。
它支援的格式相當驚人,包括:PDF、Word(.docx)、Excel(.xlsx)、PowerPoint(.pptx)、HTML 網頁、CSV/JSON/XML 資料檔、圖片(可讀取 EXIF 資訊與 OCR 文字辨識)、音訊檔(可語音轉文字)、ZIP 壓縮檔(自動解開逐一處理)、EPub 電子書,甚至連 YouTube 網址都能抓字幕轉成文字!
| 官方網站 | https://github.com/microsoft/markitdown |
| 最新版本 | 0.1.7(最新版本請參考github) |
| 支援系統 | Windows / macOS / Linux(需 Python 3.10 以上) |
| 費用 | 完全免費(開源、MIT 授權) |
| 軟體下載 | [github下載點] |
二、為什麼能大量節省 AI 的 token?
很多讀者最好奇的應該是:不過就是轉個檔,為什麼能省 token?阿正老師用一個簡單的比喻來解釋:原始的 Word 或 PDF 檔就像一個塞滿包裝紙、緩衝泡棉的包裹,真正的「內容物」(文字)只佔一部分,其他都是排版樣式、字型定義、頁面配置這些 AI 根本不需要的東西。AI 在解析這類檔案時,等於要先花力氣拆包裝,才能開始讀內容。
MarkItDown 做的事,就是幫你把包裝全部拆掉,只留下內容物,而且還貼心地保留了「這是標題」、「這是表格」、「這是清單」等結構標記。轉出來的 Markdown 有三大優勢:
1. 體積大幅縮小:去掉樣式與排版資訊後,餵給 AI 的文字量往往只剩原本的一小部分。網路上有開發者實測分享,先轉成 Markdown 再交給 LLM 處理,token 消耗最多可省下約八成(實際節省幅度依文件類型與內容而定,建議大家測試時可以觀察轉換前後的檔案大小差異)。
2. AI 天生就「看得懂」Markdown:主流的大型語言模型(GPT、Claude、Gemini 等)在訓練時都大量接觸過 Markdown 格式,可以說是它們的「母語」之一。用 Markdown 溝通,AI 對標題層級、表格內容的理解會比啃原始檔案精準得多。
3. RAG 系統的最佳前處理:如果你有在玩本地 AI(像阿正老師常用的 Ollama)或自建知識庫,把文件先轉成 Markdown 再做向量化,切段(chunking)會更乾淨、檢索效果也更好。
✅ 優點
- 完全免費開源(MIT 授權),微軟官方出品
- 支援近 30 種格式:PDF、Office 文件、圖片、音訊、ZIP、EPub 等
- 轉出的 Markdown 可大幅降低 LLM 的 token 消耗
- 保留標題、表格、清單等結構,AI 理解更精準
- 一行指令即可使用,也有簡潔的 Python API
- 支援外掛系統與 MCP 伺服器,可整合 Claude 等 AI 工具
⚠️ 缺點
- 沒有圖形介面,需使用終端機指令,新手有門檻
- 需要 Python 3.10 以上環境才能安裝
- 複雜排版、圖表的轉換效果有限,可能遺失細節
- 目標是「給 AI 讀」,不適合拿來做精美的格式還原
- 圖片描述、雲端強化辨識等進階功能需另外設定 API
三、安裝教學:三分鐘裝好 MarkItDown
MarkItDown 是 Python 工具,所以電腦上要先有 Python 3.10 以上的版本。Windows 使用者可以到 Python 官網下載安裝(記得勾選「Add Python to PATH」);macOS 使用者可以用 Homebrew 安裝。準備好之後,安裝 MarkItDown 只要一行指令:
步驟 1:打開終端機(Windows 用「命令提示字元」或 PowerShell,macOS 用「終端機」),輸入以下指令安裝完整版(含所有格式支援):
pip install 'markitdown[all]'
步驟 2:如果你只需要處理特定格式,也可以只安裝需要的模組來減少安裝體積,例如只要處理 PDF 和 Word:
pip install 'markitdown[pdf,docx]'
步驟 3:安裝完成後,輸入 markitdown --help,如果看到指令說明畫面就代表安裝成功了!
⚠️ 比較講究環境整潔的讀者,建議先用
python -m venv .venv 建立虛擬環境再安裝,避免和系統的其他 Python 套件打架。另外安裝過程若出現 ffmpeg 相關警告可以先忽略,那只有在處理音訊、影片時才需要。
四、基本使用方式:一行指令搞定
MarkItDown 的用法簡單到不可思議,基本上就是「指令 + 檔案名稱」。以下是幾個最常用的範例(下圖的左側是原始PDF,右側是轉出的MD檔):
把 PDF 轉成 Markdown 檔案:
markitdown 財報.pdf -o 財報.md
Word、Excel、PowerPoint 也是一樣的用法:
markitdown 企劃書.docx -o 企劃書.md markitdown 報表.xlsx -o 報表.md markitdown 簡報.pptx -o 簡報.md
轉換完成後,打開 .md 檔就會看到乾淨的純文字內容:Word 的標題變成 Markdown 的 # 標題、Excel 的表格變成 Markdown 表格、PPT 則會一頁一頁列出文字內容。接下來只要把這份 Markdown 貼給 ChatGPT 或 Claude,或是餵進你的 RAG 知識庫,AI 就能用最少的 token 讀懂整份文件。
小技巧:不加
-o 參數的話,轉換結果會直接顯示在終端機上,也可以用 markitdown 檔案.pdf > 輸出.md 的方式導出,方便搭配其他指令做批次處理。
五、進階玩法:Python API、圖片辨識與 MCP
除了指令列,MarkItDown 也提供了非常簡潔的 Python API,寫程式的讀者只要三行就能完成轉換,很適合整合進自己的自動化流程:
from markitdown import MarkItDown
md = MarkItDown()
result = md.convert("report.pdf")
print(result.text_content)
讓 AI 幫圖片寫說明:MarkItDown 還可以接上 OpenAI 相容的模型,自動幫文件裡的圖片產生文字描述,這對簡報檔特別實用(不然 PPT 裡的圖片轉出來就只是一片空白):
from markitdown import MarkItDown
from openai import OpenAI
client = OpenAI()
md = MarkItDown(llm_client=client, llm_model="gpt-4o")
result = md.convert("簡報.pptx")
MCP 伺服器整合:官方團隊另外提供了 markitdown-mcp 套件,可以架成 MCP(Model Context Protocol)伺服器,讓 Claude Desktop 這類支援 MCP 的 AI 工具直接呼叫 MarkItDown 轉檔,連指令都不用打。不過目前這個套件還在 alpha 測試階段,想嘗鮮的讀者可以參考官方文件設定。
另外,MarkItDown 也支援外掛系統(在 GitHub 搜尋 #markitdown-plugin 可以找到第三方外掛),以及付費的 Azure Document Intelligence 雲端服務整合,可以強化複雜 PDF 的辨識效果,有進階需求的讀者可以研究看看。
六、使用限制與注意事項
雖然 MarkItDown 很好用,但阿正老師也要提醒大家幾個使用上的限制,免得期待落空:
1. 它的目標是「給 AI 讀」,不是完美還原格式。轉換後字型、顏色、版面配置都會消失,只保留內容與結構。如果你要的是把 PDF 轉成可編輯的 Word,那不是它的守備範圍。
2. 複雜文件的轉換效果有限。像是設計感很重的型錄、多欄排版的雜誌稿、複雜的圖表,轉出來可能會遺失部分內容或順序跑掉。建議大家測試時可以先用自己常見的文件類型試轉幾份,觀察轉換品質再決定要不要導入工作流程。
3. 掃描檔 PDF 需要搭配 OCR。純圖片式的掃描 PDF 沒有文字層,直接轉會轉不出內容,需要搭配 OCR 外掛或 Azure 雲端服務處理。
⚠️ 安全提醒:官方文件特別提到,如果要在伺服器上處理「來路不明」的檔案,請注意輸入內容的安全性,並使用最小權限的轉換方式(例如只開放本機檔案轉換的
convert_local()),避免被惡意檔案利用。
七、阿正老師的總結
MarkItDown 是那種「做一件事,把它做到好」的典型工具:免費、開源、指令簡單,卻能實實在在幫你省下大量 AI token,還能讓 AI 讀文件讀得更準。以下幫大家整理適合的使用情境:
常把 PDF/Word/PPT 丟給 ChatGPT、Claude 分析的一般使用者
→ MarkItDown 基本指令。轉檔一行指令,餵 AI 前先瘦身,省 token 又提升回答品質。
在玩本地 AI(Ollama)或自建 RAG 知識庫的進階玩家
→ Python API 整合。三行程式碼把文件轉換納入自動化流程,是知識庫前處理的標準配備。
使用 Claude Desktop 等支援 MCP 的 AI 工具的使用者
→ markitdown-mcp 伺服器。讓 AI 自己呼叫轉檔工具,連指令都不用打(目前仍為測試版本)。
餵 AI 之前,先讓文件「瘦身」吧!
在這個什麼都要問 AI 的時代,怎麼「有效率地」把資料交給 AI,反而成了新的必修課。MarkItDown 用最簡單的方式解決了這個問題——把肥大的文件格式轉成 AI 的母語 Markdown,token 省了、理解力也提升了。阿正老師建議大家可以先從手邊的 PDF 或 Word 文件試轉幾份,感受一下轉換前後的差異。
你有用 MarkItDown 處理過什麼特別的檔案嗎?或是有其他推薦的 AI 前處理工具?歡迎在下面留言跟阿正老師分享!









