Skip to content

Markdown Exporter

Verified

Convert Markdown text to DOCX, PPTX, XLSX, PDF, PNG, HTML, IPYNB, MD, CSV, JSON, JSONL, XML files, and extract code blocks in Markdown to Python, Bash,JS and...

411

Install

Claude Code

Add to .claude/skills/

About This Skill

# Markdown Exporter

Markdown Exporter is an Agent Skill that transforms your Markdown text into a wide variety of professional format files.

This SKILL.md for Agent Skills, the cli tool and Python package `markdown-exporter` are maintained in the GitHub repository bowenliang123/markdown-exporter by bowenliang123.

Tools and Supported Formats

| Tool | Input (File path of Markdown text or styles) | Output (File path of exported file) | |------|-------|--------| | `md_to_docx` | ๐Ÿ“ Markdown text | ๐Ÿ“„ Word document (.docx) | | `md_to_html` | ๐Ÿ“ Markdown text | ๐ŸŒ HTML file (.html) | | `md_to_html_text` | ๐Ÿ“ Markdown text | ๐ŸŒ HTML text string | | `md_to_pdf` | ๐Ÿ“ Markdown text | ๐Ÿ“‘ PDF file (.pdf) | | `md_to_png` | ๐Ÿ“ Markdown text | ๐Ÿ–ผ๏ธ PNG image(s) of PDF pages | | `md_to_md` | ๐Ÿ“ Markdown text | ๐Ÿ“ Markdown file (.md) | | `md_to_ipynb` | ๐Ÿ“ Markdown text | ๐Ÿ““ Jupyter Notebook (.ipynb) | | `md_to_pptx` | ๐Ÿ“ Markdown slides in Pandoc style | ๐ŸŽฏ PowerPoint (.pptx) | | `md_to_xlsx` | ๐Ÿ“‹ Markdown tables | ๐Ÿ“Š Excel spreadsheet (.xlsx) | | `md_to_csv` | ๐Ÿ“‹ Markdown tables | ๐Ÿ“‹ CSV file (.csv) | | `md_to_json` | ๐Ÿ“‹ Markdown tables | ๐Ÿ“ฆ JSON/JSONL file (.json) | | `md_to_xml` | ๐Ÿ“‹ Markdown tables | ๐Ÿท๏ธ XML file (.xml) | | `md_to_latex` | ๐Ÿ“‹ Markdown tables | ๐Ÿ“ LaTeX file (.tex) | | `md_to_codeblock` | ๐Ÿ’ป Code blocks in Markdown | ๐Ÿ“ Code files by language (.py, .js, .sh, etc.) |

๐Ÿ“ฆ Usage

Overview Markdown Exporter is available as a PyPI package, which provides a seamless command-line interface for all its functionality.

Installation

```bash # with pip pip install md-exporter

# with uv uv tool install md-exporter

# on OpenClaw npx clawhub install markdown-exporter ```

Check `markdown-exporter` command and usages: ``` markdown-exporter -h

markdown-exporter <subcommand> -h ```

Basic Usage Use the `markdown-exporter` command to access all the tools:

```bash markdown-exporter <subcommand> <args> [options] ```

Important Notes - All commands only support file paths as input - The package handles all dependency management automatically - You can run the command from anywhere in your system, no need to navigate to the project directory

๐Ÿ”ง Scripts

md_to_csv - Convert Markdown tables to CSV

Converts Markdown tables to CSV format file.

Usage: ```bash markdown-exporter md_to_csv <input> <output> [options] ```

  • Arguments:
  • `input` - Input Markdown file path containing tables
  • `output` - Output CSV file path
  • Options:
  • `--strip-wrapper` - Remove code block wrapper if present

Examples:

  1. Basic conversion:
  2. ```bash
  3. markdown-exporter md_to_csv /path/input.md /path/output.csv
  4. ```
  5. This converts all tables in the input Markdown file to CSV format.
  1. With code block wrapper removal:
  2. ```bash
  3. markdown-exporter md_to_csv /path/input.md /path/output.csv --strip-wrapper
  4. ```
  5. This removes any code block wrappers (```) before processing the Markdown.

Sample Markdown Input: Use the "Basic Text and Tables" example from the Sample Markdown Inputs - Basic Text and Tables section below.

---

md_to_pdf - Convert Markdown to PDF

Converts Markdown text to PDF format with support for Chinese, Japanese, and other languages.

Usage: ```bash markdown-exporter md_to_pdf <input> <output> [options] ```

  • Arguments:
  • `input` - Input Markdown file path
  • `output` - Output PDF file path
  • Options:
  • `--strip-wrapper` - Remove code block wrapper if present

Examples:

  1. Basic conversion:
  2. ```bash
  3. markdown-exporter md_to_pdf /path/input.md /path/output.pdf
  4. ```
  5. This converts the entire Markdown file to a PDF document.
  1. With code block wrapper removal:
  2. ```bash
  3. markdown-exporter md_to_pdf /path/input.md /path/output.pdf --strip-wrapper
  4. ```
  5. This removes any code block wrappers (```) before processing the Markdown.

Sample Markdown Input: Use the "Basic Text and Tables" example from the Sample Markdown Inputs - Basic Text and Tables section below.

---

md_to_docx - Convert Markdown to DOCX

Converts Markdown text to DOCX format file.

Usage: ```bash markdown-exporter md_to_docx <input> <output> [options] ```

  • Arguments:
  • `input` - Input Markdown file path
  • `output` - Output DOCX file path
  • Options:
  • `--template` - Path to DOCX template file (optional)
  • `--strip-wrapper` - Remove code block wrapper if present

Examples:

  1. Basic conversion:
  2. ```bash
  3. markdown-exporter md_to_docx /path/input.md /path/output.docx
  4. ```
  5. This converts the entire Markdown file to a DOCX document.
  1. With custom template:
  2. ```bash
  3. markdown-exporter md_to_docx /path/input.md /path/output.docx --template /path/template.docx
  4. ```
  5. This uses a custom DOCX template for styling.
  1. With code block wrapper removal:
  2. ```bash
  3. markdown-exporter md_to_docx /path/input.md /path/output.docx --strip-wrapper
  4. ```
  5. This removes any code block wrappers (```) before processing the Markdown.

Sample Markdown Input: Use the "Basic Text and Tables" example from the Sample Markdown Inputs - Basic Text and Tables section below.

---

md_to_xlsx - Convert Markdown tables to XLSX

Converts Markdown tables to XLSX format with multiple sheets support.

Usage: ```bash markdown-exporter md_to_xlsx <input> <output> [options] ```

  • Arguments:
  • `input` - Input Markdown file path containing tables
  • `output` - Output XLSX file path
  • Options:
  • `--force-text` - Convert cell values to text type (default: True)
  • `--strip-wrapper` - Remove code block wrapper if present

Examples:

  1. Basic conversion:
  2. ```bash
  3. markdown-exporter md_to_xlsx /path/input.md /path/output.xlsx
  4. ```
  5. This converts all tables in the input Markdown file to an XLSX workbook, with each table on a separate sheet.
  1. With code block wrapper removal:
  2. ```bash
  3. markdown-exporter md_to_xlsx /path/input.md /path/output.xlsx --strip-wrapper
  4. ```
  5. This removes any code block wrappers (```) before processing the Markdown.
  1. With force-text disabled:
  2. ```bash
  3. markdown-exporter md_to_xlsx /path/input.md /path/output.xlsx --force-text False
  4. ```
  5. This allows Excel to automatically determine cell types.

Sample Markdown Input: Use the "Basic Text and Tables" example from the Sample Markdown Inputs - Basic Text and Tables section below.

---

md_to_pptx - Convert Markdown to PPTX

Converts Markdown text to PPTX format file.

Usage: ```bash markdown-exporter md_to_pptx <input> <output> [options] ```

  • Arguments:
  • `input` - Input Markdown file path
  • `output` - Output PPTX file path
  • Options:
  • `--template` - Path to PPTX template file (optional)

Examples:

  1. Basic conversion:
  2. ```bash
  3. markdown-exporter md_to_pptx /path/input.md /path/output.pptx
  4. ```
  5. This converts the Markdown file to a PowerPoint presentation.
  1. With custom template:
  2. ```bash
  3. markdown-exporter md_to_pptx /path/input.md /path/output.pptx --template /path/template.pptx
  4. ```
  5. This uses a custom PowerPoint template for styling.

Sample Markdown Input: Use the "Slides (for PPTX)" example from the Sample Markdown Inputs - Slides (for PPTX) section below.

---

md_to_codeblock - Extract Codeblocks to Files

Extracts code blocks from Markdown and saves them as individual files.

Usage: ```bash markdown-exporter md_to_codeblock <input> <output> [options] ```

  • Arguments:
  • `input` - Input Markdown file path containing code blocks
  • `output` - Output directory path or ZIP file path
  • Options:
  • `--compress` - Compress all code blocks into a ZIP file

Examples:

  1. Extract to directory:
  2. ```bash
  3. markdown-exporter md_to_codeblock /path/input.md /path/output_dir
  4. ```
  5. This extracts all code blocks to individual files in the specified directory.
  1. Extract to ZIP file:
  2. ```bash
  3. markdown-exporter md_to_codeblock /path/input.md /path/output.zip --compress
  4. ```
  5. This extracts all code blocks and compresses them into a ZIP file.

Sample Markdown Input: Use the "Code Blocks" example from the Sample Markdown Inputs - Code Blocks section below.

---

md_to_json - Convert Markdown Tables to JSON

Converts Markdown tables to JSON or JSONL format file.

Usage: ```bash markdown-exporter md_to_json <input> <output> [options] ```

  • Arguments:
  • `input` - Input Markdown file path containing tables
  • `output` - Output JSON file path
  • Options:
  • `--style` - JSON output style: `jsonl` (default) or `json_array`
  • `--strip-wrapper` - Remove code block wrapper if present

Examples:

  1. Basic conversion (JSONL format):
  2. ```bash
  3. markdown-exporter md_to_json /path/input.md /path/output.json
  4. ```
  5. This converts tables to JSON Lines format (one JSON object per line).
  1. Convert to JSON array:
  2. ```bash
  3. markdown-exporter md_to_json /path/input.md /path/output.json --style json_array
  4. ```
  5. This converts tables to a single JSON array of objects.
  1. With code block wrapper removal:
  2. ```bash
  3. markdown-exporter md_to_json /path/input.md /path/output.json --strip-wrapper
  4. ```
  5. This removes any code block wrappers (```) before processing the Markdown.

Sample Markdown Input: Use the "Basic Text and Tables" example from the Sample Markdown Inputs - Basic Text and Tables section below.

---

md_to_xml - Convert Markdown to XML

Converts Markdown text to XML format file.

Usage: ```bash markdown-exporter md_to_xml <input> <output> [options] ```

  • Arguments:
  • `input` - Input Markdown file path
  • `output` - Output XML file path
  • Options:
  • `--strip-wrapper` - Remove code block wrapper if present

Examples:

  1. Basic conversion:
  2. ```bash
  3. markdown-exporter md_to_xml /path/input.md /path/output.xml
  4. ```
  5. This converts the entire Markdown file to an XML document.
  1. With code block wrapper removal:
  2. ```bash
  3. markdown-exporter md_to_xml /path/input.md /path/output.xml --strip-wrapper
  4. ```
  5. This removes any code block wrappers (```) before processing the Markdown.

Sample Markdown Input: Use the "Basic Text and Tables" example from the Sample Markdown Inputs - Basic Text and Tables section below.

---

md_to_latex - Convert Markdown Tables to LaTeX

Converts Markdown tables to LaTeX format file.

Usage: ```bash markdown-exporter md_to_latex <input> <output> [options] ```

  • Arguments:
  • `input` - Input Markdown file path containing tables
  • `output` - Output LaTeX file path
  • Options:
  • `--strip-wrapper` - Remove code block wrapper if present

Examples:

  1. Basic conversion:
  2. ```bash
  3. markdown-exporter md_to_latex /path/input.md /path/output.tex
  4. ```
  5. This converts all tables in the input Markdown file to LaTeX format.
  1. With code block wrapper removal:
  2. ```bash
  3. markdown-exporter md_to_latex /path/input.md /path/output.tex --strip-wrapper
  4. ```
  5. This removes any code block wrappers (```) before processing the Markdown.

Sample Markdown Input: Use the "Basic Text and Tables" example from the Sample Markdown Inputs - Basic Text and Tables section below.

---

md_to_html - Convert Markdown to HTML

Converts Markdown text to HTML format file.

Usage: ```bash markdown-exporter md_to_html <input> <output> [options] ```

  • Arguments:
  • `input` - Input Markdown file path
  • `output` - Output HTML file path
  • Options:
  • `--strip-wrapper` - Remove code block wrapper if present

Examples:

  1. Basic conversion:
  2. ```bash
  3. markdown-exporter md_to_html /path/input.md /path/output.html
  4. ```
  5. This converts the entire Markdown file to an HTML document.
  1. With code block wrapper removal:
  2. ```bash
  3. markdown-exporter md_to_html /path/input.md /path/output.html --strip-wrapper
  4. ```
  5. This removes any code block wrappers (```) before processing the Markdown.

Sample Markdown Input: Use the "Basic Text and Tables" example from the Sample Markdown Inputs - Basic Text and Tables section below.

---

md_to_html_text - Convert Markdown to HTML Text

Converts Markdown text to HTML and outputs to stdout.

Usage: ```bash markdown-exporter md_to_html_text <input> ```

  • Arguments:
  • `input` - Input Markdown file path

Example: ```bash markdown-exporter md_to_html_text /path/input.md ```

Sample Markdown Input: Use the "Basic Text and Tables" example from the Sample Markdown Inputs - Basic Text and Tables section below.

---

md_to_png - Convert Markdown to PNG Images

Converts Markdown text to PNG images (one per page).

Usage: ```bash markdown-exporter md_to_png <input> <output> [options] ```

  • Arguments:
  • `input` - Input Markdown file path
  • `output` - Output PNG file path or directory path
  • Options:
  • `--compress` - Compress all PNG images into a ZIP file
  • `--strip-wrapper` - Remove code block wrapper if present

Examples:

  1. Basic conversion:
  2. ```bash
  3. markdown-exporter md_to_png /path/input.md /path/output.png
  4. ```
  5. This converts the Markdown file to PNG images (one per page).
  1. With compression:
  2. ```bash
  3. markdown-exporter md_to_png /path/input.md /path/output.png --compress
  4. ```
  5. This converts the Markdown file to PNG images and compresses them into a ZIP file.
  1. With code block wrapper removal:
  2. ```bash
  3. markdown-exporter md_to_png /path/input.md /path/output.png --strip-wrapper
  4. ```
  5. This removes any code block wrappers (```) before processing the Markdown.

Sample Markdown Input: Use the "Basic Text and Tables" example from the Sample Markdown Inputs - Basic Text and Tables section below.

---

md_to_md - Convert Markdown to MD File

Saves Markdown text to a .md file.

Usage: ```bash markdown-exporter md_to_md <input> <output> ```

  • Arguments:
  • `input` - Input Markdown file path
  • `output` - Output MD file path

Example: ```bash markdown-exporter md_to_md /path/input.md /path/output.md ```

Sample Markdown Input: Use the "Basic Text and Tables" example from the Sample Markdown Inputs - Basic Text and Tables section below.

---

md_to_ipynb - Convert Markdown to IPYNB

Converts Markdown text to Jupyter Notebook (.ipynb) format file.

Usage: ```bash markdown-exporter md_to_ipynb <input> <output> [options] ```

  • Arguments:
  • `input` - Input Markdown file path
  • `output` - Output IPYNB file path
  • Options:
  • `--strip-wrapper` - Remove code block wrapper if present

Examples:

  1. Basic conversion:
  2. ```bash
  3. markdown-exporter md_to_ipynb /path/input.md /path/output.ipynb
  4. ```
  5. This converts the Markdown file to a Jupyter Notebook format.
  1. With code block wrapper removal:
  2. ```bash
  3. markdown-exporter md_to_ipynb /path/input.md /path/output.ipynb --strip-wrapper
  4. ```
  5. This removes any code block wrappers (```) before processing the Markdown.

Sample Markdown Input: Use the "Code Blocks" example from the Sample Markdown Inputs - Code Blocks section below.

Sample Markdown Inputs

To help you test the various tools, below are common Markdown input examples that represent the content of input files:

#### Basic Text and Tables ```markdown # Test Markdown File

This is a test markdown file for testing various export tools.

Table Test

| Name | Description | Price | |------|-------------|-------| | Item 1 | First item | $10 | | Item 2 | Second item | $20 | | Item 3 | Third item | $30 |

Text Test

This is a paragraph with bold and *italic* text.

  • List item 1
  • List item 2
  • List item 3

> This is a blockquote. ```

#### Code Blocks ````markdown # Test Markdown File

Code Block Test

```python print("Hello, World!") def add(a, b): return a + b

# Test the function result = add(5, 3) print(f"Result: {result}") ```

```bash # Bash script example echo "Hello from Bash" ls -la ```

```javascript // JavaScript example console.log("Hello from JavaScript"); function multiply(a, b) { return a * b; } ``` ````

#### Slides (for PPTX) ````markdown --- title: Markdown Exporter author: Bowen Liang ---

# Introduction

Welcome Slide

Welcome to our Markdown Exporter!

::: notes Remember to greet the audience warmly. :::

---

# Section 1: Basic Layouts

Title and Content

  • This is a basic slide with bullet points
  • It uses the "Title and Content" layout
  • Perfect for simple content presentation

Two Column Layout

  • ::::: columns
  • ::: column
  • Left column content:
  • Point 1
  • Point 2
  • :::
  • ::: column
  • Right column content:
  • Point A
  • Point B
  • :::
  • :::::

Comparison Layout

::::: columns ::: column Text followed by an image:

  • !Test Image
  • :::
  • ::: column
  • This triggers the "Comparison" layout
  • Useful for side-by-side comparisons
  • :::
  • :::::

Content with Caption

Here's some explanatory text about the image below.

!Test Image

---

# Section 2: Advanced Features

Code Block

Here's a Python code block:

```python def greet(name): return f"Hello, {name}!"

print(greet("World")) ```

Table Example

| Column 1 | Column 2 | Column 3 | |----------|----------|----------| | Row 1 | Data | More | | Row 2 | Info | Stuff |

Incremental List

  • ::: incremental
  • This point appears first
  • Then this one
  • And finally this one
  • :::

{background-image="https://example.com/image.jpg"}

::: notes This is a slide with a background image and speaker notes only. The "Blank" layout will be used. :::

# Conclusion

Thank You

Thank you for viewing this kitchen sink presentation!

::: notes Remember to thank the audience and invite questions. ::: ````

๐Ÿ“ Notes

  • All scripts only support file paths as input
  • For scripts that generate multiple files (e.g., multiple tables, multiple code blocks), the output filename will be automatically numbered
  • Use the `--strip-wrapper` option to remove code block wrappers (```) from the input Markdown

Use Cases

  • Export Markdown to DOCX, PPTX, XLSX, PDF, PNG, and HTML formats
  • Convert Markdown content to Jupyter notebooks and JSON formats
  • Extract code blocks from Markdown into separate Python, Bash, or JS files
  • Build multi-format document delivery from single Markdown sources
  • Generate presentation slides and spreadsheets from Markdown content

Pros & Cons

Pros

  • + Compatible with multiple platforms including claude-code, openclaw
  • + Well-documented with detailed usage instructions and examples
  • + Purpose-built for documentation & writing tasks with focused functionality

Cons

  • - No built-in analytics or usage metrics dashboard
  • - Configuration may require familiarity with documentation & writing concepts

Frequently Asked Questions

What does Markdown Exporter do?

Convert Markdown text to DOCX, PPTX, XLSX, PDF, PNG, HTML, IPYNB, MD, CSV, JSON, JSONL, XML files, and extract code blocks in Markdown to Python, Bash,JS and...

What platforms support Markdown Exporter?

Markdown Exporter is available on Claude Code, OpenClaw.

What are the use cases for Markdown Exporter?

Export Markdown to DOCX, PPTX, XLSX, PDF, PNG, and HTML formats. Convert Markdown content to Jupyter notebooks and JSON formats. Extract code blocks from Markdown into separate Python, Bash, or JS files.

Stay Updated on Agent Skills

Get weekly curated skills + safety alerts