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 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.
# 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
Analytical Engine Programmer
London, UK · ada@example.com · adalovelace.dev
Engineer with 8 years building compilers and numerical software.
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
2018 - 2022 · London
- Built the punch-card toolchain used by every downstream team
| Area | Tools |
|---|---|
| Languages | Rust, C, Python, Assembly |
| Systems | Compilers, numerical methods |
MSc Mathematics · University of London · 2018
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
pandoc resume.md -o resume.pdf \ -V geometry:margin=2cm \ -V fontsize=11pt
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.