FormatArc 在瀏覽器中將 Notion HTML 匯出內容轉換為乾淨 Markdown 的畫面FormatArc 在瀏覽器中將 Notion HTML 匯出內容轉換為乾淨 Markdown 的畫面
作者: FormatArc 編輯部發布日期: 2026-09-02更新日期: 2026-09-02

Notion 匯出 Markdown 整理:修復 UUID 與 Callout,瀏覽器內免上傳

在 Notion 中按下「以 Markdown & CSV 匯出」之後,你拿到的 ZIP 檔案裡,每個檔案名稱尾部都多了一串 32 位的頁面 ID、Callout 區塊以未處理的原始 HTML 形式寫入、Toggle 則失去了收合結構變成平行段落。也有人直接複製貼上 Notion 頁面到編輯器,結果得到一堆塞滿 style 屬性的 span 標籤。要去除這類 span 與 inline style,可參考 HTML 貼上後轉 Markdown。Notion 匯出 Markdown 這件事其實有兩條路徑,選對路線就能大幅減少手動整理的時間。

如果你現在只是想把一兩頁機密文件馬上變成乾淨的 Markdown,最快速的做法是:在 Notion 中選擇「•••」→「匯出」→「HTML」,然後把匯出的 HTML 貼到 HTML 轉 Markdown 執行即可。所有轉換在瀏覽器內完成,不會上傳到任何外部伺服器。ZIP 批處理整理和 API 自動化的完整說明請繼續往下讀。

哪條路徑適合你

兩條路徑的最終目標相同:產出可攜性高的 Markdown,可以直接丟進 Obsidian、靜態網站產生器、README 或 LLM 提示詞中使用。差異在於起點不同,以及事後需要修正的範圍不同。

  • 路徑 A — Markdown & CSV ZIP 匯出:你想把整個工作區或某個頁面樹一次性遷移,不介意用批次腳本處理 UUID 檔名、Callout HTML 和同步區塊重複。往下讀 路徑 A
  • 路徑 B — 匯出 HTML 後在瀏覽器中轉換:對象只有一兩頁,內容涉及機密不適合上傳到任何伺服器,而且希望第一次就得到乾淨輸出。直接貼到瀏覽器端的 HTML 轉 Markdown 即可。往下讀 路徑 B

如果你想建立自動化管線,還有一個第三選項:Notion 於 2026 年 3 月推出的官方 Markdown Content API。這部分在兩條路徑之後再介紹。

Notion 如何產生 Markdown

Notion 是區塊型編輯器。一個頁面由段落、標題、列表、資料庫、Callout、Toggle、同步區塊、公式、嵌入內容等區塊組成樹狀結構,其中只有部分區塊有標準 Markdown 語法可以對應。當你要執行 Markdown 匯出時,Notion 會遍歷這棵樹,輸出它能表達的最接近形式。沒有 Markdown 對應的區塊會被遺漏、被拍平成純文字、或原封不動地留成 HTML。

Notion 官方說明中心明確指出,Callout 區塊「因為 Markdown 沒有對應語法,所以以 HTML 形式匯出」(原始說明在新分頁中開啟)。同一頁面也提到 Windows 檔案系統預設 MAX_PATH 260 字元路徑長度限制可能觸發的問題,並建議使用 7-Zip 解壓。除此之外的那些特殊行為並沒有被記載,往往要打開 ZIP 才後知後覺。

原生 Markdown & CSV 匯出的基本操作

無論選擇哪條路徑,Notion 內的匯出操作都是一樣的:點頁面右上角「•••」→「匯出」,格式選擇「Markdown & CSV」。Business 和 Enterprise 方案可以開啟「包含子頁面」選項,將該頁面下整棵樹打進同一個 ZIP。整個工作區的匯出則在「Settings → Workspace → General」中執行,規模大的工作區可能需要數小時才能完成。

路徑 A — 整理 Markdown & CSV ZIP 匯出

解開 ZIP 之後,每次都會遇到同樣的 8 個問題。以下逐一說明原因和實際的整理方法。

檔名和頁面連結多了 32 位頁面 ID

匯出的 .md 檔案名末端通常附有「文件標題 + 半形空白 + 32 位 16 進位頁面 ID」,而 Markdown 內部的 [頁面 mention] 連結也指向這個帶 ID 的檔名。如果手動改名,所有內部連結都會斷掉。標準解法是兩階段(2-pass)腳本處理:先從所有檔名建立「ID → 乾淨標題」的對照表,接著重寫所有 Markdown 內的連結位址,最後才把檔名本身改成乾淨標題。社群的 Notion's Markdown Export Quirks在新分頁中開啟 也描述了同樣的模式。

Windows 的 260 字元路徑上限

Notion 的深層巢狀頁面結構會產生類似 My Team's Handbook a1b2c3.../Onboarding e4f5g6.../Week 1 tasks h7i8j9....md 的超長路徑。Windows 預設 MAX_PATH 上限為 260 字元,很容易超過。Notion 官方說明建議「關閉建立資料夾選項」或「用支援長路徑的 7-Zip 解壓」。macOS 和大多數 Linux 檔案系統沒有同樣的 260 字元限制。

Callout 區塊以原始 HTML 輸出

帶有表情符號和背景色的 Notion Callout 在 Markdown & CSV 匯出中不會變成 Markdown 引用區塊,而是以行內 HTML 形式寫入。多數 Markdown 渲染器對行內 HTML 不做額外樣式處理,所以你在 Notion 中看到的彩色方框會消失,只剩下平淡的文字。實務上有兩種修正方式:把 Callout 改寫為 > 區塊引用(表情符號和背景色會丟失),或如果目標渲染器支援 GFM Admonition(> [!NOTE]),就轉成那種格式。

Toggle 可能失去收合結構

Notion 的 Toggle 是「標題下方藏著可收合內容」的結構。在 Markdown & CSV 匯出中,收合的包裝層可能遺失,標題和內容變成並排的普通段落。如果你需要在 GitHub 或靜態站點上保留收合功能,要手動用 <details><summary>標題</summary>內容</details> 包起來。這是 Markdown 標準允許的行內 HTML。

同步區塊在多個檔案中重複

同步區塊(Synced block)在 Notion 內是單一原始內容被多個頁面共享的機制,但匯出時每個頁面各自把內容複製一份寫入自己的檔案。這個狀態直接餵給 RAG 管線或搜尋索引,會產生大量近乎重複的 chunk,降低檢索品質。對策是手動處理:為每個同步區塊指定一個代表頁面作為正典(canonical),其他檔案中的重複內容用腳本或手動移除。

公式和嵌入內容變成純文字

Notion 的 LaTeX 公式以 $...$$$...$$ 純文字形式輸出。Obsidian 會把它們渲染為數學公式,GitHub 自 2022 年起也原生支援 $…$$$…$$ 數學公式渲染在新分頁中開啟。其他渲染器可能顯示為純文字。影片、Figma、X(原 Twitter)嵌入內容則通常只輸出一行 URL,不是 Markdown 圖片也不是 <iframe>

圖片路徑依賴匯出資料夾結構

圖片檔案存放在每個 .md 檔案旁邊的附件資料夾中,Markdown 內部的圖片連結以相對路徑指向該資料夾。如果把某個 .md 單獨移動到其他目錄,旁邊的附件資料夾不會跟著移動,所有圖片連結都會斷掉。解法有兩種:檔案和附件資料夾一起移動,或者把圖片連結統一重寫為 /assets/ 之類的集中路徑,再把圖片檔案也搬到該位置。

資料庫匯出為 CSV 而非 Markdown 表格

整頁資料庫會匯出為 CSV 檔案,每行對應的子頁面以 .md 形式存在同名資料夾中。不會產生 Markdown 表格形式的文字,資料庫的檢視設定(篩選、排序、分組)、關係(Relation)、匯總(Rollup)、公式(Formula)欄位也都不保留。如果想把資料庫內容變成 Markdown 表格,可以把該 CSV 貼到 CSV 轉 Markdown 立即產生管線表格。資料庫使用密集的專案,這一步就能省掉大量遷移時間。

路徑 B — 匯出 HTML 後在瀏覽器中轉換

如果只有寥寥幾頁,而且內容是企劃書、合約、內部知識庫這種嚴禁上傳到外部伺服器的文件,走 HTML 匯出是最快也最安全的路徑。

Notion 的匯出選項有 Markdown & CSV、HTML、PDF 三種。其中 HTML 保留的格式最豐富:Callout 的 HTML 結構、Toggle 包裝、內部連結都能維持。

轉換步驟如下:

  1. 在 Notion 中開啟目標頁面,點右上角「•••」→「匯出」→「HTML」(必要時勾選包含子頁面)。
  2. 打開產生的 .html 檔案,或用文字編輯器複製內容。
  3. 貼到 HTML 轉 Markdown 的輸入區,按下執行。
  4. 把輸出的乾淨 Markdown 複製到 Obsidian、CMS 或 LLM 提示詞中。

FormatArc 在瀏覽器中將 Notion HTML 匯出內容轉換為乾淨 MarkdownFormatArc 在瀏覽器中將 Notion HTML 匯出內容轉換為乾淨 Markdown

所有轉換都在你的瀏覽器中以 JavaScript 執行,不會有任何請求離開頁面。不需要註冊帳號、不需要 OAuth 授權、不需要工作區 token。相比需要把檔案上傳到伺服器的線上工具,瀏覽器本地轉換在資安上更有保障。

轉換後保留的元素:標題、列表、連結、表格、程式碼區塊、粗體、斜體。被移除的元素:行內 style 屬性、class 名稱、多餘的包裝 <div> 標籤、data-* 屬性,以及其他在 Markdown 中沒有對應語法的視覺標記。Notion 的 Callout 標籤會以行內 HTML 結構保留,但 Notion App 內的背景色和樣式不會帶過來。若目的是餵給 LLM,建議先了解 LLM 的 Markdown 與 HTML 比較 中關於 token 省約的討論。

路徑 C — Notion Markdown Content API(API 版本 2026-03-11

Notion 在 2026 年推出了第一方 Markdown 內容端點。官方開發者文件在新分頁中開啟說明了 API 介面,請求時必須指定 API 版本標頭 2026-03-11。不再需要逐個區塊查詢再轉換,一個請求就能把整頁取得為 Markdown:

  • GET /v1/pages/{id}/markdown — 以 Markdown 形式取得頁面內容
  • POST /v1/pagesmarkdown 作為請求體)— 以 Markdown 建立新頁面
  • PATCH /v1/pages/{id}/markdown — 以 Markdown 更新既有頁面內容

Notion 稱這種格式為 Enhanced Markdown。標準標題、列表、連結、強調使用常規 Markdown 語法;CommonMark 沒有對應物的區塊則以 XML 風格標籤表示:Callout 是 <callout>...</callout>、Toggle 是 <details><summary>...</summary>...</details>、資料庫是 <database> 引用標籤。下游工具能解讀這些標籤的話,路徑 A 中遺失的資訊就能完整傳遞;不支援的話,可以在同一個消費 API 的腳本中用正規表達式移除或改寫。這些端點同時支援 Public Integration、Internal 和 Personal token。

使用 API 時有兩點需要注意:

  • 檔案區塊(圖片、PDF)以帶有效期的簽章 URL(pre-signed URL)返回。如果只存 Markdown 文字而不立即下載檔案原始檔,之後圖片連結會過期失效。
  • 超過 20,000 個區塊的大型文件,回應會被截斷(truncate),並回傳 unknown_block_ids 清單。需要以後續請求分批次取得剩餘內容。

單次處理機密頁面或不想上傳的文件,路徑 B(HTML 匯出後瀏覽器轉換)最快。API 的真正價值在於自動化管線:把 Notion 頁面同步到 CMS、維護 RAG 搜尋索引、定期大批量備份等場景。

比較 — 從 Notion 取得 Markdown 的 4 種方式

方式適合場景Callout / Toggle是否含 UUID瀏覽器內完成
原生 Markdown & CSV 匯出整個工作區批量遷移、批次腳本整理Callout 為原始 HTML,Toggle 包裝可能遺失有(檔名與連結)是(ZIP 在本地)
Notion HTML 匯出 → HTML 轉 Markdown機密單頁或數頁的快速轉換Callout 以行內 HTML 保留,Toggle 保留 <details>
notion-to-md在新分頁中開啟 npm 函式庫需要逐區塊自訂轉換規則的管線可依區塊設定可設定是(Node / CLI)
Notion Markdown Content API(版本 2026-03-11以 API token 運作的定期自動化管線<callout> / <details> Enhanced Markdown 標籤無(不產生檔案)否(伺服器端 API 呼叫)

常見問題

為什麼 Notion 匯出的檔名會附 32 位頁面 ID?

Notion 內部每個區塊和頁面都有唯一 ID。匯出時,如果同一資料夾內有多個同名頁面(例如好幾頁都叫「會議紀錄」),不加 ID 就會衝突,所以 Notion 在檔名尾部附上 32 位 16 進位 ID 來避免覆蓋。代價是檔名可讀性變差,而且容易觸發 Windows 路徑長度上限。HTML 匯出和 Markdown Content API 因為各自以單一檔案或 API 回應處理,不會遇到這個問題。

把機密文件貼到線上轉換工具安全嗎?

取決於該工具是瀏覽器端處理還是伺服器端處理。瀏覽器端工具(例如 FormatArc 的 HTML 轉 Markdown)在你本機瀏覽器的 JavaScript 引擎中完成解析,任何資料都不外傳。伺服器端 SaaS 則會收到你上傳的檔案或文字。處理企劃書、合約、未公開技術文件時,建議用瀏覽器開發者工具的網路分頁確認是否真的有請求發出,來驗證資料確實沒有離開你的機器。更多使用前應確認的隱私項目,見 轉換工具使用前必做的 5 項隱私檢查

API 和匯出該選哪個?

需要定期、重複的自動化作業(Notion 頁面餵給靜態站點建置、RAG 索引保持同步、數百頁規模的定期遷移)時,API 是最適合的選擇。單次批量遷移且事後願意手動或腳本整理的話,Markdown & CSV 匯出就足夠。機密的單頁文件、不想讓資料經過任何伺服器的話,HTML 匯出加瀏覽器轉換工具是最高效的路。

Notion Markdown Content API 會保留 Callout 和 Toggle 嗎?

會,以 Enhanced Markdown 標籤形式保留。Callout 是 <callout>...</callout>,Toggle 是 <details><summary>...</summary>...</details>。兩者都是 CommonMark 允許的行內 HTML,GitHub 等主流平台能正常渲染 <details> 為可收合區塊。Callout 標籤在 Notion 以外的平台上沒有預設樣式,需要自行套用 CSS 或改寫為區塊引用(> )。

匯出時資料庫會變成什麼?

原生 Markdown & CSV 匯出中,每個資料庫在 ZIP 頂層寫入 CSV 檔案,每行對應的詳細頁面以 .md 形式存在同名資料夾中。資料庫的檢視設定(篩選、排序、分組)、公式、關係欄位不會保留。想把資料庫變成 Markdown 表格,可以將 CSV 貼到 CSV 轉 Markdown 立即產生管線表格。如果同時需要每行的詳細頁面,兩邊都保留即可。

總結

Notion 的 Markdown 匯出不是壞了,而是有損(lossy)的。路徑 A 能一次性取得整個工作區,但代價是 8 種格式問題需要批次整理。路徑 B 透過 HTML 轉 Markdown 讓機密文件也能在瀏覽器內安全轉換,不需要註冊帳號也不需要上傳。Markdown Content API(版本 2026-03-11)則是自動化管線場景下的第三選擇。資料庫表格需要轉為 Markdown 表格時,搭配 CSV 轉 Markdown 一併處理會更省事。更廣泛的 HTML 轉 Markdown 工具比較與對照表,可見 HTML 轉 Markdown 指南