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

|
2 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) 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, 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 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, and more
  • 📊 8 export targets — PDF, DOCX, PPTX, XLSX, EPUB, HTML, RTF, ODT
  • 🦀 Rust-powered extraction — Fast, accurate conversion via anydoc (WASM)
  • 📝 pandoc-wasm — EPUB, RTF, and ODT exports via pandoc running in WebAssembly
  • 🖨️ 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
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
Markdown → HTML Standalone HTML page
Markdown → RTF Rich Text Format via pandoc-wasm
Markdown → ODT OpenDocument Text via pandoc-wasm
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
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

Convert a document to Markdown

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

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

Export Markdown to another format

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

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

Preview as Markdown

Use the Command Palette to run Any Markdown Converter: 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, pandoc-wasm is downloaded automatically on first use (one-time setup).

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


🏗️ How It Works

              ┌── anydoc (Rust/WASM) ──────────────────────────────────────────┐
              │                                                                │
┌───────────┐ │  ┌──────────────┐     ┌──────────────────────┐     ┌────────┐  │
│ doc/docx  │─┤  │  anydoc      │ ──▶ │  Markdown            │     │  .md   │  │
│ pptx/xlsx │ │  │  (Rust WASM) │     │                      │     │        │  │
│ pdf/epub  │ │  └──────────────┘     └──────────────────────┘     └────────┘  │
│ odt/csv   │ │                                                                │
└───────────┘ └────────────────────────────────────────────────────────────────┘

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

Import (Any → Markdown)

  1. The file is processed by anydoc, a Rust-based document extraction engine compiled to WASM
  2. Text, tables, images, and structure are extracted and converted 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 — downloaded on first use

🔒 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
pandoc-wasm first-use download is slow One-time setup — subsequent exports are instant
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)
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
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
© 2026 Microsoft