Skip to content
| Marketplace
Sign in
Visual Studio Code>Formatters>Any Markdown ConverterNew to Visual Studio Code? Get it now.
Any Markdown Converter

Any Markdown Converter

Jorge Cendal

|
71 installs
| (1) | Free
Bidirectional document conversion: any file format ↔ Markdown. Powered by anydoc (Rust) and pandoc-wasm.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Any Markdown Converter

Bidirectional document conversion: any file format ↔ Markdown. Powered by anydoc (Rust), turndown, and pandoc-wasm.

Version Downloads Rating License

Features • Installation • Usage • Settings • How It Works

Install in VS Code / Cursor    Install from Open VSX


📖 About

Working with documents in VS Code or Cursor often means switching between multiple formats — Word specs, PowerPoint decks, Excel spreadsheets, scanned PDFs, HTML pages, and more. But your editor speaks Markdown.

This extension bridges that gap. It converts any document to Markdown using anydoc (a Rust-based extraction engine) and turndown (for HTML files), and exports Markdown back to Word, PowerPoint, Excel, PDF, EPUB, HTML, RTF, and ODT — all without leaving your editor.

🎯 Key Highlights

  • 🔄 Bidirectional — Import any format to Markdown, and export Markdown to 8+ formats
  • 📄 20+ input formats — doc, docx, pptx, xlsx, odt, ods, odp, rtf, epub, csv, pdf, html, and more
  • 📊 8 export targets — PDF, DOCX, PPTX, XLSX, EPUB, HTML, RTF, ODT
  • 🦀 Rust-powered extraction — Fast, accurate conversion via anydoc (native NAPI-RS addon)
  • 🌐 HTML → Markdown — Clean conversion with body extraction via turndown
  • 📝 pandoc-wasm — EPUB, RTF, and ODT exports via pandoc running in WebAssembly (optional)
  • 🖨️ PDF with Mermaid — Diagrams rendered as real SVG graphics via Chrome
  • 🔒 Privacy-first — Everything runs locally, no data leaves your machine
  • 🖥️ No bundled browser — Uses your installed Chrome/Chromium for PDF

✨ Features

Feature Description
Any → Markdown Convert 20+ document formats to clean Markdown
HTML → Markdown Convert HTML/HTM files with body extraction and tag cleanup
Markdown → PDF With Mermaid diagrams rendered as real SVG graphics
Markdown → DOCX Microsoft Word document
Markdown → PPTX PowerPoint presentation (slides separated by ---)
Markdown → XLSX Excel spreadsheet (from Markdown tables)
Markdown → EPUB E-book format via pandoc-wasm (optional)
Markdown → HTML Standalone HTML page with inline styles
Markdown → RTF Rich Text Format via pandoc-wasm (optional)
Markdown → ODT OpenDocument Text via pandoc-wasm (optional)
Preview Preview any document as Markdown without saving
Context menus Right-click in editor, explorer, or use Command Palette

Supported Input Formats

Category Extensions
Microsoft Office .doc, .docx, .docm, .ppt, .pptx, .pptm, .pps, .ppsx, .ppsm, .pot, .xls, .xlsx, .xlsm, .xlsb
OpenDocument .odt, .ods, .odp
Web .html, .htm
Other .rtf, .epub, .csv, .pdf

📦 Installation

Open VS Code / Cursor, launch Quick Open (Ctrl+P / Cmd+P), and run:

ext install jcendal.any-markdown-converter

Or search for Any Markdown Converter in the Extensions sidebar.


🚀 Usage

Export Markdown to another format

Right-click any .md file in the Explorer sidebar or within the editor, then select Export Markdown to...

Export from context menu — right-click on a .md file

A quick pick menu will appear with all available export formats:

Format selector — choose the output format

From a Cursor Plan

When working with a plan generated by Cursor (.plan.md), click the ⋯ menu in the top-right corner of the editor and select Export Markdown to...

Export from Cursor Plan — three-dot menu

Convert a document to Markdown

Right-click any supported file in the Explorer sidebar or within the editor, then select Convert to Markdown.

You can also use the Command Palette (Cmd+Shift+P / Ctrl+Shift+P) and search for Convert to Markdown.

Preview as Markdown

Use the Command Palette to run Preview as Markdown to see a preview of any supported document without creating a file.

Other access methods

  • Command Palette — Cmd+Shift+P / Ctrl+Shift+P → search for Any Markdown Converter
  • Editor title bar — top-right area when a supported file is active

The output file is saved alongside the source file and opens automatically.


⚙️ Settings

Configure via File → Preferences → Settings and search for markdownConverter.

Setting Default Description
chromePath Auto-detect Absolute path to Chrome/Chromium executable (for PDF export)
pdf.pageSize A4 A4, Letter, Legal, A3, A5, Tabloid
pdf.orientation portrait portrait or landscape
pdf.fontSize 13 Base font size in pixels for PDF export
pdf.showPageNumbers true Show page numbers in PDF footer
pdf.mermaidWaitMs 4000 Time to wait for Mermaid rendering (1000–30000 ms)
openAfterExport true Open the generated file after export

Configuration examples

Landscape A3 for large documents:

{
  "markdownConverter.pdf.pageSize": "A3",
  "markdownConverter.pdf.orientation": "landscape"
}

Extra time for complex Mermaid diagrams:

{
  "markdownConverter.pdf.mermaidWaitMs": 10000
}

Minimal PDF without page numbers:

{
  "markdownConverter.pdf.showPageNumbers": false,
  "markdownConverter.openAfterExport": false
}

🔧 Requirements

For PDF export, a Chromium-based browser must be installed:

Browser macOS Linux Windows
Google Chrome ✅ ✅ ✅
Microsoft Edge ✅ ✅ ✅
Brave Browser ✅ ✅ ✅
Chromium ✅ ✅ —

The browser is auto-detected. If detection fails:

{
  "markdownConverter.chromePath": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
}

For EPUB, RTF, and ODT export, the pandoc-wasm package is required. It is declared as an optional dependency — if it is not available, these three export formats will be disabled and the extension will notify you. All other conversions work without it.

All other conversions work out of the box with no additional dependencies.


🏗️ How It Works

              ┌── Import engines ───────────────────────────────────────────┐
              │                                                             │
              │  ┌───────────────┐                                          │
┌───────────┐ │  │ anydoc        │                              ┌────────┐  │
│ doc/docx  │─┤  │ (Rust native) │──────────────────────────────│  .md   │  │
│ pptx/xlsx │ │  └───────────────┘                              │        │  │
│ pdf/epub  │ │                                                 └────────┘  │
│ odt/csv   │ │  ┌───────────────┐                              ┌────────┐  │
│           │ │  │ turndown      │                              │  .md   │  │
│ html/htm  │─┤  │ (HTML → MD)   │──────────────────────────────│        │  │
└───────────┘ │  └───────────────┘                              └────────┘  │
              │                                                             │
              └─────────────────────────────────────────────────────────────┘

              ┌── Export engines ────────────────────────────────────────────┐
              │                                                             │
┌───────────┐ │  md-to-docx ──────────────────────────────────▶  .docx     │
│           │ │  pptxgenjs ───────────────────────────────────▶  .pptx     │
│   .md     │─┤  exceljs ────────────────────────────────────▶  .xlsx     │
│           │ │  puppeteer-core + Chrome + Mermaid.js ────────▶  .pdf     │
│           │ │  marked ─────────────────────────────────────▶  .html     │
└───────────┘ │  pandoc-wasm (optional) ─────────────────────▶  .epub     │
              │  pandoc-wasm (optional) ─────────────────────▶  .rtf      │
              │  pandoc-wasm (optional) ─────────────────────▶  .odt      │
              │                                                             │
              └─────────────────────────────────────────────────────────────┘

Import (Any → Markdown)

Input Engine
Office, PDF, EPUB, CSV, and other binary formats anydoc — Rust-based document extraction engine compiled to a native Node.js addon via NAPI-RS
HTML / HTM turndown — extracts <body> content, strips <script>, <style>, and <noscript> tags, then converts to clean Markdown

Export (Markdown → ...)

Format Engine
PDF marked → HTML → Headless Chrome via puppeteer-core with Mermaid.js v11 for diagram rendering
DOCX md-to-docx
PPTX pptxgenjs — slides split on --- separators
XLSX exceljs — Markdown tables → spreadsheet
HTML marked → standalone HTML with inline styles
EPUB, RTF, ODT pandoc-wasm — optional dependency

🔒 Privacy

This extension runs entirely on your local machine:

  • ✅ No telemetry or analytics
  • ✅ No data collection or transmission
  • ✅ Document content never leaves your computer
  • ✅ The only network request is loading Mermaid.js from cdn.jsdelivr.net (PDF export)

🐛 Known Issues

Issue Workaround
Complex Mermaid diagrams render incompletely Increase pdf.mermaidWaitMs (e.g. 8000 or 15000)
Chrome not found for PDF export Set chromePath manually in settings
EPUB/RTF/ODT export unavailable These formats require pandoc-wasm, which is an optional dependency
Some scanned PDFs extract poorly Quality depends on the document's text layer

🤝 Contributing

Contributions, issues, and feature requests are welcome!

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'feat: add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

🙏 Acknowledgements

This extension is built on top of these excellent open-source projects:

Library Role
anydoc Rust-based document extraction engine (any format → Markdown) via native NAPI-RS addon
turndown HTML → Markdown conversion with body extraction and tag cleanup
marked Markdown parser for HTML and PDF generation
puppeteer-core Headless Chrome automation for PDF rendering
Mermaid.js Diagram rendering as SVG in PDF output
md-to-docx Markdown to Word document conversion
PptxGenJS Markdown to PowerPoint presentation generation
ExcelJS Markdown tables to Excel spreadsheet conversion
pandoc-wasm EPUB, RTF, and ODT export via pandoc in WebAssembly (optional)
semantic-release Automated versioning and release management

📜 License

MIT © Jorge Cendal


Built with ❤️ for the developer community

⬆ Back to Top

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft