Brought to you with ❤️ by PPResume
Resumes as Code in YAML
YAMLResume allows people to create and version control resumes using YAML and generate pixel perfect PDFs with professional layout and typesetting in a breeze.

Powerful, Professional & Perfect
Pro-Grade Typesetting
Powered by LaTeX for pixel-perfect typography, consistent spacing, and a professional aesthetic.

Plain Text in YAML
Maintain your resume as code in YAML—clean, readable, and perfectly suited for version control.
Git
commit 8a67810
Author: You <you@dev.io>
Date: Dec 30
feat: update work experience
--- a/resume.yml
+++ b/resume.yml
location:
address: 123 Main Street
- city: Sacramento
+ city: San Francisco
region: California
Developer CLI
A powerful command-line interface to automate your resume workflow and integration.
Schema Intelligence
Get instant feedback and prevent errors with built-in schema validation as you type.
Infinite Flexibility
Structure your resume exactly how you want with modular sections designed for maximum impact.
Rich Text Formatting
Use Markdown-style rich text in your summaries to make your key points pop with clarity.
---
content:
basics:
# ...
summary: |
This is a sample YAML resume that support limited set of markdown rich text syntax (bold, italics, links, lists):
- Computer Science major with **strong foundation** in data structures, *algorithms*, and software development
1. Pixel perfect full stack web developer, specialised in creating high-quality, visually appealing websites
2. Experiened in databases (SQL, NoSQL), familiar with server-side technologies ([Node.js](https://nodejs.org/en), Express, etc.)
- Team player, with detail-oriented mindset and a keen eye for design and user experiences
Go Global
Built-in support for multiple languages, making international applications effortless.
Professional Templates
Choose from a variety of battle-tested LaTeX templates designed for clarity and professional impact.
Multi-Output Support
Generate your resume in multiple professional formats including PDF, responsive HTML, and clean Markdown.
---
layouts:
- engine: latex
template: moderncv-banking
- engine: markdown
- engine: html
template: calm
Get Started in Seconds
NPX (Recommended)
Create a new project instantly with zero global installs
NPM Global
Install as a global CLI tool for system-wide access
$ npm install -g yamlresume
Homebrew
Install on macOS using the Homebrew package manager
$ brew install yamlresume
Docker
Run in an isolated container without local dependencies
$ docker run --rm -v $(pwd):/home/yamlresume yamlresume/yamlresume new
json2yamlresume
Convert JSON Resume to YAMLResume format seamlessly
$ npx json2yamlresume input.json output.yaml
Crafted for Perfection

Conventional

YAMLResume
Trusted by Developers
What People Say
View testimonial by u/DeepanshKhurana (opens in a new tab)
“One of those projects that I know I will use soon and use intermittently for a long time. Well done! Also, I have an idea for my portfolio website and this gets me halfway there without doing most of the work. I'll add credits to you, of course, whenever I get to finishing it.”

u/DeepanshKhurana
View testimonial by Stephen Liberty (opens in a new tab)
“This is one of those things that I wish was a shared standard - not necessarily the pretty resume portion, which *is* cool - but almost an openapi-type-spec for what a resume is. Let's face it, everyone is parsing these things now via AI and such. Wouldn't it be nice to just upload a yaml file and know that your resume's format or readability wasn't going to be a factor in your application? I can't even count how many times Workday's systems have utterly butchered its auto parse of my resume. It wouldn't take too much - couple big players to agree to use it and everyone else would fall in line. <sigh>”

Stephen Liberty
Frequently Asked Questions
YAMLResume is a tool that allows you to manage your resume as code using YAML. It provides a structured way to define your work experience, skills, education, and other resume sections in a simple & version-controllable plain text document. YAMLResume then converts this YAML data into beautifully typeset PDF documents which is ready for job and scholarship applications.
YAMLResume started out as the core typesetting engine for PPResume, a LaTeX based, pixel perfect resume builder. After careful consideration, we decided to open source it so that people can always have the right to say no to vendor lock-in.
In a nutshell, YAML was chosen because it's more human-readable and human-writable than JSON. Despite its cleaner, less verbose and more flexible syntax, YAML also supports comments, allowing you to annotate your resume with notes that won't appear in the final output. YAML's hierarchical structure naturally maps to the sections and subsections, making it perfect for structured data like resumes.
YAMLResume is actually a DSL for writing resumes, so under the hood it is a compiler for resumes. It transforms the YAML data into PDFs in a multi-step process. First, it parses the YAML file and validates its structure against a schema. Then, it processes the data with a codegen process that generates LaTeX code. Finally, this LaTeX code is compiled into a professional-quality PDF using a LaTeX engine. This approach ensures pixel-perfect typography and layout that's consistent across all devices and platforms.
LaTeX is the gold standard for professional document typesetting, especially in academic and technical fields. It provides superior typography with proper kerning, ligatures, and hyphenation that's difficult to achieve with HTML/CSS or word processors. LaTeX excels at consistent spacing, precise positioning and flexible layout. By using LaTeX as the underlying typesetting engine, YAMLResume ensures that your resume has a polished, professional look that stands out to recruiters and hiring managers.