Skip to main content
Back to Blog

Export, Don't Stall: How to Turn PDF Highlights into Clean Markdown, Notion Pages, and Downloadable MP3s

Export, Don't Stall: How to Turn PDF Highlights into Clean Markdown, Notion Pages, and Downloadable MP3s

You can highlight a hundred pages and still be stuck. The export step — not the reader, not the voice — decides whether those highlights become usable notes, podcast show notes, or background audio.

Here’s a short, practical guide. I tested the pieces that matter: text exports, metadata, and audio output. The tools: Readwise, Zotfile/Zotero, Notion’s API, and Speechify Studio. Each has clear strengths and one glaring limitation to know before you automate.

Why exports matter

Highlights are only useful when they move. You want:

  • clean Markdown you can edit or publish,
  • page or location markers so you can fact-check,
  • automatic syncing into your note database (Notion, Obsidian),
  • and finally audio files you can download and listen to on the go.

If the export step mangles locations, drops edits, or locks the format behind a UI, your workflow stalls.

What the tools actually do (the facts)

Readwise

  • Supports direct exports to Markdown and CSV, and integrations with note apps like Notion, Evernote, and Obsidian. (Readwise docs)
  • When exporting to Notion, Readwise creates a Readwise database and will append new highlights to existing pages. It can include highlight location or page numbers if you turn that option on. Edits you make in Readwise to an already-exported highlight won’t automatically propagate — you must refresh and re-export. (Readwise Notion docs)

Zotfile + Zotero

  • Zotfile is a widely used Zotero plugin that extracts highlighted text and annotations from PDFs and saves the extracted text into a Zotero note. That extraction is the standard way to move inline PDF highlights into a notes field you can export. (Zotfile project page)

Notion (API)

  • Notion’s API supports creating and updating pages using enhanced Markdown. You can POST a Markdown body to create a page, and retrieve a page as Markdown; Notion supports a broad set of block types in this flow. That makes programmatic imports from Markdown exports reliable for preserving structure. (Notion developer docs)

Speechify Studio

  • Speechify’s Studio product can generate voice-overs and allows downloading audio in .wav, .ogg, or .mp3 formats. That makes it a simple endpoint for turning exported text or Markdown into downloadable audio. (Speechify help)

A practical, automatable path (what worked)

1) Capture highlights in your reader of choice.

  • If you use Zotero on desktop/tablet, Zotfile extracts highlights into a Zotero note automatically when you return the annotated PDF from your tablet.
  • If you prefer a central sync for highlights from multiple sources (Kindle, Instapaper, web), use Readwise as your aggregator.

2) Export clean Markdown or a Notion-ready feed.

  • From Readwise: export to Markdown or enable the Notion export. Turn on “Include Highlight Locations” if you want page numbers/locations preserved. If you export to Notion, Readwise will create a table and append new highlights; edits require a manual refresh. (Readwise docs)
  • From Zotero: run Zotfile’s extract annotations; the extracted text lands in a Zotero note you can copy or script out to a Markdown file.

3) Import into your notes system.

  • If Notion is your destination, use Readwise’s built-in sync or push the Markdown file via Notion’s API POST /v1/pages with the markdown body. Notion will render headings, lists, code blocks, attachments, and other common block types from enhanced Markdown. (Notion docs)
  • If you prefer Obsidian/LogSeq, Readwise can export a folder of Markdown files you can drop straight into a vault.

4) Generate downloadable audio.

  • Feed the cleaned Markdown or plain text into a TTS tool that supports file downloads. Speechify Studio explicitly supports producing and downloading MP3/WAV/OGG files. That gives you a portable audio file you can stash on your phone or publish. (Speechify help)

This sequence is intentionally modular. Use Readwise as the central collector, export Markdown, import to Notion or your markdown vault, then send either the page text or a show-notes summary to a TTS studio to produce an MP3.

Caveats you need to plan for

  • Edits don't always flow two ways. Readwise appends new highlights but won’t automatically patch changes you make after an initial export — you must trigger a refresh. Do your final editing before the export if you want the exported file to be stable. (Readwise docs)
  • Annotation extraction can be messy. Zotfile’s extraction dumps highlighted text into a Zotero note — useful, but not always perfectly formatted. Expect to run a short normalization step (trim blank lines, fix heading levels) before sending text to TTS or a publishing pipeline. (Zotfile project page)
  • Not all tools tag page or location consistently. If you depend on precise page numbers for citations, turn on location export in Readwise or include the Zotero note metadata when exporting.
  • Audio chaptering is not universal. Speechify will export MP3 files; if you need chapter markers baked into an audio file (ID3 or podcast chapters), you’ll need an audio tool or editor that can insert ID3 chapter tags after the TTS render. (Tooling note — not all TTS studios add chapter metadata.)

Quick templates you can copy

  • Readwise -> Notion: Turn on Notion export, enable Include Highlight Locations, and set exports to run daily. Manually refresh after any mass edit.
  • Zotero -> Markdown -> Notion: Use Zotfile to extract annotations, run a small script to convert the Zotero note into a single Markdown file, then POST that file to Notion’s pages endpoint.
  • Markdown -> Speechify: Send your cleaned Markdown or text into Speechify Studio and download the MP3 for mobile listening or podcast publishing.

Bottom line

If you’re serious about listening to research, don’t optimize only for voice quality. Optimize for export fidelity. A clean Markdown export with preserved page locations buys you trust and reuse. Readwise and Zotfile both move highlights out of PDFs; Notion’s API makes structured imports reliable; Speechify gives you a straightforward MP3 output. Combine them and you can turn a stack of PDFs into accurate, listenable audio and editable notes — but only if you plan for export.

Summary: Treat exports as the product. Build the smallest, repeatable pipeline that preserves location metadata and gives you a downloadable audio file.

Sources