Markdown to PDF with a custom font
A custom font is rarely the right answer in a document - a custom *pairing* is. Two fonts that hold up next to each other will outrun a single 'unique' face every time.
Font pairings shipped with the converter
- **Geist** - modern product-team default.
- **Inter** - neutral, readable, the safest pick.
- **Plex Sans** - engineered, slightly mechanical (Palantir-adjacent).
- **Plex Serif + Sans** - editorial, long-form.
- **Carlito** - Calibri-metric, corporate-familiar.
- **Carlito + Geist** - mixed register.
- **Inter + Plex Serif** - research register.
- **Plex Mono + Sans** - RFC / runbook.
- **Hanken + Space Mono** - mono titles & footer, modern.
- **Hanken + Faculty** - display serif titles, mono footer.
- **Hanken + Monoton** - striped display titles, poster covers.
- **Space Mono** - full mono register.
Why curated pairings, not arbitrary fonts
Letting a user pick any two fonts means most of them pick badly. Curated pairings encode the choices a designer would make: weight contrast, x-height match, mono companion that doesn't fight the heading. Twelve options is enough range; more would be choice paralysis.
How the DOCX side handles fonts
Each pairing maps to a Microsoft-native font for the DOCX export - Calibri, Verdana, Tahoma, Cambria, Consolas, Courier New, Georgia, Impact, etc. That keeps the file rendering correctly on every Word install regardless of whether our bundled fonts are present.
FAQ
Can I upload my own font?
Not in v1. Font upload is a real ask but it's downstream of more popular features - let us know if it's a blocker for your workflow.
Does the font choice affect file size?
Yes. A pairing using a single family (Inter, Carlito, Geist) compresses smaller than a pairing with 3+ distinct families. For a one-page document the difference is < 100KB.
Why is the mono font always Space Mono on Hanken pairings?
Space Mono pairs particularly well with Hanken Grotesk's letter forms - and using it as the title face plus the footer creates visual rhythm. Mixing in another mono would muddy the typographic voice.
Related
https://md2document.com/markdown-to-pdf-custom-font/