轉換器
Markdown 轉 HTML 轉換器
Markdown 轉 HTML 是一款瀏覽器轉換器,把 CommonMark 與 GitHub Flavored Markdown 變成經過淨化的 HTML——包含標題、表格、任務列表和圍欄程式碼塊。不上傳任何檔案;同一個渲染器也在 POST /v1/convert/markdown/html 背後執行。
# markitdown-ai
Convert documents to clean Markdown.
## Features
- PDF, Word, and slides
- [x] Tables stay tables
- [ ] Mermaid coming later
## Install
```bash
pnpm add @markitdown-ai/sdk
```
## API
| Method | Path |
| --- | --- |
| POST | /v1/convert/{name} |
| GET | /v1/conversions/{id} |
如何操作
如何把 Markdown 轉 HTML
可以貼上什麼
- 支援任意 Markdown:CommonMark,外加 GitHub Flavored Markdown 的表格、任務列表和刪除線
- 渲染在你的瀏覽器中進行 —— 輸入時不會上傳任何內容
- 預覽、複製或下載都無需帳號
- 沒有固定大小上限;超大的文件受瀏覽器記憶體限制
需要檢查什麼
- 標題與內嵌文字 —— ATX 和 setext 標題、強調、連結和引用塊遵循 CommonMark;每個標題還會得到一個由其文字生成的 URL 安全 id。
- 表格、任務列表與刪除線 —— GitHub Flavored Markdown 的表格變成 <table> 元素,[ ] 和 [x] 專案變成核取方塊輸入,~~text~~ 變成 <del>。
- 淨化後的標記 —— 原始 <script> 標籤、內嵌事件處理器,以及 http、https 和 mailto 之外的 href 或 src 值,都會在 HTML 返回之前被去掉。
- 圍欄程式碼 —— 圍欄程式碼塊保留其內容和語言標籤;瀏覽器預覽本身不應用任何語法高亮主題。
輸出去向
- 直接從預覽中複製 HTML
- 下載 .html 檔案
- 用 POST /v1/convert/markdown/html 和你的 API key 自動完成 —— 0 credit

為什麼使用
為什麼用這款 Markdown 轉 HTML 轉換器
CMS 欄位、靜態網站和郵件編輯器要的都是標記,而不是 Markdown 原始碼。這款轉換器保留承載意義的部分,去掉會讓原始 HTML 不安全的成分。
在你的瀏覽器裡執行
貼上 Markdown,HTML 預覽會在本機更新。不上傳任何檔案,預覽、複製或下載都不需要帳號。
CommonMark 加 GFM
標題、列表、連結、引用塊和圍欄程式碼遵循 CommonMark;表格、任務列表和刪除線遵循 GitHub Flavored Markdown。
預設淨化
script 標籤、內嵌事件處理器以及不安全的 href 或 src scheme 都會被去掉,所以這段 HTML 可以安全地貼上進你不完全掌控的頁面。
片段或完整文件
只複製渲染出的標記,用於已經自己定義好版式的頁面;或下載一份帶預覽樣式的完整 HTML 文件。
標題錨點
每個標題都會得到一個穩定、URL 安全的 id,生成方式與 API 相同,所以你發布之後目錄或深層連結仍然有效。
與 API 同一個引擎
這個預覽和 POST /v1/convert/markdown/html 執行同一個渲染器,所以這裡複製出的 HTML 與自動化呼叫逐位元組一致。
問題所在
為什麼原始 Markdown 不能直接放進網頁
Markdown 語法不是 HTML
CMS 欄位、郵件範本或靜態網站主題要的是標記,而不是 Markdown 原始碼,所以原始文字必須先轉換,才能被樣式化或嵌入。
普通解析器會漏掉 GFM
表格、任務列表和刪除線是 GitHub Flavored Markdown 擴充功能;只支援 CommonMark 的解析器會把它們渲染成字面的豎線和波浪號,而不是結構。
不受信任的 Markdown 可能夾帶指令碼
Markdown 可以內嵌原始 HTML,包括 <script> 標籤和內嵌事件處理器,在輸出安全地插入你不完全掌控的頁面之前,必須把它們去掉。

保留什麼
這款 Markdown 轉 HTML 轉換器保留什麼
- 標題與內嵌文字
- ATX 和 setext 標題、強調、連結和引用塊遵循 CommonMark;每個標題還會得到一個由其文字生成的 URL 安全 id。Source: CommonMark Spec
- 表格、任務列表與刪除線
- GitHub Flavored Markdown 的表格變成 <table> 元素,[ ] 和 [x] 專案變成核取方塊輸入,~~text~~ 變成 <del>。Source: GitHub Flavored Markdown Spec
- 淨化後的標記
- 原始 <script> 標籤、內嵌事件處理器,以及 http、https 和 mailto 之外的 href 或 src 值,都會在 HTML 返回之前被去掉。Source: HTML Living Standard
- 圍欄程式碼
- 圍欄程式碼塊保留其內容和語言標籤;瀏覽器預覽本身不應用任何語法高亮主題。Source: CommonMark Spec
- 原始檔裡的原始 HTML
- 內嵌其它原始 HTML 標籤的 Markdown 會經過同一個淨化器,所以嵌入的標籤永遠不會被當作可信標記。Source: HTML Living Standard
經過核驗的 Markdown 轉 HTML 節選· https://markitdown.ai/blog/why-pdfs-break-llms
<h2 id="what-actually-goes-wrong">What actually goes wrong</h2><p>When teams pipe documents straight into an LLM or a retrieval index, a few failure modes show up again and again:</p><ul><li><strong>Reading order breaks.</strong> Multi-column layouts interleave. A two-column page becomes "line 1 left, line 1 right, line 2 left, line 2 right…", so a sentence a human reads top-to-bottom arrives at the model scrambled.</li><li><strong>Tables collapse.</strong> Copy-paste turns a table into a loose run of numbers. The relationship between a header and its cell — the entire point of a table — is gone.</li><li><strong>Headings disappear.</strong> The visual hierarchy (this is a section, this is a subsection) is encoded as font size and weight, not structure. Strip the styling and you get one undifferentiated wall of text.</li><li><strong>Noise creeps in.</strong> Page numbers, running headers, hyphenated line breaks, and stray ligatures end up inline, polluting prompts and embeddings alike.</li></ul><p>Read more in the <a href="https://markitdown.ai/blog/why-pdfs-break-llms">full article</a>.</p>使用場景
Markdown 轉 HTML 的使用場景
凡是目標要標記、而來源保持 Markdown 的地方,這款轉換器就是中間那一步。
文件與靜態網站
把 README 或 Markdown 知識庫文章變成靜態網站生成器或 CMS 欄位所期望的 HTML。
郵件與通訊草稿
用 Markdown 起草一封郵件,轉成 HTML,再把片段貼上進你真正用來傳送的郵件編輯器。
清理 LLM 回答
ChatGPT、Claude 和 Gemini 返回的是 Markdown;當目標——一張工單、一個 wiki 頁面——渲染的是標記而不是未渲染的星號時,就把它轉成 HTML。
自動化渲染的開發者
從儲存 Markdown、卻對外提供 HTML 的流水線裡呼叫渲染端點,不必給每個服務都加一個 Markdown 庫。

API
專為開發者的 Markdown 轉 HTML API
渲染同步執行,消耗 0 credit——它仍然計入你套餐的每分鐘限速。把 Markdown 作為文字傳送,或引用一個已儲存的 .md 檔案,POST 到 /v1/convert/markdown/html 並帶上 API key;淨化後的 HTML 會直接返回。
閱讀 API 指南curl -X POST https://api.markitdown.ai/v1/convert/markdown/html \ -H "x-api-key: mdai_…" \ -H "Content-Type: application/json" \ -d '{ "text": "# Notes\n\nHello **world**." }'指南
文件與靜態網站
大多數文件工具都把 Markdown 當作可編輯的來源,只在建構或預覽時才生成 HTML。這款轉換器讓你可以單獨檢查那一步生成:貼上你的網站生成器將要讀取的同一段 Markdown,在提交改動之前確認標題、表格和程式碼塊的產出方式符合你主題的預期。當 CMS 欄位接受 HTML、而你的寫作者又用 Markdown 工作時,它也有用——轉換一次,貼上片段,下一版繼續編輯 Markdown 原始檔,而不是手工改生成出來的標記。
- 把 Markdown 檔案當作你的真源;把 HTML 當成建構產物。
- 把渲染結果與你網站真實的主題對照,而不只是本頁預覽的樣式。
- 每次改動原始檔後重跑轉換,而不是手工修補生成的 HTML。
淨化
Markdown 可以內嵌原始 HTML,而這些原始 HTML 裡可能帶 <script> 標籤或 onclick 這樣的內嵌事件處理器。在這款轉換器返回結果之前,這些標記會經過一個淨化器:移除 script 元素、剝掉任何以 "on" 開頭的屬性,並且只允許 http、https 和 mailto 連結以及圖片來源。留下來的只有語義結構——標題、段落、列表、表格、連結、圖片和程式碼——而不是裝飾性樣式。轉換器不會往片段輸出裡注入 class 或 CSS 檔案;完整文件下載會加上你在預覽裡看到的主題,讓檔案能獨立正確開啟。
片段還是完整頁面
片段是內部的標記——標題、段落和表格——外面沒有 <html> 或 <head>。它屬於一個已經定義好自身文件結構和樣式的頁面,比如 CMS 內容欄位或渲染子元素的元件。完整文件會加上 doctype、一個標題和一小段樣式表,讓檔案可以直接在瀏覽器裡開啟或單獨儲存。把一個完整文件貼上進期望片段的欄位是常見錯誤:瀏覽器可能仍會渲染它,但巢狀的 <html> 和 <head> 標籤在那裡是非法的,還可能讓期望片段的工具鏈混淆。
更多 Markdown 轉換器
- PDF → Markdown正文、表格與掃描件
- Word → Markdown保留標題與列表的 DOCX
- PPT → Markdown幻燈片文字、備註與表格
- Excel → Markdown每個工作表一張表
- Image → Markdown掃描件與截圖的 OCR
- HTML → Markdown貼上或上傳 HTML
- URL → Markdown任意公開網頁,清理後輸出
- Markdown → Text去掉標記的純文字
- Markdown → PDF本機列印為 PDF
Need it in your code? Use the developer API. Converting at scale? See plans and pricing.
FAQ
Markdown 轉 HTML 常見問題
Markdown 轉 HTML 是怎麼工作的?
貼上或輸入 Markdown,轉換器會在你的瀏覽器本機渲染出淨化後的 HTML,使用的是與 POST /v1/convert/markdown/html 相同的渲染器。你輸入時不會上傳任何內容。
Markdown 轉 HTML 支援 GitHub Flavored Markdown 嗎?
支援。表格、任務列表和刪除線遵循 GitHub Flavored Markdown 規範,與 CommonMark 的標題、列表、連結和程式碼並存。
輸出的 HTML 經過淨化嗎?
是的。script 標籤、內嵌事件處理器和不安全的 href 或 src scheme 都會被去掉,所以這段 HTML 可以安全地貼上進你不完全掌控的頁面。
可以要完整 HTML 文件而不是片段嗎?
可以。選擇帶預覽樣式的完整文件,或只複製片段,用於已經自己定義好版式的頁面。
把 Markdown 轉 HTML 需要帳號嗎?
不需要。預覽、複製和下載都不需要登入,因為渲染在你的瀏覽器本機執行。
我輸入時會呼叫 API 嗎?
不會。輸入過程完全在本機。只有在你直接呼叫 POST /v1/convert/markdown/html 時(例如從指令碼里)API 才會執行。
我轉換的 Markdown 有大小限制嗎?
沒有固定的上傳上限,因為不上傳任何內容;實際限制取決於你的瀏覽器記憶體能處理多大的文件。
可以從程式碼裡把 Markdown 轉 HTML 嗎?
可以。把 Markdown 作為文字、或一個已儲存的 .md 檔案,POST 到 /v1/convert/markdown/html 並帶上 API key。它消耗 0 credit。見 /developers。