How to write a resume in Markdown and export a clean PDF
A resume is one of the best things to keep in Markdown. The content barely changes between applications, you want it under version control, and you definitely don't want to fight with a word processor's spacing every time you tweak a line. The catch is that recruiters want a PDF, not a .md file. This guide shows a clean way to write the resume in Markdown and get a tidy, printable PDF out the other end.
Why Markdown for a resume
- You edit content, not layout. No more nudging a text box by two pixels. You write the words; the styling is applied consistently.
- It diffs cleanly. Keep it in a git repo and every change to your work history is tracked.
- The PDF text stays selectable. When you print real HTML to PDF, the output is searchable text, not an image. That matters for the automated systems (ATS) that scan resumes.
A resume template you can copy
Start from this and replace the content. It uses a single # title, ## for sections, and bullet lists for achievements:
# Jane Doe
Product Designer · Hong Kong · [email protected] · +852 1234 5678
## Summary
Product designer with 6 years shipping consumer apps. Strength in
design systems and turning research into shippable UI.
## Experience
### Senior Product Designer — Acme App
*2022 – Present*
- Led the redesign of onboarding; cut drop-off by 23%.
- Built and maintained the design system used by 14 engineers.
### Product Designer — Bright Studio
*2019 – 2022*
- Designed 3 client products from research through launch.
## Skills
Figma · Design systems · User research · HTML/CSS
## Education
**BA, Visual Communication** — School of Design, 2019
Notice there's no table and no fancy formatting. Resumes read best as clean headings and bullets, and that also keeps them ATS-friendly.
Turning it into a PDF
The fastest route is a browser converter: paste the Markdown, pick a page size, and save as PDF. With this tool the steps are:
- Paste your resume Markdown.
- Pick Letter if you're applying in the US or Canada, A4 everywhere else.
- Choose a clean style, then click Download PDF and pick “Save as PDF”.
Because it runs in your browser, the file never gets uploaded anywhere — which is the right default for a document with your phone number and address on it.
Keep it ATS-friendly
Applicant tracking systems read the text layer of your PDF. A few habits keep you on the safe side:
- One column. Plain Markdown is single-column by nature, which is exactly what parsers prefer. Avoid multi-column layouts.
- Real headings. Use
##for “Experience”, “Skills”, “Education” so the structure is obvious. - No text inside images. Since you're printing from HTML, your text stays as text — don't paste screenshots of text.
- Standard section names. “Work Experience” parses better than a clever custom label.
Fitting it on one page
If your resume spills onto a second page by a few lines, you don't need to delete content — adjust the margins or trim wording. If you want a hard break before a section (say, to push Education to the top of page two), see the guide on page breaks and page size. And if your name or any section is in Chinese, the CJK guide covers keeping those characters from turning into boxes.
In short
Write the resume in Markdown so you can focus on the words, then print it to a PDF in the browser so it stays private and the text stays selectable. One source file, a clean PDF every time you apply.