Markdown to PDF: 10 Best Practices for Professional Documents (2026)
Converting Markdown to PDF seems simple, but producing a professional-looking document requires attention to detail. Follow these 10 best practices to create PDFs that look polished, readable, and ready to share.
1. Structure Your Document with Clear Headings
Use a logical heading hierarchy:
# Title (H1 - once per document)
## Chapter or Section (H2)
### Subsection (H3)
#### Detail (H4 - rarely needed)
Best practices:
- Only one H1 per document (the title)
- Don't skip levels (H1 → H3 is wrong)
- Keep headings concise and descriptive
- Use heading text that makes sense in a TOC
Avoid:
# My Document
### Introduction ← Skipped H2
## Chapter 1
2. Add Frontmatter for Metadata
Include key information at the start:
---
title: "Document Title"
author: "Your Name"
date: "2026-06-02"
version: "1.0"
---
# Document Title
This metadata can be used by converters like Pandoc to create title pages.
3. Optimize Images for PDF
Images can break PDFs if handled incorrectly.
Use Correct Paths
| Path Type | When to Use |
|---|---|
Relative: ./images/photo.png |
Local conversion, images in same folder |
Absolute URL: https://site.com/img.png |
Online converters, hosted images |
Image Size Guidelines
# Good: Size noted for reference

*Figure 1: System architecture*
# Bad: Huge image without context
 ← May overflow page
Tips:
- Resize images before embedding (don't rely on PDF scaling)
- Use PNG for diagrams, JPEG for photos
- Add alt text and captions for accessibility
4. Format Code Blocks Properly
Code is often the most important content in technical documents.
Always Specify Language
```javascript
function example() {
return "Hello";
}
```
This enables syntax highlighting in converters like MD2PDF.
Use Fenced Blocks, Not Indented
# Good: Fenced with language
```python
print("Hello")
Bad: Indented (no highlighting)
print("Hello")
### Keep Code Concise
- Remove unnecessary lines
- Use comments sparingly
- Break long code into multiple blocks with explanations
## 5. Design Tables for Readability
Tables often break across pages or look cluttered.
### Keep Tables Narrow
```markdown
# Good: 3-4 columns
| Feature | Status | Notes |
|---|---|---|
| Export | Done | Tested |
| Import | Pending | Needs work |
# Bad: 8+ columns, too wide
| Col1 | Col2 | Col3 | Col4 | Col5 | Col6 | Col7 | Col8 |
Use Alignment
| Left | Center | Right |
| :--- | :----: | ----: |
| Text | Value | $100 |
Consider Alternatives
If a table is too complex:
- Split into multiple smaller tables
- Use a list with headings instead
- Create a diagram
6. Write Links for Both Web and PDF
Links work differently in PDFs than on web pages.
Use Descriptive Link Text
# Good
Read the [full documentation](https://docs.example.com).
# Bad
Click [here](https://docs.example.com) for docs.
In PDFs, "here" gives no context when printed or viewed offline.
Include URLs for Print
For printed PDFs, show the URL:
For more information, see the [official documentation](https://docs.example.com).
> https://docs.example.com
Or use a reference-style link with URL visible:
See the [documentation][1].
[1]: https://docs.example.com
7. Use Callouts and Blockquotes for Emphasis
Highlight important information:
> **Note:** This feature requires version 2.0 or higher.
> **Warning:** Do not modify this setting without consulting support.
> **Tip:** Use keyboard shortcuts to speed up your workflow.
These render prominently in PDFs, drawing attention to key points.
8. Control Page Breaks
Long documents need intentional page breaks.
Pandoc Page Breaks
# Chapter 1
Content...
\newpage ← LaTeX command for page break
# Chapter 2
Content...
Requires --pdf-engine=xelatex or --pdf-engine=pdflatex.
Avoid Breaking Inside
Don't let tables, code blocks, or images split across pages:
- Keep related content together
- Use shorter blocks when possible
- Pandoc LaTeX handles this better than other engines
9. Test Before Final Export
Preview your PDF before sharing.
Use Live Preview
MD2PDF Online shows real-time preview. Check:
- Headings hierarchy
- Code block rendering
- Table alignment
- Image display
- Link formatting
Iterate Quickly
- Paste Markdown
- Preview
- Adjust
- Preview again
- Export
This catches issues before the final PDF.
10. Choose the Right Converter
Different converters produce different results.
| Need | Best Converter |
|---|---|
| Quick, clean PDF | MD2PDF Online |
| Maximum control | Pandoc with LaTeX |
| Obsidian notes | Obsidian PDF Export plugin |
| GitHub README | MD2PDF or Pandoc |
Recommended Setup
For most users:
- Daily documents: MD2PDF Online for speed and preview
- Professional documents: Pandoc with custom template
- Batch processing: Pandoc script
Quick Reference Checklist
Before exporting your Markdown to PDF, check:
| ✅ Check | Why |
|---|---|
| Only one H1 heading | Title clarity |
| No skipped heading levels | Proper hierarchy |
| Code blocks have language | Syntax highlighting |
| Images have correct paths | Display properly |
| Tables are 4 columns or fewer | Fit on page |
| Links have descriptive text | Context in PDF |
| Important notes in blockquotes | Visual emphasis |
| Preview before export | Catch issues early |
Frequently Asked Questions
Why does my PDF look different from the Markdown preview?
Previewers (like VS Code) use different rendering than PDF converters. Always check the actual PDF output, not just the Markdown preview.
How do I make my PDF look like a book?
Use Pandoc with a book template:
pandoc chapters/*.md -o book.pdf \
--toc \
--pdf-engine=xelatex \
--template=book.tex
Can I use custom fonts in Markdown PDFs?
With Pandoc + LaTeX, yes. Specify fonts in the template or command:
pandoc input.md -o output.pdf \
--pdf-engine=xelatex \
-V mainfont="Helvetica"
With MD2PDF, fonts are optimized for readability by default.
How do I reduce PDF file size?
- Resize images before embedding
- Use JPEG for photos (smaller than PNG)
- Remove unused content
- Use Pandoc's
--pdf-engine=xelatexfor efficient output
What's the best page size for Markdown PDFs?
Default (US Letter or A4) works for most documents. For presentations, use:
pandoc slides.md -o slides.pdf -V geometry:paperwidth=16cm -V geometry:paperheight=9cm
Apply these tips: Convert your next Markdown document at MD2PDF Online and see how proper formatting makes a professional PDF. The live preview helps you iterate quickly before the final export.