rogerdigital6k downloadsExport notes, folders, and query results into Markdown bundles, HTML documents, and print-ready exports.
Export single notes, entire folders, or hand-picked files into PDF, Word, EPUB, Markdown bundles, and HTML documents. Supports batch export with directory structure preservation.

![[Note]], ![[Note#Heading]]) are inlined into exports, with cycle detection and a depth limit.pdf with native Obsidian rendering.docx document for editing and sharing.epub with embedded images and a navigable table of contents (desktop and mobile).md file per source note plus a shared assets/ directory, with attachments copied and links rewritten.html per source note, with table of contents, native rendering, and linked assetsMultiple ways to start an export:
| Entry point | How |
|---|---|
| Sidebar icon | Click the export icon in the left sidebar |
| Right-click a file | File explorer → right-click a Markdown file → "Export this file" |
| Right-click a folder | File explorer → right-click a folder → "Export this folder" |
| Right-click in editor | Right-click inside a note → "Export current file" |
| Command palette | Cmd/Ctrl+P → "Export documents" |
A progress bar appears during export showing the current step or file. Click Cancel to stop; already-exported files are kept.
exports/<filename>.pdfexports/<foldername>/<filename>.md + assets/ (if images exist).html per file with linked assetsOpen Settings → Document Exporter. All settings are indexed and searchable from Obsidian's settings search (Obsidian 1.13+).
| Setting | Description | Default |
|---|---|---|
| Default export format | Format pre-selected when opening the dialog | |
| Output folder | Where exported files are saved | exports |
| Expand note embeds | Inline ![[Note]] embeds into exported documents |
On |
| Include source path comments | Add HTML comments showing each section's origin | Off |
| Copy attachments | Copy referenced images and files into the export | On |
| Overwrite existing exports | Replace existing export files when enabled. When disabled and the destination already exists, the export uses a new timestamped folder for its documents, attachments and report. "Destination" means the selected root for a single note and the batch leaf for folder/selected-file exports — including an existing empty destination. No source folder or previous export is moved or changed; only the new export's destination changes. | Off |
Native rendering (Obsidian's own engine) is used for desktop PDF and in-app HTML; DOCX and EPUB use format-specific basic conversion. Exact visual parity with Obsidian is not promised.
| Format | Rendering path | Local images | Non-image attachments | Links | Platforms | Documented limitations |
|---|---|---|---|---|---|---|
| Obsidian native print | Copied to assets/ |
Copied to assets/ |
Rewritten relative | Desktop only | Requires the desktop app | |
| Word (.docx) | Format-specific converter | Embedded in the document | Copied to assets/ |
Internal headings, external URLs | Desktop, mobile | Basic conversion; no exact visual parity |
| EPUB | Format-specific converter | Packaged inside the .epub |
Not packaged | Cross-note links omitted | Desktop, mobile | Images only |
| Markdown bundle | Markdown passthrough | Copied to assets/ |
Copied to assets/ |
Rewritten relative | Desktop, mobile | — |
| HTML | Native in-app renderer (basic converter as fallback) | Copied to assets/ |
Copied to assets/ |
Rewritten relative | Desktop, mobile | — |
![[Note#^block]]) are not expandedAll processing happens locally. The only network activity is fetching remote resources referenced by the note itself during export rendering (for example http(s) images); exported documents keep those references, so a browser or reader opening them may load the same resources. No telemetry is collected and no document content is sent to any external service.
Search "Document Exporter" in Settings → Community plugins → Browse and click Install.
Copy main.js, manifest.json, and styles.css into your vault's .obsidian/plugins/document-exporter/ directory.
npm install
npm run dev # watch mode
npm run build # production build
npm test # run tests
MIT