MinerU Converter

approvedunreviewed

by liyifan

Right-click any PDF, Word, PPT, Excel, or image in your vault to convert it to Markdown via the MinerU parse API. Long PDFs are auto-split and merged back into one file, with an images/ sidecar and a run-in-background option.

↓ 152 downloadsUpdated 10d agoMIT

MinerU Converter icon

mineru-converter

License: MIT Release

English | 简体中文

Let MinerU's accurate-parse API and Obsidian work together: convert any PDF / Word / PPT / Excel / image in your vault to editable Markdown with one right-click.

This repository hosts the MinerU Converter Obsidian plugin plus the engineering notes and tooling behind it.

Contents

FolderWhat's in it
plugin/The Obsidian plugin (TypeScript → bundled main.js). Ready to install.
docs/01-API文档理解.mdStructured understanding of the MinerU v4 API — every endpoint, parameter, state machine, and error code.
docs/02-实操经验总结.mdHard-won engineering notes: rate limits, CDN SSL workaround, 200-page limit, encrypted PDFs, proxy pitfalls, batch processing.
docs/03-Obsidian插件开发规划.mdProduct plan + technical design + interaction patterns for this plugin.
code/Python tools that pre-date the plugin (252-file batch converter). Useful when you have a giant library to process.

Quick start (Obsidian plugin)

  1. Apply for a MinerU API token at https://mineru.net/apiManage/apiManage (free tier available).
  2. In Obsidian → Settings → Community plugins → MinerU Converter, paste the token. Click Test connection to verify.
  3. Right-click any PDF / Word / PPT / Excel / image in the file explorer → Convert to Markdown via MinerU.
  4. A .md file appears next to the original. The plugin will ask if you want to open it.

PDFs longer than 200 pages are handled automatically: the plugin splits the page tree into 200-page parts, submits each part to MinerU in turn, then merges the Markdown and images back into a single .md file next to the original. The output looks identical to a non-split conversion — no part markers, one shared images/ folder. Turn this off in Settings → MinerU Converter → Auto-split oversized PDFs.

For supported formats and limits, see docs/03-Obsidian插件开发规划.md.

Demo

Right-click a PDF, wait a few seconds, get Markdown:

Converting a PDF to Markdown via MinerU

Settings — API token, model version, OCR language, formula / table recognition, auto-split for oversized PDFs:

MinerU Converter settings

Quick start (Python batch tool)

If you have hundreds of files to convert, the plugin's per-file flow is slow. Use the Python tools in code/ instead:

pip install requests PyPDF2
# Edit TOKEN and ROOT_DIR at the top of code/mineru_convert.py
python code/mineru_convert.py

The script auto-batches (40 files per batch, 70 s between batches to respect MinerU's 50/min limit), resumes on re-run, and writes .md siblings in place.

Plugin development

cd plugin
npm install
npm run dev   # watch mode, auto-rebuilds main.js

To test locally, copy the produced main.js, manifest.json, and styles.css into <your-vault>/.obsidian/plugins/mineru-converter/, then enable Community plugins → MinerU Converter in Obsidian settings.

Releases are built and attested by GitHub Actions when a bare-semver tag is pushed. Every asset carries a GitHub artifact attestation and can be verified with gh attestation verify main.js -R liyifan2004/obsidian-mineru-converter. See plugin/README.md for the release flow.

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.