How to Export OneNote to Markdown (2026 Guide)
OneNote is where most Microsoft 365 users’ best thinking lives — meeting notes, personal journals, project plans, research. But when you want that content elsewhere — Obsidian, Notion, a Git repo, or an AI prompt — OneNote’s proprietary format fights you.
This guide covers every method that actually works in 2026.
Why Export OneNote to Markdown?
- Moving to a Markdown-first tool — Obsidian, Logseq, Foam, or a Git-based docs setup
- Feeding AI workflows — Claude and ChatGPT need plain text, not OneNote’s XML blobs
- Archival — your notebooks sync to OneDrive but you don’t own the format
- Cross-platform access — OneNote on Linux is painful; Markdown files work everywhere
- Plain-text search —
ripgrepthrough a folder of Markdown beats OneNote’s fuzzy search any day
Method 1: Save Chrome Extension (on the OneNote Web App)
Save works on onenote.com and captures any OneNote page as clean Markdown in one click.
What Save captures from OneNote:
- Page title, section, notebook
- Last-modified timestamp
- Full page body with heading hierarchy
- Bulleted and numbered lists (including nested)
- Tables rendered as Markdown tables
- Inline images as Markdown references
- Embedded files linked as Markdown URLs
- Checklists preserved as GitHub-flavored Markdown task lists
- Highlighted text rendered as Markdown emphasis
What Save strips:
- OneNote’s navigation panes and ribbon
- Drawing annotations (OneNote’s ink → a captured image reference)
- Presence indicators for co-authors
When it’s the right tool: individual pages, working on the web app (which Save runs in), quick extraction for an AI prompt.
Method 2: Microsoft Graph API
For scriptable bulk exports, the Microsoft Graph OneNote API exposes notebooks, sections, and pages.
Typical flow:
- Register an Azure AD app with
Notes.ReadorNotes.Read.Allpermission - Acquire a token via OAuth or device-code flow
GET /me/onenote/notebooks→ list notebooksGET /me/onenote/sections→ list sectionsGET /me/onenote/pages→ list pages, with filtersGET /me/onenote/pages/{id}/content→ retrieve page HTML- Convert HTML to Markdown with Pandoc or Turndown
Pros: covers entire notebooks, scriptable, scheduled jobs possible.
Cons: auth setup, throttling at large scale, HTML-to-Markdown step needs polishing for drawings and equations.
Method 3: Desktop OneNote + Export to Word + Pandoc
A low-tech but reliable path:
- Open OneNote desktop → Section → Export → Word (.docx)
- Run Pandoc:
pandoc input.docx -f docx -t gfm -o output.md - Clean up the output (images end up as
media/image1.pngreferences)
Pros: no API setup, handles most content including equations.
Cons: manual, loses checklists (they become plain bullets), one section at a time.
Method 4: onenote-to-markdown Community Tools
Open-source projects that target OneNote:
- Evernote2Md — if you export OneNote → Evernote first, then this converts Evernote to Markdown. Two-hop but battle-tested.
- onenote-md-exporter — direct OneNote → Markdown in .NET, bulk-capable, preserves attachments.
- Pandoc with DOCX pipeline — as described above.
When they shine: bulk migration from a big personal OneNote archive, where speed > fidelity.
Handling OneNote’s quirks
- Drawings / ink — Save captures them as image references. Scripted exports need OCR if you want the text inside them.
- Equations — LaTeX in the source, but rendered as images or MathML in the export. Pandoc handles MathML → LaTeX conversion if you dig into the flags.
- Nested pages (OneNote’s parent/child page hierarchy) — preserve the structure in your output folder layout for easy navigation.
- Printouts (PDFs embedded as pages) — these become links to the attachment in exports, not the content itself. Extract with OCR separately if you need the text.
The practical workflow
For most users:
- “I want this one OneNote page in my notes” → open it on onenote.com, click Save, done.
- “I want to migrate a full personal notebook” → use
onenote-md-exporteror the DOCX + Pandoc path. Budget 2–4 hours. - “I want a scheduled archive of our team’s shared notebook” → Microsoft Graph API with a nightly cron.
- “I want this page as Claude context right now” → Save. Output is already optimised for LLM ingestion.
What LLMs want from OneNote exports
When the end goal is feeding pages to Claude or ChatGPT:
- Flatten tables into Markdown tables. OneNote’s visual table format doesn’t tokenise well as an image.
- Drop page chrome (section tabs, page titles in sidebars) — keep only the content.
- Preserve checklist state — “
- [x] Deploy” is information; “Deploy” alone is less useful. - Include the page title and notebook context as frontmatter so the LLM knows what file it’s reading.
Save handles these by default. Scripted exports need the post-processing step.
The bottom line
OneNote is a great captive environment. Its export story is the worst of the big note-taking tools. Markdown liberates.
- Ad-hoc page export: Save on onenote.com. 5 seconds per page.
- Bulk notebook migration:
onenote-md-exporteror Graph API + Pandoc. - Scheduled archival: Graph API + a scheduled job.
Your notes are yours. Get them into a format that will still work in ten years.
## Continue reading
How to Export ClickUp Docs to Markdown (2026 Guide)
Export ClickUp Docs, tasks, and comments to clean Markdown. Methods compared: Chrome extension, ClickUp's native export, API, and workflow automation.
How to Export Google Docs to Markdown (2026 Guide)
Every way to export Google Docs to clean Markdown — headings, tables, images, comments intact. One-click extension, built-in options, and API methods compared.
How to Export Quip Documents to Markdown (2026 Guide)
Migrate off Quip before Salesforce sunsets it. Practical methods to export Quip documents to clean Markdown — Chrome extension, Quip export APIs, and archival workflows.
How to Export SharePoint Pages to Markdown (2026 Guide)
Escape SharePoint's proprietary format. Methods for exporting SharePoint pages and OneNote content to clean, portable Markdown — Chrome extension, Microsoft Graph API, and scripted approaches.
Written by
Jean-Sébastien Wallez
I've been making internet products for 10+ years. Built Save on weekends because I wanted my own reading library in clean markdown for Claude and Obsidian. Write here about web clipping, AI workflows, and the small things that make a personal knowledge base actually useful.