Writing a Resume in Markdown and Exporting to PDF
A step-by-step guide to creating a professional, ATS-friendly resume in Markdown and exporting it as a polished PDF — with a complete template.
Writing your resume in Markdown gives you a clean, version-controlled, portable source that you can export to PDF in seconds. This guide covers the structure, a complete template, and tips for producing a great-looking resume PDF.
Why Markdown for Resumes?
| Benefit | Detail |
|---|---|
| Version control | Track every version of your resume in Git |
| Plain text source | Open and edit in any text editor, forever |
| Fast iteration | Change content and re-export instantly |
| No formatting battles | No more fighting with Word’s margin snapping |
| ATS-friendly | Plain text is parsed reliably by Applicant Tracking Systems |
| One source, many formats | Same .md → PDF, HTML, Word via Pandoc |
Complete Resume Template
Copy this template and fill in your details:
# Jane Smith
**Software Engineer** · jane@example.com · [linkedin.com/in/janesmith](https://linkedin.com/in/janesmith) · [github.com/janesmith](https://github.com/janesmith) · +1 555 123 4567 · San Francisco, CA
---
## Summary
Experienced full-stack engineer with 6 years building scalable web applications in TypeScript, Python, and Go. Passionate about developer experience, clean architecture, and shipping products that users love.
---
## Experience
### Senior Software Engineer — Acme Corp
**March 2022 – Present** · San Francisco, CA
- Led migration of monolithic Rails app to microservices, reducing deploy time from 45 minutes to 8 minutes
- Architected real-time collaboration features using WebSockets, serving 50,000 concurrent users
- Mentored 4 junior engineers; introduced code review standards adopted across the team
- Reduced infrastructure costs by 30% by right-sizing Kubernetes pods and introducing autoscaling
### Software Engineer — StartupXYZ
**January 2020 – February 2022** · Remote
- Built customer-facing dashboard with React and TypeScript; improved page load time by 60%
- Designed and implemented REST API serving 2M requests/day with 99.95% uptime
- Established CI/CD pipeline with GitHub Actions, Docker, and Terraform
### Junior Developer — Web Agency
**June 2018 – December 2019** · New York, NY
- Delivered 12 client websites using React, Next.js, and headless CMS platforms
- Collaborated directly with designers to implement pixel-perfect layouts
---
## Education
### B.S. Computer Science — University of California, Berkeley
**2014 – 2018** · GPA: 3.8 / 4.0
---
## Skills
| Category | Technologies |
|----------|-------------|
| **Languages** | TypeScript, Python, Go, SQL |
| **Frontend** | React, Next.js, Tailwind CSS |
| **Backend** | Node.js, FastAPI, PostgreSQL, Redis |
| **Cloud & DevOps** | AWS, GCP, Docker, Kubernetes, Terraform |
| **Tools** | Git, GitHub Actions, Datadog, Sentry |
---
## Projects
### Open Source: markdown-pretty · [github.com/janesmith/markdown-pretty](https://github.com)
Markdown-to-PDF converter built with Next.js and Puppeteer. 1,200 GitHub stars.
### Side Project: DevMetrics
Real-time engineering metrics dashboard. 500 active users.
---
## Certifications
- AWS Certified Solutions Architect – Associate (2023)
- Certified Kubernetes Administrator (CKA) (2022)
PDF Export Tips for Resumes
Keep it to One Page
A one-page resume is standard for engineers with under 10 years of experience. Use these techniques to fit content:
- Reduce bullet points to your top 3 per role
- Use tables for skills instead of lists (more compact)
- Remove the Summary section if pressed for space
Force a Page Break for Two-Page Resumes
If your resume is legitimately two pages, keep your most critical information on page one and break cleanly:
<div style="page-break-after: always;"></div>
## Additional Experience
Consistent Formatting Checklist
Before exporting:
- All dates follow the same format (
Month YYYY – Month YYYY) - Company names are bold or heading-styled consistently
- All links are clickable in the HTML preview
- Bullet points start with strong action verbs (Led, Built, Designed, Reduced)
- Numbers quantify impact wherever possible (%, $, users)
ATS Compatibility
Applicant Tracking Systems parse your resume to extract keywords. Markdown-to-PDF exports are ATS-friendly because:
- The PDF contains real, selectable text (not a scanned image)
- Heading structure is semantic and clear
- No complex multi-column layouts that confuse parsers
Avoid tables for your main experience section — some ATS parsers struggle with table cells. Use plain bullet lists for experience bullets, and reserve tables for the skills section.
Sharing Your Resume
Use the Share feature to generate a public URL to your resume. Send this link to recruiters as a web-viewable version — it loads instantly, looks great on mobile, and lets recruiters download the PDF directly from the page.