Skip to content
PDFToolz

Markdown to PDF Converter

Paste Markdown or open an .md file and get a PDF with real headings, lists, bold text, quotes and code blocks.

Select a text, Markdown or HTML file

or drop it anywhere on this page, or paste

Opens in your browser. Nothing is uploaded.

Input format
Paste content
Page
Margin (mm)
Text size (pt)

Markdown keeps headings, bold, italic, lists, quotes and code blocks. HTML is read as plain text: tags, scripts, styles and images are left out, and nothing is loaded from the web.

Preview
Your pages appear here as you type.

!Paste some content or choose a file

Markdown to PDF Converter, free and private

Convert Markdown to PDF in your browser. Open an .md file or paste Markdown, watch the pages build in the live preview, and download a PDF with real headings, bold and italic text, lists, quotes and code blocks.

It suits README files, notes from Obsidian or Notion exports, documentation, meeting minutes and answers copied from ChatGPT. The tool is free, needs no account, and nothing is uploaded: the PDF is typeset on your device.

How to convert Markdown to PDF

  1. 1

    Open an .md file or paste Markdown

    Choose a .md file, or paste into the box. A loaded file appears in the box, and edits you make there go into the PDF. Your original file is not changed.

  2. 2

    Check the input format

    Markdown is selected for pasted content and .md files. Pick Plain text to keep every line as typed, or HTML as text to read the words of an HTML file.

  3. 3

    Adjust the layout

    Under Page, choose A4 or Letter. Set Margin (mm) from 5 to 40 (20 by default) and Text size (pt) from 8 to 20 (11 by default). The preview updates as you type.

  4. 4

    Create and download

    Press Create PDF. The summary shows the page count. Check it with Preview, then press Download PDF.

Why use PDFToolz for this

Markdown formatting kept

Headings from # to ###### get larger bold text. **Bold**, *italic* and `code` are styled, lists are indented, quotes get a side bar, and --- draws a line across the page.

Code blocks keep their spacing

Fenced code blocks (```) and lines indented by 4 spaces keep every space. They are set in Courier on a light grey background.

Accents and other alphabets

The font covers Latin letters with accents, such as Romanian ș and ț or Polish ł and ż, plus Greek and Cyrillic. Chinese, Japanese and Korean are not supported.

Real text, nothing uploaded

The PDF holds actual text, so it stays sharp at any zoom and you can search, select and copy it. The conversion runs on your device with no account or watermark.

Which Markdown is supported

The tool reads the Markdown people use in notes and README files:

  • Paragraphs. Lines next to each other join into one paragraph. Leave a blank line to start a new one.
  • Headings. Lines starting with # to ###### become headings, from twice the text size down to normal size.
  • Text styles. **bold**, __bold__, *italic*, _italic_ and `inline code`. Underscores inside words like file_name stay as typed.
  • Lists. Lines starting with -, * or + become bullet points, and 1. or 1) keep their numbers. Indent by 2 spaces to nest a list inside another.
  • Quotes and rules. Lines starting with > are set in italic with a grey bar. A line of ---, *** or ___ draws a rule.
  • Code. Fenced blocks and 4-space indented blocks keep their indentation. Long code lines wrap onto the next line.
  • Links and images. Links keep their text without the URL. Images are replaced by their alt text.

What is not converted

Tables in the GitHub pipe style are not drawn as tables: their rows run together as one paragraph. Put a table in a fenced code block to keep its columns lined up in Courier. Math, footnotes, task-list checkboxes and diagrams such as Mermaid print as the plain text you typed.

Links lose their URL in the PDF, so write the address out in the text if readers need it on paper.

Plain text and HTML files

For a .txt file where every line break matters, such as a log, a list or a poem, use TXT to PDF, which starts in Plain text mode. Nothing is read as formatting there, so * and _ print as they are.

HTML as text keeps the readable words of an HTML file and drops tags, scripts, styles and images, and nothing is fetched from the web. To keep the design of an HTML page, with its colours, tables and images, use HTML to PDF instead.

Frequently asked questions

Last reviewed . See how we build and test our tools, or report an error.

Related tools and guides