Markdown cheatsheet · Markdown resume

Writing your resume in markdown

A resume is a structured document you rewrite constantly and export as a PDF. That's a shape markdown handles well. Here's a template, and the honest version of how to get a PDF out of it.

Why write a resume in markdown

The honest case, without overselling it: a resume is a structured document that you rewrite every time you apply somewhere, and that has to come out as a PDF at the end. Markdown is good at exactly that shape.

  • The content is separate from the design. Change one CSS rule or one export theme and the whole document restyles. In Word, you're dragging margins.
  • It diffs. A resume in git shows you what changed between versions. A .docx shows you a binary blob changed.
  • It's fast to tailor. Copy the file, cut three bullets, export. That's a minute, not an evening of fighting text boxes.
  • It survives. A .md file opens in twenty years. Whether the 2046 version of your word processor opens today's .docx is a genuine question.
The one real caveat. Some applicant tracking systems parse PDFs badly, and a few employers still ask for .docx specifically. Markdown exports cleanly to PDF, which covers the large majority of applications, but if a posting demands a Word file, use a converter or a word processor for that one. Don't let a tooling preference cost you an application.

The template

One file, no dependencies, built only from syntax on the cheatsheet: headings, bold, lists, a table and links. Copy it, or download it and start replacing lines.

You type
# Ada Lovelace

Analytical Engine Programmer
London, UK · ada@example.com · [adalovelace.dev](https://example.com)

---

## Summary

Engineer with 8 years building compilers and numerical software.

## Experience

### Lead Engineer · Analytical Engine Co.
**2022 - present · London**

- Cut compile times by 60% by rewriting the note-generation pass in Rust
- Led a team of 4; shipped 3 major versions with no rollback

### Engineer · Difference Engine Ltd.
**2018 - 2022 · London**

- Built the punch-card toolchain used by every downstream team

## Skills

| Area      | Tools                              |
| --------- | ---------------------------------- |
| Languages | Rust, C, Python, Assembly          |
| Systems   | Compilers, numerical methods       |

## Education

**MSc Mathematics** · University of London · 2018
You get
Ada Lovelace

Analytical Engine Programmer
London, UK · ada@example.com · adalovelace.dev


Summary

Engineer with 8 years building compilers and numerical software.

Experience
Lead Engineer · Analytical Engine Co.

2022 - present · London

  • Cut compile times by 60% by rewriting the note-generation pass in Rust
  • Led a team of 4; shipped 3 major versions with no rollback
Engineer · Difference Engine Ltd.

2018 - 2022 · London

  • Built the punch-card toolchain used by every downstream team
Skills
AreaTools
LanguagesRust, C, Python, Assembly
SystemsCompilers, numerical methods
Education

MSc Mathematics · University of London · 2018

Download resume.md

Turning it into a PDF

This is the step that matters, because nobody accepts a .md file as a job application.

Export from an editor

The shortest path: open the file in an editor that exports PDF and use it. maxdown renders the resume as you type and exports a styled PDF straight from the file, which means what you see while writing is what the employer opens. Typora does the same.

Pandoc, if you want control

You type
pandoc resume.md -o resume.pdf \
  -V geometry:margin=2cm \
  -V fontsize=11pt
You get

resume.pdf, typeset by LaTeX

Pandoc gives you real typographic control and needs a LaTeX install to produce PDFs. It's the right tool if you're going to fiddle; it's a lot of setup if you just want the file out.

Via HTML and your browser

Convert to HTML, open it, print to PDF. Crude, free, works everywhere, and lets you attach your own stylesheet. See markdown to PDF for the full comparison of routes.

What to watch out for

One page, or the export will surprise you

Markdown has no page breaks, so your resume flows until it stops. Check the PDF, not the editor, before you send it. If you need a forced break, that's a PDF export concern, not a markdown one.

Don't put your email as a bare link

ada@example.com written plainly is fine. Some renderers autolink it, some don't, and a mailto: that turns into visible link syntax in a PDF looks careless.

Tables are for skills, not for layout

It's tempting to build a two-column resume out of a markdown table. Don't. Tables get borders in most exports, they don't reflow, and ATS parsers handle them poorly. Use headings and lists; let the export theme do the layout.

Keep the file in git, keep the PDF out

Commit resume.md. Add resume.pdf to .gitignore and regenerate it. Committing both is how you end up sending last year's version.

Common questions

Can I use markdown for a CV rather than a resume?

Yes, and the longer format suits it better: an academic CV is mostly lists of publications and positions, which is markdown's home ground. Expect several pages, and check the export.

Will a recruiter know it was written in markdown?

No. They receive a PDF. The format is your business.

What about the fancy templates on GitHub?

Plenty of markdown resume projects exist with LaTeX themes and CI that rebuilds the PDF. They're good if you want that. They're also a build pipeline for a two-page document, which is worth being honest with yourself about.

Can I export to Word?

Pandoc does resume.md -o resume.docx. maxdown exports HTML and PDF, not docx.

Related syntax

· All markdown guides

Write it once. Export it clean.

Download maxdown

Free · no account · macOS, Windows & Linux