No description
Find a file
Ethan Troy de9b2a32d0
Merge pull request #5 from ethanolivertroy/copilot/fix-diacritics-support-issue
Fix Unicode/diacritics support by setting PYTHONUTF8 environment variable
2026-01-16 00:26:02 -05:00
.github Add CODEOWNERS 2025-12-14 03:16:07 -05:00
.editorconfig Initial commit 2025-03-07 23:54:16 -05:00
.eslintignore Initial commit 2025-03-07 23:54:16 -05:00
.eslintrc Initial commit 2025-03-07 23:54:16 -05:00
.gitignore Clean up repository and update .gitignore 2025-03-10 16:36:53 +00:00
.npmrc Initial commit 2025-03-07 23:54:16 -05:00
esbuild.config.mjs Initial commit 2025-03-07 23:54:16 -05:00
LICENSE Update to MIT License and add license link in README 2025-03-10 16:29:32 +00:00
main.ts Fix diacritics support by setting PYTHONUTF8 environment variable 2025-11-12 23:52:06 +00:00
manifest.json Update plugin ID and description for Obsidian community submission 2025-03-10 16:40:09 +00:00
package-lock.json first try 2025-03-10 14:49:56 +00:00
package.json Fix Markitdown command execution syntax 2025-03-10 15:32:59 +00:00
README.md Update plugin ID and description for Obsidian community submission 2025-03-10 16:40:09 +00:00
styles.css fixed css and any issues 2025-03-11 20:30:01 +00:00
tsconfig.json Initial commit 2025-03-07 23:54:16 -05:00
version-bump.mjs Initial commit 2025-03-07 23:54:16 -05:00
versions.json Fix Markitdown command execution syntax 2025-03-10 15:32:59 +00:00

Markitdown File Converter

Integrate Microsoft's Markitdown tool to convert various file formats to Markdown for your vault.

Features

  • Convert various file formats to Markdown:

    • PDF
    • 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

Installation

  1. Install the plugin from the Obsidian Community Plugins browser
  2. Enable the plugin in Obsidian's settings
  3. The plugin will guide you through installing the Markitdown Python package

Requirements

  • Obsidian v0.15.0 or higher
  • Python 3.7 or higher installed on your system
  • Internet connection for initial Markitdown installation

Usage

Converting a single file

  1. 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"
  2. Select the file you want to convert
  3. Click the "Convert" button
  4. The converted Markdown file will be saved in your specified output folder and automatically opened

Converting multiple files in a folder

  1. Use the command palette to run "Convert folder contents to Markdown with Markitdown"
  2. Select the folder containing the files you want to convert
  3. Check the file types you want to include in the conversion
  4. Click the "Convert" button
  5. The converted Markdown files will be saved in your specified output folder

Configuration

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")

How it works

This plugin acts as a bridge between Obsidian and Microsoft's Markitdown Python library. When you convert a file:

  1. The plugin passes the file to the Markitdown Python library
  2. Markitdown processes the file and extracts its content and structure
  3. The content is converted to well-formatted Markdown
  4. The resulting Markdown is saved as a new file in your Obsidian vault

Troubleshooting

  • 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

Development

  • Clone this repo
  • Make sure your NodeJS is at least v16 (node --version)
  • npm i or yarn to install dependencies
  • npm run dev to start compilation in watch mode

Manually installing the plugin

  • Copy over main.js, styles.css, manifest.json to your vault VaultFolder/.obsidian/plugins/markitdown/

Credits

License

This project is licensed under the MIT License - see the LICENSE file for details.