office to mdraw
Convert Microsoft Office files from the VS Code Explorer context menu.
office to mdraw runs locally, reads Office Open XML packages directly, and writes converted files next to the selected Office file. It is designed for documents that need to be reviewed, edited, or handed to AI tools as Markdown or Draw.io-compatible files.
Supported Conversions
| Input |
Command |
Output |
.xlsx |
Convert Excel to Draw.io |
Single .drawio file |
.xlsx |
Convert Excel to Draw.io split |
Sheet index Markdown and per-sheet .drawio.svg files |
.xlsx |
Convert Excel to Markdown |
Workbook folder with sheet Markdown and shared resources/ |
.xlsx |
Convert Excel to Markdown split |
Workbook folder with per-sheet Markdown and per-sheet resource folders |
.docx |
Convert Word to Draw.io |
Single .drawio.svg file |
.docx |
Convert Word to Draw.io split |
Page index Markdown and per-page .drawio.svg files |
.docx |
Convert Word to Markdown |
Document folder with one Markdown file and resources |
.docx |
Convert Word to Markdown split |
Document folder with page index Markdown and per-page Markdown files |
.pptx |
Convert PowerPoint to Marp |
Marp Markdown and per-slide .drawio.svg files |
How To Use
- Open a trusted folder in VS Code.
- Right-click an Office file in the Explorer.
- Select one of the
office to mdraw conversion commands.
- Confirm overwrite if an output path already exists.
- Open the generated file or folder next to the source Office file.
The extension is disabled in untrusted workspaces because conversion reads Office file contents and writes generated files to the workspace.
Output Layout
Excel
Draw.io:
sample.xlsx
sample.drawio
Draw.io split:
sample_drawio_split/
sample.drawio.md
drawio/
01_Sheet.drawio.svg
02_Sheet.drawio.svg
Markdown:
sample/
sample.md
sheets/
01_Sheet.md
02_Sheet.md
resources/
image1.png
Markdown split:
sample_md_split/
sample.md
sheets/
01_Sheet.md
01_Sheet_resources/
01_Sheet-1.png
Word
Draw.io:
sample.docx
sample.drawio.svg
Draw.io split:
sample_drawio_split/
sample.drawio.md
drawio/
page001.drawio.svg
page002.drawio.svg
Markdown:
sample/
sample.md
sampleresource/
image1.png
Markdown split:
sample_md_split/
sample.md
pages/
page001.md
page002.md
sampleresource/
image1.png
Word page splitting uses explicit Open XML page breaks such as w:br w:type="page" and w:lastRenderedPageBreak. If no page boundary is available, the document is treated as one page.
PowerPoint
sample/
sample.md
slide/
slide001.drawio.svg
slide002.drawio.svg
The generated Marp Markdown uses each slide-level .drawio.svg as the background image.
Marketplace does not allow README image references to SVG files, so this README shows the generated paths as plain text instead of Markdown image syntax:
Marp front matter:
marp: true
Slide 1 background:
slide/slide001.drawio.svg
Slide 2 background:
slide/slide002.drawio.svg
Conversion Notes
- Excel Draw.io output preserves sheets as Draw.io diagrams.
- Excel and Word split modes are intended for smaller AI review contexts.
- Word conversion prioritizes document structure and readable content over exact page layout.
- PowerPoint conversion uses Marp as a display wrapper and
.drawio.svg as the editable slide source.
.drawio.svg files embed Draw.io editing data in the SVG content attribute.
- Separate
.drawio files are not generated for split Draw.io SVG outputs.
Security And Data Usage
- All conversion runs locally on your machine.
- Office files and generated outputs are not uploaded.
- Telemetry is not collected.
- External Office relationships are ignored.
- Suspicious Office packages are rejected before conversion, including oversized packages, too many ZIP entries, oversized XML entries, oversized images, and unsafe package paths.
- Embedded images are limited to common raster web formats: PNG, JPEG, GIF, and WebP.
- Existing output files or folders require overwrite confirmation.
Development
Install dependencies and run checks from the extension directory:
cd office-to-mdrow
pnpm install
pnpm test
Build a VSIX package:
cd office-to-mdrow
pnpm package
Run the full local release check:
cd office-to-mdrow
pnpm release:check
The release check performs install, TypeScript compile, unit and security tests, dependency audits, VSIX packaging, and VSIX content listing.