Skip to content
HTML to Markdown
Tools

HTML to Markdown

Convert HTML to clean Markdown — pastes, imports files, and handles lists, tables and code.

HTML Input 0 words
Markdown Output 0 words

Runs entirely in your browser. Nothing is uploaded.

為什麼要將 HTML 轉換為 Markdown?

Markdown 已成為技術寫作、文件撰寫和開發者內容的標準純文字格式。與 HTML 不同,它以原始形式閱讀自然流暢,可在任何文字編輯器中使用,能與 Git 乾淨地做版本控制,且被 GitHub、GitLab、Notion、Obsidian 以及所有主流靜態網站產生器原生支援。當內容已存在於 HTML 中——來自 CMS、爬取的文章、電子郵件或舊版文件平台——將其轉換為 Markdown 即可解鎖所有這些工作流程,無需手動重新格式化。

2026 年還有一個額外的實際原因:AI 和 LLM 管道強烈偏好 Markdown 而非原始 HTML。研究顯示,針對相同內容,乾淨的 Markdown 可將 Token 用量減少 68–87%。在將文件輸入檢索增強生成(RAG)系統,或為微調模型準備訓練資料時,先將 HTML 轉換為 Markdown 已成為標準做法。Perplexity、ChatGPT 和 Gemini 在處理前都會將網頁內容內部轉換為類 Markdown 表示——因此直接提供 Markdown 可跳過一個有損的轉換步驟。

基於 DOM 的 HTML 轉 Markdown 轉換原理

本工具不採用對原始 HTML 字串套用脆弱正規表達式的方式——這種方法在格式錯誤的標籤、巢狀元素和邊緣情況下容易失效——而是使用瀏覽器內建的解析器將 HTML 解析為真實的 DOM 樹,再遞迴地遍歷每個節點,將元素類型映射至對應的 Markdown 語法。區塊元素(標題、段落、列表、程式碼區塊)加上雙換行以確保 Markdown 正確渲染;行內元素(粗體、斜體、程式碼、連結)則在周圍內容中以行內方式產生 Markdown 語法。

這種基於 DOM 的方式與 Turndown.js 使用的技術相同——Turndown.js 是領先的 HTML 轉 Markdown JavaScript 函式庫,每週 npm 下載量超過 250 萬次。它能處理正規表達式轉換器遺漏的邊緣情況:blockquote 內的巢狀列表、列表項目中的程式碼、包裹圖片的錨點標籤,以及深度巢狀的表格儲存格。未知的結構性 HTML 元素如 div、section 和 article 只會透明地傳遞其子元素,不會靜默丟棄任何內容。

常見使用情境:CMS 遷移、Notion、GitHub 文件

CMS 遷移是最常見的專業使用情境。將 WordPress、Confluence、SharePoint 或 Ghost 遷移至現代 Markdown 平台的團隊,會使用 HTML 轉 Markdown 轉換來處理匯出的內容。WordPress 的匯出提供 HTML 內容區塊;Confluence 以 HTML 或 XHTML 匯出頁面。兩者均可乾淨轉換。Markdown 檔案隨後提交至 Git 儲存庫、透過 Notion 的 Markdown 匯入功能匯入,或輸入至 Docusaurus、MkDocs 或 Astro 等靜態網站產生器。

個人知識管理是另一個常見使用情境。Obsidian 和 Logseq 等工具以 Markdown 檔案為核心。當您找到想存入知識庫的文章或文件頁面時,本轉換器讓您貼上頁面 HTML,在幾秒內取得乾淨的 Markdown 檔案——保留結構而不帶有原始 HTML 標籤的雜訊。字數顯示功能有助確認轉換過程中沒有遺失任何內容。

Pandoc 與瀏覽器轉換器的比較:何時使用哪個

Pandoc 是專業管道中文件轉換的黃金標準——一個命令列工具,可在數十種格式之間轉換,包括 HTML 轉 Markdown、Markdown 轉 PDF 等。它處理定義列表、腳注和複雜巢狀結構等邊緣情況,並支援比任何 JavaScript 轉換器更多的輸出格式:MultiMarkdown、Pandoc Markdown、AsciiDoc、reStructuredText 等。如果您在伺服器上建構自動化批次轉換管道,Pandoc 是正確的選擇。

對於一次性轉換、快速內容遷移,或處理不應離開裝置的敏感資料,瀏覽器轉換器更快速實用。無需安裝、無需學習命令列、即時出結果。本工具涵蓋絕大多數真實世界的 HTML 結構——標題、段落、列表、表格、程式碼區塊、連結、圖片——使其成為日常 HTML 轉 Markdown 需求的實用首選。若您需要在 Node 中以腳本方式轉換,Markdownify 和 h2m 是穩健的 npm 替代方案,但它們需要本工具完全跳過的專案設定。

Markdown 語法參考與輸出相容性

本工具遵循的主要 Markdown 慣例:標題使用 # 到 ###### 對應 h1–h6,粗體以 **雙星號** 包裹文字,斜體以 *單星號*,行內程式碼用反引號,圍欄程式碼區塊用三個反引號加可選語言識別符。連結遵循 [文字](網址) 模式,圖片使用 ![替代文字](圖片網址)。無序列表使用破折號前綴;有序列表使用數字加句點。Blockquote 在每行前加 >。

表格使用管道字元分隔欄位,標題行後跟破折號組成的分隔行(可選冒號用於對齊)。刪除線以 ~~雙波浪號~~ 包裹文字。輸出遵循 CommonMark 加 GitHub Flavored Markdown(GFM)擴充,相容於 GitHub、GitLab、VS Code 預覽、Notion、Obsidian 及幾乎所有現代 Markdown 渲染器。若您在平台間看到渲染差異,幾乎都是因為該平台使用非標準 Markdown 格式,而非輸出問題。

隱私保護、無限制使用與行動裝置支援

HTML 轉 Markdown 轉換器完全在瀏覽器中運行。沒有任何內容上傳至伺服器,沒有日誌記錄,也不需要帳號。這意味著貼上機密文件、內部 Wiki 或客戶內容都是安全的——內容永遠不會離開您的裝置。您甚至可以在頁面載入後斷開網路連線,工具仍可持續運作,這是沒有伺服器參與的最簡單證明。

沒有檔案大小限制、沒有每日轉換配額、也沒有付費牆。伺服器端處理檔案的線上轉換器,例如某些 Pandoc 網頁包裝器或文件轉換 API,通常將免費用戶的檔案大小限制在 1–5 MB,或每天僅允許少數次轉換。本工具沒有這些限制。它也適用於 iPhone 和 Android——從手機瀏覽器貼上 HTML,完成轉換,再將 Markdown 結果直接複製到 Notion、Obsidian 或任何其他應用程式,完全免費,無需下載應用程式。

Frequently asked questions

這個轉換器支援哪些 HTML 元素?

轉換器支援標題(h1–h6)、段落、粗體、斜體、刪除線、行內程式碼、圍欄程式碼區塊、引用區塊、水平線、連結、圖片、有序列表、無序列表、巢狀列表和表格——涵蓋完整的 CommonMark 和 GitHub Flavored Markdown(GFM)功能集。未知結構性元素如 div、section 和 article 會透明地傳遞其子元素,確保內容不會遺失。大多數真實世界的 HTML——來自 CMS 匯出、爬取的文章或文件頁面——都能乾淨轉換,無需您事後處理。

這個工具和 Pandoc 或 Turndown.js 有什麼不同?

Pandoc 是強大的命令列轉換器,但需要安裝、終端機以及了解其參數。它是自動化伺服器端管道的正確工具,但用於一次性轉換過於複雜。Turndown.js 是最常用的 HTML 轉 Markdown JavaScript 函式庫——每週 npm 下載量超過 250 萬次,GitHub 超過 10,800 顆星——本工具採用與 Turndown 相同的基於 DOM 的解析方法,確保可靠性。不同之處在於所有運算都在您的瀏覽器中進行:無需安裝、無需命令列、無需伺服器往返,且檔案不會離開您的裝置。Turndown 需要 Node 專案設定;本工具不需要。

為什麼要將 HTML 轉換為 Markdown?

Markdown 是技術寫作、文件撰寫和內容管理的標準純文字格式。將 HTML 轉換為 Markdown 讓您能夠將內容匯入 Notion 或 Obsidian、與程式碼一起提交至 Git 儲存庫、透過 Astro、Hugo 或 Jekyll 等靜態網站產生器發布,或輸入 AI 模型和 LLM。2024 年發布的研究顯示,與原始 HTML 相比,Markdown 在大型語言模型中減少了 68–87% 的 Token 用量——在建構 RAG 管道或準備微調資料集時,這是真實的成本和準確性差異。

可以用這個工具進行 CMS 遷移嗎?

可以——CMS 遷移是最常見的專業使用情境之一。貼上從 WordPress、Confluence、SharePoint、Ghost 或任何其他平台匯出的 HTML,即可獲得乾淨的 Markdown,可匯入新系統。WordPress 的匯出提供 HTML 內容區塊;Confluence 以 HTML 或 XHTML 匯出頁面——兩者均可乾淨轉換。為獲得最佳結果,請只貼上內容主體,而非包含導覽列和頁尾的完整頁面 HTML。團隊已使用瀏覽器 HTML 轉 Markdown 轉換,在不到兩天內遷移 150–200 頁的文件網站,無需使用命令列。

HTML 表格如何轉換為 Markdown?

表格轉換為 GitHub Flavored Markdown(GFM)管道表格格式,標題行後跟破折號分隔行。該格式適用於 GitHub、GitLab、VS Code 預覽、Notion、Obsidian、Docusaurus 及幾乎所有現代 Markdown 渲染器。巢狀表格會被扁平化,因為標準 Markdown 原生不支援。欄位對齊——透過 align 屬性或 CSS text-align 設定的左、中、右——使用分隔行中的冒號位置保留(例如::--- 表示左對齊,:---: 表示居中,---: 表示右對齊)。

這個轉換器可以離線使用嗎?

可以。轉換完全在瀏覽器中使用內建 DOM 解析器進行——不上傳任何檔案,頁面載入後也不需要網際網路連線。這使得使用機密 HTML 時非常安全,例如內部文件、專有 API 參考或不應離開裝置的客戶工作。您可以驗證這一點:開啟瀏覽器開發者工具,前往網路分頁,確認當您貼上 HTML 並觸發轉換時,沒有發出任何網路請求。沒有任何資料離開您的機器。

「移除多餘空白」功能是做什麼的?

它會移除 Markdown 輸出每行末尾的空格和定位符號,並將多個連續空行合併為單一空行。這使檔案保持整潔,避免可能影響嚴格 Markdown 解析器渲染的不可見空白——尤其是 GitHub 的解析器,它會將行尾空白標記為 lint 問題。這也讓輸出更容易放入執行空白檢查的文件工具中。在幾乎所有情況下保持此選項開啟都是安全的。只有極少數情況下行尾空白才具有語義意義。

巢狀列表能正確轉換嗎?

可以。巢狀的 ul 和 ol 元素會遞迴處理,每個層級在 Markdown 輸出中都有正確的縮排。混合巢狀——有序列表內的無序列表,或反之——也能正確處理。例如,有序列表內三層深的無序列表,每個層級都能獲得適當的四空格縮排,這是 CommonMark 標準。這是基於正規表達式的轉換器經常失敗並產生損壞 Markdown 的邊緣情況之一。基於 DOM 的解析能可靠地處理它。

輸出使用哪種 Markdown 格式?

輸出遵循 CommonMark 加 GitHub Flavored Markdown(GFM)擴充,用於表格和刪除線。CommonMark 是大多數平台使用的標準規格,GFM 增加了管道表格語法和 ~~ 刪除線,GitHub、GitLab 和 VS Code 均支援。這使輸出相容於 GitHub、GitLab、VS Code、Notion、Obsidian、Docusaurus、MkDocs 及大多數現代 Markdown 渲染器。如果您需要不含 GFM 擴充的嚴格 CommonMark,唯一有差異的元素是表格——其他所有元素完全相同。

可以將整個網頁轉換為 Markdown 嗎?

您可以貼上任何 HTML 片段或完整頁面主體。為獲得最佳結果,請只貼上主要內容區域——而非包含導覽、側邊欄和頁尾的完整文件——使輸出專注於有意義的內容。大多數開發者從瀏覽器開發者工具的「元素」面板只複製文章或文件的 div(右鍵點擊 → 複製 → 複製 outerHTML)。這樣可以獲得乾淨的內容 HTML,不含結構性頁面框架。轉換器也能處理完整頁面 HTML,但輸出將包含以連結平面列表形式轉換的導覽文字,這通常不是您想要的結果。

2026 年為什麼 Markdown 比 HTML 更適合 AI 和 LLM?

Perplexity、ChatGPT 和 Gemini 等 AI 系統現在讀取、分塊並重用網頁內容來生成答案。Markdown 是它們偏好的輸入格式,因為它去除了消耗 Token 而不增加語義意義的 HTML 結構標籤。用 <p class="article-body"> 標籤包裹的段落比純 Markdown 中相同的段落消耗更多 Token。2024 年發布的研究顯示,對於相同內容,Markdown 比原始 HTML 減少 68–87% 的 Token 用量——這直接降低 API 成本,並提高檢索增強生成(RAG)管道的信噪比。

行內程式碼和程式碼區塊如何處理?

行內程式碼元素(不在 pre 內的 code 標籤)以單個反引號包裹。程式碼區塊(pre > code 元素)以三個反引號圍欄包裹,遵循 CommonMark 和 GFM 標準。如果 code 元素有 'language-python' 或 'lang-python' 之類的 class,語言識別符會被提取並保留在開頭圍欄中以啟用語法高亮。從 GitHub README 頁面或文件網站轉換的程式碼區塊會在輸出中保留其語言標籤——因此您在 HTML 中擁有的語法高亮在 Markdown 中也能保留。

這個工具和 Markdownify 或 h2m 相比如何?

Markdownify 和 h2m 是用於建構管道中程式化 HTML 轉 Markdown 轉換的 Node.js npm 套件。當您需要在腳本中自動轉換數百個檔案時,它們是正確的選擇。本瀏覽器工具涵蓋了它們無法處理的使用情境:快速的一次性轉換、無法與伺服器共享的內容,以及完全不想設定 Node 專案的情況。轉換品質相近——三者都使用基於 DOM 的解析而非正規表達式——但本工具增加了即時預覽、複製按鈕和字元/字數統計,使其對內容工作更為實用。

這個工具在 iPhone 和 Android 上可以使用嗎?

可以,轉換器在行動瀏覽器上完全可用。從剪貼簿貼上 HTML,觸發轉換,然後複製 Markdown 結果——全部在手機或平板電腦上完成。介面會適應較小螢幕,以堆疊面板顯示。已在 iOS 17 的 Safari 和 Android 14 的 Chrome 上測試。一個常見的行動使用情境:從瀏覽器的分享選單取得文章的 HTML,轉換後直接在同一裝置上貼入 Obsidian 或 Notion,完全無需桌上型電腦。無需註冊、無需下載應用程式、無任何限制。

HTML 註釋和 script/style 標籤會如何處理?

HTML 註釋(<!-- ... -->)會從輸出中移除,因為 Markdown 沒有註釋語法,且註釋很少是實際內容的一部分。Script 標籤及其內容也會被丟棄——JavaScript 在 Markdown 中沒有意義。Style 標籤和行內 style 屬性也會被移除;CSS 樣式無法轉換為 Markdown,而語義意義(粗體、斜體、標題)透過元素類型而非視覺樣式來保留。如果一個 span 透過 CSS 而非 strong 或 b 標籤設為粗體,該樣式不會被帶入——這是內容格式轉換的正確行為。

有檔案大小或字元限制嗎?

沒有。由於不涉及伺服器,除了瀏覽器記憶體可處理的範圍外,沒有大小限制。實際上,瀏覽器 DOM 解析器可以處理數 MB 的 HTML 而不會出現問題——遠超任何真實 CMS 頁面。如果您正在轉換非常大的 HTML 檔案(完整的書籍匯出、非常長的爬取文章),請分段貼上而非一次全部貼入,以獲得最清晰的輸出。轉換本身無論大小都需要毫秒級時間,因為它直接在瀏覽器分頁的 JavaScript 中運行。

Related tools

檢視所有工具