MD to PDF

Markdown resume to PDF,
clean and ATS-ready

Write the content in Markdown and let the layout be someone else's problem. A Markdown resume converted to PDF keeps a real text layer — which is exactly what an applicant tracking system needs in order to read it.

document.md
Source
77 lines · 308 wordsLn 1, Col 1

Why a Markdown resume converts to PDF so cleanly

A résumé is mostly a short list of headings, dates and bullets, and almost all the time spent on one in a word processor goes into fighting the layout rather than improving the content. In Markdown the structure is unambiguous, the file is small enough to keep in version control, and tailoring it for a specific role is a text edit rather than a formatting exercise.

Making it survive an applicant tracking system

Most large employers parse your PDF before a person sees it, and most parsing failures come down to the file not containing readable text in a sensible order. A few choices matter more than the rest.

  • The text must be real text, not a picture of text — exporting a design tool's canvas as an image is the most common way a résumé becomes unreadable, and does not happen here
  • Use headings for sections and bullets for achievements, so the reading order matches how a human would read it
  • Avoid multi-column layouts and avoid tables used purely for positioning; parsers read them in an order you did not intend
  • Keep contact details in the body rather than in a header or footer, which some parsers skip
  • Links to LinkedIn or a portfolio stay clickable, so write them as [text](url) rather than pasting a bare URL
  • Fonts are embedded, so the document looks the same on the reviewer's machine as it does on yours

Fitting it onto one page

The style panel is the fastest way to gain or lose a page without cutting content you wanted to keep. Reduce the margins, drop the body size by a point, and choose a more compact typeface — Inter and Source Serif set tighter than Merriweather at the same size. Turn page numbers off, since a one-page résumé does not need one, and leave the title page off so your name stays at the top of the first page.

A structure that parses cleanly

Name as the top-level heading, contact details on the line beneath, then one second-level heading per section — Experience, Education, Skills. Under each role, a third-level heading with the job title and dates, then bullets for what you actually did. Nothing more elaborate is needed, and anything more elaborate is where parsers start guessing.

Two résumés from one file

Because the source is plain text, keeping a general-purpose résumé alongside a handful of role-tailored versions is a matter of editing a bullet list rather than fighting a template. The pattern that works: keep one canonical Markdown file under version control, and for a specific application duplicate it, reorder or trim the experience bullets to lead with what that role cares about, and reconvert. The difference between versions is then just text — easy to review, and easy to put back if a tailored cut removed something worth keeping.

What the recipient's PDF viewer actually shows

A PDF produced by a real browser engine embeds its fonts rather than naming them, so the document looks identical on the reviewer's machine regardless of what is installed there — no fallback face substituting for the one you chose. The tagged output structure matters specifically for a résumé: some applicant tracking systems and accessibility-conscious reviewers read through text extraction rather than visually, and a tagged PDF preserves the reading order — heading, then role, then bullets — in a way a flattened image of a résumé cannot.

Formatting habits that cause trouble even in Markdown

A few ideas travel badly regardless of the tool, all for the same underlying reason: a parser has to guess a linear reading order, and these make the guess hard.

  • Packing a skills section into a table scrambles reading order, because a table's cells have no single obvious sequence
  • Using an icon in place of a text label for contact details often extracts as nothing at all — the icon is a symbol, not the information it stands for
  • Multi-column layouts cause the same extraction-order problem as tables, for the same reason
  • Putting your name only in a header or footer can lose it entirely, since some parsers skip both

Common questions

Is a PDF from Markdown ATS-friendly?

Yes, provided the PDF contains real text rather than an image. This converter produces embedded, selectable text with a sensible reading order, which is what parsers need.

How do I get my résumé onto one page?

Narrow the margins, drop the body size a point, and pick a more compact typeface in the style panel. The preview shows the page count as you change them, so you can stop as soon as it fits.

Will my LinkedIn and GitHub links be clickable?

Yes, if you write them as Markdown links. They stay live in the PDF, so a reviewer can follow them straight from the file.

Should I include a photo?

Markdown has no layout for a headshot the way a visual template does. It can be added as an ordinary Markdown image, but most ATS-focused advice is to leave photos off: they add file weight without helping a text-based parse.

Can I use two pages for a longer work history?

Yes — nothing in the converter enforces a single page. The one-page guideline is a résumé-writing convention rather than a technical limit, and a decade or more of relevant roles is a reasonable case for two.

Will the PDF have a navigable outline?

Every heading becomes a PDF bookmark automatically, with nothing to switch on, so a reader's sidebar will show your section structure. The separate Contents option adds a visible table of contents onto the page, which a one-page résumé rarely wants.

Does it need a heading like “Resume” or “CV” at the top?

No — start with your name. A hiring manager and an ATS both know what kind of document they are looking at from context, so a label at the top spends space a one-page format cannot spare.