Integrate Microsoft's Markitdown tool to convert various file formats to Markdown for your vault.
-
Convert various file formats to Markdown:
- PowerPoint (PPTX)
- Word (DOCX)
- Excel (XLSX, XLS)
- Images (with EXIF metadata and OCR)
- Audio (with EXIF metadata and speech transcription)
- HTML
- Text-based formats (CSV, JSON, XML)
- ZIP files
- Youtube URLs
- And more!
-
Convert individual files or entire folders at once
-
Easy installation of the Markitdown Python package directly from the plugin
-
Optional use of Azure Document Intelligence for improved conversion quality
-
Support for third-party Markitdown plugins
- Install the plugin from the Obsidian Community Plugins browser
- Enable the plugin in Obsidian's settings
- The plugin will guide you through installing the Markitdown Python package
- Obsidian v0.15.0 or higher
- Python 3.7 or higher installed on your system
- Internet connection for initial Markitdown installation
- Click the "Convert to Markdown with Markitdown" ribbon icon in the left sidebar, or use the command palette to run "Convert file to Markdown with Markitdown"
- Select the file you want to convert
- Click the "Convert" button
- The converted Markdown file will be saved in your specified output folder and automatically opened
- Use the command palette to run "Convert folder contents to Markdown with Markitdown"
- Select the folder containing the files you want to convert
- Check the file types you want to include in the conversion
- Click the "Convert" button
- The converted Markdown files will be saved in your specified output folder
The plugin settings can be found in the Obsidian settings panel under "Markitdown":
- Python Path: Specify the path to your Python executable (default: "python")
- Enable Markitdown Plugins: Toggle to enable third-party Markitdown plugins
- Azure Document Intelligence Endpoint: Optionally add an Azure Document Intelligence endpoint for improved conversion quality
- Output Folder: Specify where the converted Markdown files should be saved (relative to vault root, default: "markitdown-output")
This plugin acts as a bridge between Obsidian and Microsoft's Markitdown Python library. When you convert a file:
- The plugin passes the file to the Markitdown Python library
- Markitdown processes the file and extracts its content and structure
- The content is converted to well-formatted Markdown
- The resulting Markdown is saved as a new file in your Obsidian vault
- Python not found: Make sure Python is installed on your system and the path is correctly set in the plugin settings
- Conversion errors: Check the console for error messages by pressing Ctrl+Shift+I (or Cmd+Opt+I on Mac)
- Missing dependencies: Some file formats may require additional Python dependencies. The plugin will try to install these automatically, but you may need to install them manually
- Clone this repo
- Make sure your NodeJS is at least v16 (
node --version
) npm i
oryarn
to install dependenciesnpm run dev
to start compilation in watch mode
- Copy over
main.js
,styles.css
,manifest.json
to your vaultVaultFolder/.obsidian/plugins/markitdown/
- This plugin integrates Microsoft's Markitdown Python library
- Built on the Obsidian Plugin System
- Created by Ethan Troy
This project is licensed under the MIT License - see the LICENSE file for details.