Who needs to convert Markdown to PDF?
Developers and technical writers who write in Markdown need PDF output for sharing documentation, sending reports to non-technical stakeholders, or submitting work in PDF-only systems. README files, technical specs, API docs, meeting notes, and resumes written in Markdown all benefit from clean PDF export that looks professional without any manual formatting.
How to convert Markdown to PDF free — step by step
- Open ihatepdf.cv/markdown-to-pdf — no sign-up required
- Paste your Markdown content into the editor, or upload a .md file directly
- See a live rendered preview in real time on the right side
- Optionally customize font size and page margins
- Click Convert to PDF and download — no watermark, no server upload
Supported Markdown syntax
- Headings — # H1, ## H2, ### H3 rendered with proper visual hierarchy
- Emphasis — **bold**, *italic*, ~~strikethrough~~
- Lists — ordered (1. 2. 3.) and unordered (- or *) lists, nested lists
- Code — inline code and fenced code blocks with syntax highlighting
- Tables — full GFM (GitHub Flavored Markdown) table syntax
- Links — [link text](url) rendered as clickable links in the PDF
- Blockquotes — > quoted text styled distinctly
- Horizontal rules — --- rendered as section dividers
Convert a Markdown CV to PDF
Many developers write their resume in Markdown for easy version control and editing. Structure your CV with H1 for your name, H2 for sections (Experience, Education, Skills), bold for company names and job titles, and bullet points for responsibilities. The converted PDF produces a clean, readable document. For more visual CV layouts, consider Create PDF for a rich-text editor approach.
Export from Obsidian, Notion, GitHub or VS Code
Most note and code tools speak Markdown, so this is the missing "export to PDF" button they lack. In Obsidian or VS Code, open the note's source, copy the raw Markdown, and paste it into the editor. From Notion, use Export → Markdown and upload the resulting .md file. From a GitHub repository, open the raw view of a README or doc and paste it in. The live preview shows exactly how the PDF will look, so you can adjust margins or font size before exporting — no plugin, sign-up, or local install required.
Make code blocks and tables render cleanly
Two formatting details cause most "it looked wrong in the PDF" problems. For code, always use
triple-backtick fenced blocks and add the language name right after the opening fence (for
example, python or js) so syntax highlighting is applied. For tables,
use standard GitHub Flavored Markdown pipes with a
header separator row; keep cell content short, since very wide tables are constrained by the PDF
page width. Leave a blank line before and after each list, heading, and code block — Markdown
needs that spacing to parse the elements correctly.
Frequently asked questions
Does it support GitHub Flavored Markdown tables and task lists?
Yes. Full GFM table syntax renders as formatted tables, and the standard heading, list, link, blockquote and horizontal-rule syntax all carry across to the PDF.
Will my code blocks keep syntax highlighting in the PDF?
Yes, when you use fenced code blocks and tag them with a language name. Inline code and untagged blocks render in a monospace font without colour highlighting.
Can I upload a .md file directly?
Yes. Upload a .md file and it loads into the editor automatically without copy-pasting.
Does the PDF have a watermark?
No. ihatepdf never adds watermarks to any output.
Is my Markdown content uploaded to a server?
No. Conversion runs entirely locally using Marked.js and jsPDF in your browser.