Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

MarkItDown Flow

greatgc-flowgreatgc-flow265 downloads

Instantly convert PDFs, Office documents, images, and audio into beautifully structured Markdown. Powered by Microsoft MarkItDown with smart AI fallback phases for flawless formatting.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates9

MarkItDown Flow is a powerful unified engine and Obsidian plugin that flawlessly converts data of any format—images, PDFs, audio, video, and archives (ZIP)—into pristine Markdown.

Going beyond simple text extraction, it guarantees zero-loss Markdown conversion through a 4-Phase Intelligent Fallback Pipeline (Offline OCR ➔ AI Vision ➔ Azure DocIntel ➔ Azure Content Understanding).


✨ Key Features

  • 📴 Robust Offline Engine (Phase 1): Fast and cost-free offline text extraction utilizing ensemble OCR such as Tesseract and EasyOCR.
  • 🤖 Smart AI Vision Fallback (Phase 2): Automatically routes to OpenAI (GPT-4o), Anthropic (Claude), and Google (Gemini) vision models when offline extraction fails or encounters complex images.
  • 🏢 Azure Enterprise Integration (Phase 3 & 4): Perfectly structures complex PDF layouts and multimedia via Azure Document Intelligence (4.0 GA) and Azure Content Understanding.
  • 📦 Full CLI Support: Can be used independently as a Python CLI environment anywhere, even without Obsidian.
  • 🛡️ Ironclad Security: API keys are injected via environment variables (process.env) rather than CLI arguments, ensuring they are never exposed to logs or process monitoring tools.
  • 🌍 Multilingual & Timezone Support: Supports 8 languages via the output_lang setting and automatically records document metadata aligned to your local timezone (timezone_offset).
  • 🗂️ Physical Inline Asset Extraction: Physically extracts Base64 images hidden inside Markdown into an independent folder and maps the paths automatically.

🛠️ User Manual: Installation & Usage

1. Using as an Obsidian Plugin

Installation:

  1. Clone this repository or download the released files: main.js, manifest.json, styles.css, and the engine/ folder.
  2. Create the <your-vault>/.obsidian/plugins/markitdown-flow/ folder inside your Obsidian vault and place all files there.
  3. In Obsidian, go to Settings ➔ Community plugins ➔ enable MarkItDown Flow.
  4. In the plugin settings screen, set your Python path and install the required packages (markitdown, Pillow, geopy, etc.).

Usage:

  • Ribbon Icon: Click to convert a desired file.
  • Command Palette:
    • Convert file to Markdown (Single file conversion)
    • Convert folder to Markdown (Convert an entire folder)
  • Drag & Drop: Dragging and dropping an image or PDF file into the editor will automatically convert and insert it into your active note!

2. Using as a CLI (Standalone Python Script)

You can use the powerful conversion engine independently in your terminal (CLI) without opening Obsidian.

Install Required Packages:

cd engine/src
pip install markitdown Pillow geopy
# Optional (if using AI)
pip install openai anthropic google-genai azure-ai-documentintelligence

CLI Usage Examples:

# Basic file conversion (Output saved to a file)
python markitdown_wrapper.py --input "sample.pdf" --output "result.md"

# Extract assets (e.g., images) as physical files
python markitdown_wrapper.py --input "sample.pdf" --output "result.md" --extract-assets --asset-dir "assets/"

# Pass additional options (as a JSON string)
python markitdown_wrapper.py --input "sample.png" --output "result.md" --plugin-args '{"output_lang": "en", "exhaustive_mode": true}'

(Security: Do NOT put API keys in --plugin-args! Set the DOCINTEL_CREDENTIAL and LLM_API_KEY environment variables; the Python engine will detect them and operate safely.)


⚙️ Detailed Options (Plugin Args & Options)

These are the core options that can be passed via the settings screen or CLI --plugin-args.

Option Name Type Default Description
output_lang string "en" Output UI language (Supported: en, ko, ja, zh, hi, fr, es, ar)
timezone_offset float null Timezone for metadata (e.g., 9.0 for Korea). Applies system local time if unset.
exhaustive_mode boolean false Forces execution of all pipelines (AI, DocIntel, etc.) even if the offline phase succeeds.
extract_archives boolean false Recursively extracts ZIP and TAR files, converting all contents to Markdown.
enable_captions boolean false Automatically appends detailed caption generation instructions to AI prompts.
max_recursion_depth int 5 Maximum depth limit for recursive extraction of archives.
docintel_target_mimes list ["application/pdf", ...] Target MIME types processed by Azure DocIntel.
ai_target_mimes list ["image/", ...] Target MIME types processed by LLM Vision AI.
pdf_layout boolean true Preserves layout formatting during PDF conversion (MarkItDown core option).

(Note: In the plugin UI, AI model API Keys and Endpoints are securely collected via Password fields.)


🔒 Security & Privacy

NEVER hardcode API keys in the source code or GitHub! MarkItDown Flow keeps user API keys strictly local (data.json). When invoking the subprocess, it passes them via Operating System Environment Variables (Env Vars) instead of Command Line Arguments (CLI), structurally preventing leaks to hackers or process monitoring tools.


👨‍💻 Development & Contributing

git clone https://github.com/greatgc-flow/MarkItDown-Flow.git
cd MarkItDown-Flow
npm install
npm run build

📜 License

This project is licensed under the MIT License. See the LICENSE file for details. The internal core engine of this project utilizes the Microsoft MarkItDown library.

HealthExcellent
ReviewSatisfactory
About
Powered by the Microsoft MarkItDown engine, this plugin extracts and converts virtually any file format into clean, highly structured Markdown with a single click. Key Features - Universal Formats: Convert PDFs, Office (Word, Excel, PowerPoint), Images, Audio, ZIPs, and HTML directly into your vault. - Smart Multi-Phase Engine: Attempts ultra-fast Offline Parsing first. For complex/scanned files, it seamlessly falls back to Vision AI (GPT-4o/Gemini) and Azure Document Intelligence. - Native Integration: Drag and drop files into your editor, or right-click files/folders to trigger conversions. - Batch Processing: Bulk-convert entire folders of research papers or receipts smoothly in the background. - Auto Post-Processing: Cleans OCR artifacts and repairs markdown tables for immediate PKM readiness. MarkItDown Flow is your vault's intelligent funnel for capturing the world's knowledge.
MarkdownPDFFiles
Details
Current version
1.0.8
Last updated
4 weeks ago
Created
2 months ago
Updates
9 releases
Downloads
265
Compatible with
Obsidian 1.6.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
greatgc-flowgreatgc-flowgreatgc-flow
GitHubgreatgc-flow
  1. Community
  2. Plugins
  3. Markdown
  4. MarkItDown Flow

Related plugins

Text Extractor

A (companion) plugin to facilitate the extraction of text from images (OCR) and PDFs.

Image in Editor

View Images, Transclusions, iFrames and PDF Files within the Editor without a necessity to switch to Preview.

Importer

Convert your data to Markdown files you can use in Obsidian. Works with Apple Notes, OneNote, Evernote, Notion, Google Keep, and many other formats.

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

Claudian

Embeds Claude Code/Codex and other local Agents as AI collaborators in your vault.

Advanced URI

Control everything with URI.

Local REST API with MCP

Unlock your automation needs by interacting with your notes over a secure REST API.

Find orphaned files and broken links

Find files that are not linked anywhere and would otherwise be lost in your vault. In other words: files with no backlinks.

Omnisearch

Intelligent search for your notes, PDFs, and OCR for images.

Recent Files

Display a list of recently opened files.