Skip to main content

markdown-convert

Convert Markdown files to PDF from your command line.

pip install markdown-convert


Button Hover Button Hover





Why markdown-convert?

Unlike other similar tools, markdown-convert:

  • Can be fully installed via pip install markdown-convert, with no external system-level dependencies.

  • Comes with a sensible default CSS stylesheet out of the box.

  • Supports:

    Feature Example
    LaTeX Math Equations $E=mc^2$ is rendered as a math equation.
    Mermaid, Vega-Lite and Schemdraw Diagrams ```mermaid ... is rendered as a diagram.
    Syntax-Highlighted Code Blocks ```python ... gets syntax highlighting.
    Admonitions !!! note ... is styled as a note box.
    Dynamic Table of Contents [TOC] inserts a Table of Contents.
    Image Attributes ![::shadow::](sky.png) shows a shadow behind the image.
    Captions ![sky](sky.png)_A beautiful sky_ shows a caption, centered below the image.
    Tables and Queries > [my_table] under your table gives it a name,
    [query:select ... from my_table] queries it.
    Live Conversion markdown-convert file.md --mode=live updates the PDF every time the Markdown file changes.
    Custom CSS markdown-convert file.md --css=style.css extends the default CSS with your own stylesheet.
    Task Lists, Containers, CSS Paged Media and more! ...

    Check out CUSTOM_SYNTAX.md for all the extra features and how to use them.

Installation

markdown-convert is available on PyPI and can be installed via pip:

pip install markdown-convert

Usage

1. From your terminal

Simply run markdown-convert file.md to convert file.md to file.pdf.

You can specify the following options:

Usage:
  markdown-convert [markdown_file_path] [options]

Options:
  --mode=once|live|debug
      Convert the markdown file once (default) or live.
      Use debug to preserve the intermediate html file.
  --css=[css_file_path]
      Use a custom CSS file.
  --out=[output_file_path]
      Specify the output file path.
  --extras=[extra1,extra2,...]
      Specify the extras to use. Uses all extras if not specified.
      Supported extras:
        admonitions,anchors,task-lists,math,custom-spans,highlights,
        syntax-highlighting,table-of-contents,vega-lite,inline-math,
        block-math,schemdraw,mermaid,dynamic-tables,dynamic-queries
  --security=basic|default|strict
      Specify the security level.
      Basic:
        - Inline HTML:   No restrictions.
        - JS:            Restricted to extras.
        - Remote files:  Restricted to images and fonts via https.
        - Local files:   No restrictions.
      Default:
        - Inline HTML:   Disabled.
        - JS:            Restricted to extras.
        - Remote files:  Restricted to images and fonts via https.
        - Local files:   Restricted to files inside the base directory.
      Strict:
        - Inline HTML:   Disabled.
        - JS:            Disabled (may break some extras).
        - Remote files:  Disabled (internet access completely disabled).
        - Local files:   Restricted to files inside the base directory.

For example: markdown-convert README.md --mode=live --css=style.css --out=output.pdf will convert README.md to output.pdf using style.css and update the PDF live as you edit the Markdown file.

2. As a Python library

You can also use markdown-convert as a library in your Python code:

from markdown_convert import convert, convert_text, live_convert

# Convert your Markdown file and save it as a PDF file
convert('README.md', 'style.css', 'README.pdf')

# Convert your Markdown string and get the PDF bytes
pdf_bytes = convert_text('# Hello World', 'h1 { color: red; }')

# Convert your Markdown file to PDF every time it changes
live_convert('README.md', 'style.css', 'README.pdf')

3. From the context menu of your file explorer

Install the extension of your choice:

Then right click any Markdown file and select Convert to PDF to convert it.

Metadata

Release files for markdown_convert 2.0.14

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for markdown_convert 2.0.14
File Size Uploaded
markdown_convert-2.0.14.tar.gz 28.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for markdown_convert 2.0.14
File Interpreter ABI Platform
markdown_convert-2.0.14-py3-none-any.whl Python 3 none any Details

Total release size: 59.4 kB

Release files / markdown_convert-2.0.14.tar.gz

Download URL markdown_convert-2.0.14.tar.gz
Size 28.2 kB
Tags Source
SHA-256 checksum
How to use checksums
ef75443d63b70ba9b93611abd970e981c567b3048afe9c8c93f9111e95caadc6
BLAKE2b-256 checksum
How to use checksums
503c4a10342382226e9ebbab6b43303869457d4f311fbfa48ec9f6c40fea234b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / markdown_convert-2.0.14-py3-none-any.whl

Download URL markdown_convert-2.0.14-py3-none-any.whl
Size 31.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
621b00d4c40ea45233eaf3acd896f19f3c8f69e2ee069e7f8987c61f87d96e60
BLAKE2b-256 checksum
How to use checksums
8b48cc56a7f256f60914deb819f7013fefd622656652e7a696af6da9e8f4de30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

2.0.15

2 release files

This release

2.0.14 This release

2 release files

2.0.13

2 release files

2.0.12

2 release files

2.0.11

2 release files

2.0.10

2 release files

2.0.9

2 release files

2.0.8

2 release files

2.0.7

2 release files

2.0.6

2 release files

2.0.5

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.2.66

2 release files

1.2.65

2 release files

1.2.64

2 release files

1.2.63

1 release file

1.2.62

2 release files

1.2.61

2 release files

1.2.60

2 release files

1.2.59

2 release files

1.2.58

2 release files

1.2.57

2 release files

1.2.55

2 release files

1.2.54

2 release files

1.2.53

2 release files

1.2.52

2 release files

1.2.51

2 release files

1.2.50

2 release files

1.2.49

2 release files

1.2.48

2 release files

1.2.47

2 release files

1.2.46

2 release files

1.2.45

2 release files

1.2.44

2 release files

1.2.43

2 release files

1.2.42

2 release files

1.2.41

2 release files

1.2.40

2 release files

1.2.39

2 release files

1.2.38

2 release files

1.2.23

2 release files

1.2.22

2 release files

1.2.21

2 release files

1.2.20

2 release files

1.2.19

2 release files

1.2.18

2 release files

1.2.17

2 release files

1.2.16

2 release files

1.2.15

2 release files

1.2.14

2 release files

1.2.13

2 release files

1.2.12

2 release files

1.2.11

2 release files

1.2.10

2 release files

1.2.7

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.9

2 release files

1.1.8

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.6

2 release files

0.9.5

1 release file

0.9.4

1 release file

0.9.3

1 release file

0.9.2

1 release file

0.9.1

1 release file

0.9.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page