Import complex documents and other sources into Obsidian using Microsoft MarkItDown, with optional Docling and Marker converters.
SourceDown converts PDFs, Office documents, Outlook messages, images, audio, web pages, YouTube transcripts, archives, and text-based formats into Markdown notes.
- Import files from the ribbon or your computer.
- Convert vault attachments from the right-click menu.
- Import web links; YouTube links require transcript support.
- Save embedded images beside the generated note.
- Preserve the source and conversion time in note properties.
- Keep duplicate imports by giving them numbered filenames.
- Choose a converter per file and see simple file-type recommendations.
- Record the selected conversion engine in note properties.
SourceDown is available from the Obsidian Community plugins marketplace.
- Open Settings → Community plugins → Browse.
- Search for SourceDown, then choose Install and Enable.
- Open SourceDown settings and choose Apply changes.
SourceDown is desktop-only and requires Obsidian 1.5 or newer plus Python 3.10 or newer.
Choose files from the ribbon panel, paste a URL, or right-click a vault file.
Converted notes include source metadata. Embedded images are saved beside the note in an asset folder, and duplicate imports receive numbered filenames.
MarkItDown is the default and best general choice. Docling and Marker are optional, larger converters. Docling can help with complex layouts, OCR, tables, and scanned documents; Marker can help with equations, forms, images, tables, and technical documents.
Conversion engines and optional MarkItDown format support can be selected in SourceDown settings. Docling and Marker are disabled by default. Converter changes are installed into the existing environment; SourceDown rebuilds it only when it is damaged. Choose Apply changes after enabling support.
| Source | Extra enabled by default | Opt-in extra |
|---|---|---|
| PDF, DOCX, PPTX, XLSX | Yes | — |
| Outlook MSG, legacy XLS | — | Outlook or XLS |
| MP3, WAV, M4A, FLAC | — | Audio transcription |
| YouTube links | — | YouTube transcription |
| Web pages, HTML, CSV, JSON, XML, ZIP, EPUB, images, and plain text | No extra required | — |
The default extras cover common document imports without installing every optional dependency. Existing installations keep their saved choices. Docling and Marker manage their own format dependencies.
The plugin installs selected converters into a private virtual environment. On Windows this is %LOCALAPPDATA%\SourceDown\.venv; it does not modify global Python packages or store the environment inside your vault. The installation and selections are shared between vaults.
Docling and Marker are substantially larger than MarkItDown and may download models when first used. Marker model licensing has additional terms; review the Marker repository before enabling it.
The shared installation only grows when a vault applies its selections, so one vault cannot remove converters used by another. Converter status and version checks are local and do not contact PyPI. Local files are converted on your computer. Importing a URL or YouTube transcript requires network access to that source.
Requires Bun 1.3.14 or newer.
bun ci
bun run test
bun run check
bun run buildmain.js is generated by bun run build and ignored by git. bun run deploy is optional and copies the release assets into a local vault when SOURCE_DOWN_DEPLOY_DIR or OBSIDIAN_PLUGIN_DIR is set, for example SOURCE_DOWN_DEPLOY_DIR="$HOME/.obsidian/plugins/sourcedown" bun run deploy.
Dependabot checks the Obsidian build dependencies weekly.