Document Exporter

approved

by rogerdigital

Export notes, folders, and query results into Markdown bundles, HTML documents, and print-ready exports. - This plugin has not been manually reviewed by Obsidian staff.

5 stars4,706 downloadsUpdated 24d agoMIT

Document Exporter

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.

Document Exporter selected files to PDF

Features

  • Batch export — export an entire folder or selected files at once, preserving directory structure
  • Embed expansion — note embeds (![[Note]], ![[Note#Heading]]) are inlined into exports, with cycle detection and a depth limit
  • PDF — generates a print-ready .pdf with native Obsidian rendering
  • Word document — generates a .docx document for editing and sharing
  • EPUB e-book — generates a self-contained .epub with embedded images and a navigable table of contents (desktop and mobile)
  • Markdown bundle — batch export creates one .md file per source note plus a shared assets/ directory, with attachments copied and links rewritten
  • HTML document — batch export creates one standalone .html per source note, with table of contents, native rendering, and linked assets
  • Progress bar with cancel — visual progress indicator for every export, with a cancel button that preserves already-exported files

Usage

Multiple ways to start an export:

Entry pointHow
Sidebar iconClick the export icon in the left sidebar
Right-click a fileFile explorer → right-click a Markdown file → "Export this file"
Right-click a folderFile explorer → right-click a folder → "Export this folder"
Right-click in editorRight-click inside a note → "Export current file"
Command paletteCmd/Ctrl+P → "Export documents"

Export dialog

  1. Choose source — current file, folder, or selected files
  2. Choose format — PDF, Word document, EPUB e-book, Markdown bundle, or HTML document. PDF is not offered on mobile.
  3. Set output folder — type a path, click Vault to pick from vault folders, or Choose folder to select a system folder (desktop only)
  4. Set file name (single file) or folder name (batch export) — defaults to the source file or folder name
  5. Click Next → review the summary → click Export

A progress bar appears during export showing the current step or file. Click Cancel to stop; already-exported files are kept.

Examples

Export the current note as PDF

  1. Open a note → right-click → Export current file
  2. Format: PDF → click Export
  3. Result: exports/<filename>.pdf

Export a folder as Markdown bundle

  1. Right-click a folder → Export this folder
  2. Format: Markdown bundle → click Export
  3. Result: exports/<foldername>/<filename>.md + assets/ (if images exist)

Export selected files as HTML

  1. Start an export from sidebar icon or command palette
  2. Source: Selected files → pick files → Format: HTML document
  3. Click Export
  4. Result: a standalone .html per file with linked assets

Settings

Open Settings → Document Exporter. All settings are indexed and searchable from Obsidian's settings search (Obsidian 1.13+).

SettingDescriptionDefault
Default export formatFormat pre-selected when opening the dialogPDF
Output folderWhere exported files are savedexports
Expand note embedsInline ![[Note]] embeds into exported documentsOn
Include source path commentsAdd HTML comments showing each section's originOff
Copy attachmentsCopy referenced images and files into the exportOn
Overwrite existing exportsReplace 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

Format capabilities

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.

FormatRendering pathLocal imagesNon-image attachmentsLinksPlatformsDocumented limitations
PDFObsidian native printCopied to assets/Copied to assets/Rewritten relativeDesktop onlyRequires the desktop app
Word (.docx)Format-specific converterEmbedded in the documentCopied to assets/Internal headings, external URLsDesktop, mobileBasic conversion; no exact visual parity
EPUBFormat-specific converterPackaged inside the .epubNot packagedCross-note links omittedDesktop, mobileImages only
Markdown bundleMarkdown passthroughCopied to assets/Copied to assets/Rewritten relativeDesktop, mobile
HTMLNative in-app renderer (basic converter as fallback)Copied to assets/Copied to assets/Rewritten relativeDesktop, mobile

Artifact verification status: the automated headless contract suite covers Markdown, HTML (fallback path), DOCX and EPUB output — link destinations, attachment bytes, package XML and relationships. Interactive verification of exports produced through the app's own dialogs on each platform is tracked in the 1.0.0 release readiness record.

Limitations

  • Block-reference embeds (![[Note#^block]]) are not expanded
  • EPUB embeds images only; other attachments and links between notes are omitted
  • Dataview queries are not executed during export
  • Canvas files are not supported
  • PDF export requires the desktop app and is not offered on mobile

Privacy

Document Exporter does not make any network requests. All processing happens locally. No data is sent to external services.

Installation

Search "Document Exporter" in Settings → Community plugins → Browse and click Install.

Manual installation

Copy main.js, manifest.json, and styles.css into your vault's .obsidian/plugins/document-exporter/ directory.

Development

npm install
npm run dev      # watch mode
npm run build    # production build
npm test         # run tests

License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.