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.
Fit Meter
Settings appear once you add a Markdown file.
Advanced 5
Still going. Your own device is doing this, so a long scan or a big batch takes as long as it takes — and none of it is being uploaded.
Bytes of your files sent anywhere: 0 B · nothing leaves this tab
Every request this page makes is listed as it happens. You’ll see our own code loading, and for some formats a codec engine, but never your file going out.
- Waiting for network activity…
Check it yourself: open your browser’s developer tools on the Network tab, or turn off Wi-Fi once the page has loaded. The tools keep working.
How to convert Markdown to PDF
-
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.
-
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.
-
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 tabWorth knowing
- Pictures linked from the web () 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.
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.