[Open Source] Markdown Resume Builder, Convert to PDF, Supports Multiple Templates, Completely Free
![[Open Source] Markdown Resume Builder, Convert to PDF, Supports Multiple Templates, Completely Free](https://yy123.ink/api/img/1782606955314-uf3q06.jpg)
1. Project Overview
markdown-resume-to-pdf
A markdown resume builder that converts your resume into PDF, supports multiple templates, and is completely free.
2. Open Source License
Licensed under MIT
3. Screenshots
Resume Templates & Default Theme

Resume Editor & Dark Theme

Demo Screenshots






4. Feature Overview
[Resume Builder] Create your PDF resume using Markdown syntax. Simple, flexible, highly extensible, and featuring multiple templates to choose from.
Advantages:
- Traditional resume builders generate resumes through UI forms or drag-and-drop interfaces, making the process relatively complex and tedious. Writing resumes in Markdown makes formatting much easier to extend and more convenient to use. In addition to common Markdown syntax, this tool also introduces multi-column layout (Flex) syntax, which will be explained later.
- If you are not satisfied with a particular resume design, you can fully customize and modify the layout yourself, greatly improving the resume's extensibility.
- Automatically fits your resume onto a single page, solving the awkward situation of having either too little or too much content.
- Provides a resume community where users can share their job-hunting experiences (the original intention is to build a platform combining resumes and interview experiences).
Planned Features
[✓] Mobile-responsive
[✓] Resume templates (continuously updated...)
5. Tech Stack
Pre-requisites
Required Environment for Project Setup
Node
Node.js requires ^16 || ^18 || ^19. It is recommended to use nvm to manage multiple local Node.js versions.
node -v
PNPM
If you haven't installed pnpm
npm install pnpm -g
Install Dependencies
Navigate to the /markdown-resume folder and run the following command
pnpm install
Run in Development Environment
pnpm dev
Environment Variables
- VITE_BASE_URL is the backend request URL. Optional (used to connect to the community API. If you don't want to integrate community features, you can leave it blank).
Packaging
pnpm build
Finally, deploy the dist directory to your server.
Frequently Asked Questions
Q: How do I create a multi-column layout?
A:
::: start content ::: content ::: content ::: end <!-- The syntax above will be converted into the following `HTML` structure (three-column layout) --> <div class="flex-layout"> <div class="flex-layout-item">content</div> <div class="flex-layout-item">content</div> <div class="flex-layout-item">content</div> <div></div> </div>
Q: How do I add new icon icons?
A:
icon:github <!-- The syntax above will be converted into the following `HTML` structure --> <i class="iconfont icon-github"></i>
Q: How do I add spaces?
A: Write them in the editor.
Q: How do I write a personal information section?
A:
::: headStart content ::: headEnd <!-- The syntax above will be converted into the following `HTML` structure --> <div class="head-layout"> content <div></div> </div>