Problems and solutions · Updated · By CVPosh · Markdown version

How do I convert my resume to Markdown?

For a Word file, run Pandoc: pandoc resume.docx -t gfm -o resume.md. For a PDF, extract its text first (copy it out, or use a PDF-to-text tool), paste it into an editor, and add headings with # and bullets with - by hand. Then check the result in a Markdown preview, because automatic conversion often misses section headings.

Why people want a Markdown resume, and why conversion is messy

Markdown is plain text with light formatting marks: # for headings, - for bullets, ** for bold. Developers and technical writers keep resumes in it because it fits in Git, shows clean diffs between versions, renders on GitHub, and can be turned into HTML or PDF with standard tools. It is also a convenient format to give to an AI assistant, since it carries structure without styling.

The difficulty is the source. A Word file stores structure (headings, lists), so a converter can map it. A PDF stores drawing instructions for text positions, not structure, so a converter has to guess which lines are headings and which are bullets. That is why PDF conversions need a manual pass.

The Pandoc manual lists docx among the formats it reads and markdown among those it writes; PDF appears as an output format and not in the list of input formats. So Pandoc is the right tool for a DOCX source, and a text extraction step is needed for a PDF source.

Step by step, from Word or from PDF

  1. If your source is a Word file: use Pandoc. Install Pandoc, then run: pandoc resume.docx -t gfm -o resume.md. The gfm output is GitHub-flavoured Markdown. Open resume.md in a Markdown preview.
  2. If your source is a PDF: get the text out first. Open the PDF, select all, copy, and paste into a plain-text editor. If nothing can be selected, the PDF is an image and has no text; re-export from the original editor.
  3. Add the structure by hand. Put your name in a first-level heading (# Name). Make each section (Experience, Education, Skills) a second-level heading (## Experience). Make each job a third-level heading, or a bold line with dates.
  4. Turn lists into Markdown bullets. Start each bullet line with "- ". Pasted PDF text often has odd bullet characters or hard line breaks in the middle of a sentence; join those lines.
  5. Fix links and contact details. Write links as [text](https://...) and the email as [name@example.com](mailto:name@example.com).
  6. Preview and compare. Render it in an editor or on GitHub and compare it with the original: every job, date and bullet should still be there.
  7. Optional: produce a PDF from the Markdown. Pandoc can write a PDF when an engine is installed; by default it uses LaTeX. Style with CSS if you choose HTML as the intermediate format.
Ways to convert a resume to Markdown
SourceMethodStrengthWeakness
DOCXPandoc (-t gfm)Keeps headings and lists the document definedNeeds a command-line install; layout elements may become raw HTML
PDF with real textExtract text, then format by handWorks with any PDF that has selectable textStructure is guessed; manual headings and bullets needed
PDF, DOCX or TXTCVPosh resume to Markdown toolFast first draft with heading, bullet, date and link detectionRule-based; misses title-case headings (see below)
AnyAsk an AI assistant to format pasted textHandles messy text wellCan change or drop content; compare to the original

Pandoc input and output formats are from the Pandoc User's Guide, and PDF creation from "Creating a PDF", both read 2026-11-13.

When to use CVPosh for this

The CVPosh resume to Markdown tool accepts a PDF, DOCX or TXT file up to 10 MB and converts it with fixed rules, with no AI vendor involved. It turns lines in ALL CAPS (letters, spaces and ampersands only, under 100 characters) into level-two headings, lines ending with a colon into level-three headings, lines starting with a bullet character into list items, date ranges such as "Jan 2020 - Present" into bold text, and emails and URLs into links.

The limit that matters: a heading written in title case, such as "Work Experience", is not detected as a heading, so you will need to add those # marks yourself. Treat the output as a first draft.

The tool does not save your file to the database. If you only need the text, the PDF to text converter and the Word resume text extractor on the same site give you the extracted text without any Markdown marks.

Copy-paste prompt for an AI assistant connected to CVPosh

Connect the CVPosh MCP server first (setup on the MCP page). Every tool is read-only, so the assistant reports and you make the changes.

Assign to CVPosh: read my newest CV with get_cv and show me its plain-text form. I will paste it into a Markdown file. Tell me which section headings, dates and bullets you can identify so I can mark them up; do not reformat or rewrite anything. Show me what you did so I can approve the structure before I save it.

Questions

Can Pandoc read a PDF?

According to the Pandoc User's Guide (read 2026-11-13), PDF is listed as an output format, not an input format. Extract the text from the PDF first, then convert or format it.

Is a Markdown resume accepted by employers?

Almost never as the file you upload. Use Markdown as your source, then export to PDF or DOCX for applications.

Why did my headings come out as plain text?

Rule-based converters detect headings by patterns such as ALL CAPS or a trailing colon. Title-case headings are not matched; add the # marks yourself.

Is my resume safe in an online converter?

It depends on the tool. The CVPosh converter sends the file to its server, converts it with deterministic code and returns the result without saving it to its database. For maximum control, use Pandoc locally.

Related problems

Tools and pages that help

Sources

Markdown version of this page: https://cvposh.com/solutions/convert-resume-to-markdown.md