Andres Herle Lang553 downloadsConvert Vault PDFs into clean Markdown with local text and table extraction, compressed images, optional SVG tables, and safe PDF handling.
Convert PDFs in your Obsidian Vault into clean Markdown without Python, terminal commands, external services, or network access.
The plugin uses Obsidian's own PDF engine and Vault APIs. It is built for Obsidian desktop and mobile.
<br> tags from table cells.You can also open a PDF and run PDF to Markdown Native: Convert current PDF to Markdown from the command palette.
The default format is WebP at 82% quality with a maximum edge of 2200 pixels. Change these values in Settings → Community plugins → PDF to Markdown Native. Very large output canvases are limited to 16 megapixels to protect memory on desktop and mobile. When no resize is needed, WebP and PNG encoding reuse the source canvas to avoid a second full-size copy.
If a platform cannot encode WebP, the plugin uses PNG and shows a warning. It never saves non-WebP data with a .webp extension.
The table setting has three options:
The SVG option is not .svgz. Standard .svg is more reliable in Obsidian and across mobile platforms. The generated SVG markup is compact and has no embedded scripts, external fonts, or external resources.
Source actions run after the Markdown, assets, and link updates are saved.
The plugin never calls a permanent delete operation for a source PDF.
Conversion is local. The plugin does not make network requests, collect analytics, or store PDF passwords. See PRIVACY.md.
Download main.js, manifest.json, and styles.css from a release.
Create this folder inside your Vault:
.obsidian/plugins/pdf-native-notes/
Copy the three files into that folder.
Reload Obsidian.
Enable PDF to Markdown Native in Community Plugins.
Version 0.2.0 is a complete native rewrite of the earlier desktop-only plugin. It keeps the pdf-native-notes plugin ID so existing installations can upgrade. The native runtime ignores old Python and staging files, but those unused files can remain after a manual upgrade.
For a clean one-time upgrade from 0.1.x:
.obsidian/plugins/pdf-native-notes/.main.js, manifest.json, and styles.css files.Old settings that do not match the new format are replaced with safe defaults. No Python, setup script, or external staging folder is used.
Requirements:
Commands:
npm install
npm run dev
npm test
npm run lint
npm run build
npm run validate
npm run build creates main.js in the repository root. The release files are:
main.js
manifest.json
styles.css
The Git tag must match the version in manifest.json, without a v prefix.
For the native rewrite release:
npm run validate
git tag 0.2.0
git push origin main 0.2.0
For later releases, use npm version patch, npm version minor, or npm version major. The release workflow builds the plugin and uploads the required files to a GitHub release.
MIT. See LICENSE.