Skip to content
Web & Code

Markdown to PDF converter

Paste Markdown — a README, your notes, or an answer copied from ChatGPT, Claude or Gemini — or import a .md file, check the preview, and save a PDF with highlighted code, tables, task lists, clickable links and bookmarks from your headings. It is typeset in your browser; nothing is uploaded.

Settings appear once you add a Markdown file.

Your Markdown
Look
Text size
Advanced 5
Start each top-level heading on a new page
Orientation

Done on your device No upload, no queue, no sign-up.

Bytes sent anywhere: 0 B

How to convert Markdown to PDF

Your Markdown goes into this browser tab, is typeset with its code and tables on your device, and comes back as a PDF. 0 bytes uploaded
  1. Add your Markdown file

    Paste your Markdown, or import a .md file. From ChatGPT, Claude or Gemini, use the Copy button under the answer — it copies Markdown, not plain text.

  2. Check the settings

    Check it on the Preview tab and pick a look: GitHub for READMEs and code, Document for reports and letters, Compact to fit more on a page.

  3. Save the result

    Save as PDF. Code keeps its colors, tables keep their borders, links stay clickable, and every heading becomes a bookmark.

Why it doesn’t upload

The Markdown people turn into PDFs is often work in progress: internal documentation, meeting notes, a conversation with an AI assistant about a real problem. Online converters keep a copy on their server. This one reads the Markdown and writes the PDF inside your browser tab, and keeps your draft only in this browser.

Check it in your browser’s Network tab

Worth knowing

  • Pictures linked from the web (![](https://…)) are left out, because fetching them would contact other servers. Pictures embedded as data are kept.
  • Math written in LaTeX ($x^2$ or $$…$$) is shown as the raw formula text, not typeset as equations.
  • Mermaid diagrams, footnotes and raw HTML beyond simple formatting tags are not drawn; the code of a diagram appears as a code block.
  • Emoji come out in plain, single-color symbols where the fonts have them.
  • Chinese, Japanese and Korean text is not supported by the embedded fonts yet.

Under the hood

What happens to your file

Markdown is parsed by marked with GitHub’s extensions (tables, task lists, strikethrough), code blocks are colored by highlight.js, and the HTML is cleaned by DOMPurify. Your browser lays it out, and every word, border and colored box is painted into the PDF with pdf-lib as real text in embedded Noto fonts, with links and heading bookmarks.

Runs on markedhighlight.jsDOMPurifypdf-lib

Reference: GitHub Flavored Markdown spec · pdf-lib documentation

Questions

How do I save a ChatGPT conversation as a PDF?

Under each answer, press ChatGPT’s Copy button — it copies Markdown — and paste it here. Paste several answers one after another to keep a whole conversation, adding a heading like “## My question” between them. Press Save as PDF and the code blocks, tables and lists come through formatted. The same works with Claude, Gemini and Copilot.

Can I convert a GitHub README to PDF?

Yes. Open the README on GitHub, switch to Raw (or open the README.md file), copy it and paste it here, or import the file. The GitHub look matches GitHub’s own styling, with highlighted code and bordered tables.

Is the text in the PDF selectable?

Yes. The PDF is typeset, not a screenshot: text can be selected, searched and copied, links click through, and headings appear as bookmarks in the viewer’s sidebar.

Which Markdown features are supported?

GitHub-flavored Markdown: headings, bold, italic, strikethrough, links, lists, task lists, block quotes, tables, horizontal rules, inline code and fenced code blocks with syntax highlighting for common languages.

Where does my Markdown go?

Nowhere. It is rendered and turned into a PDF inside this tab. The draft is kept in your browser’s own storage so a reload doesn’t lose it; Clear removes it.

More web & code tools

All web & code tools