Guide · Open source
How to use RenderCV: write a YAML CV and render a PDF
Updated · written with AI from the project's own documentation and checked against our catalogue data
RenderCV is an open-source tool that turns a resume or CV written in a plain YAML text file into a formatted PDF. It is aimed at academics with long CVs and engineers who prefer editing text to using word processors. After this guide you will be able to install RenderCV, create a starter file, edit it, and render a PDF.
Quick start
- 1Install RenderCV. Confirm Python 3.12 or newer is installed, then run pip install "rendercv[full]".
- 2Create a starter file. Run rendercv new "John Doe" to generate a YAML CV file.
- 3Edit your details. Replace the sample content under the cv key with your own name, contact details and sections.
- 4Pick a theme. Set design theme and adjust page, colors or typography if you want to change the look.
- 5Render the PDF. Run rendercv render on your YAML file to produce the PDF.
- 6Re-render after changes. Edit the YAML again and run the render command to regenerate the PDF.
Install RenderCV with pip
RenderCV is installed as a Python package and requires Python 3.12 or newer. Install it with the command below from the project README.
- Check that your Python version is 3.12 or newer before installing.
- The README uses the [full] extra in the install command.
pip install "rendercv[full]"Create a new CV file
Run the new command with your name in quotes. RenderCV creates a YAML file you can fill in. The README example uses John Doe, which produces a file named John_Doe_CV.yaml.
- The file is plain text, so you can open it in any editor that supports YAML.
rendercv new "John Doe"Fill in your details in the YAML file
The file is organized under a cv key. Your name, location, email, website and social networks go at the top, and sections such as education follow. Each entry uses named fields like institution, area, degree, start_date, end_date and highlights.
RenderCV checks the file against a schema when you render. If something is wrong, the error points to what and where, according to the project's validation feature.
- Use the cv: top-level key for all content.
- Dates such as 2018-09 are written in YYYY-MM form in the example.
- A JSON Schema is available so editors can offer autocompletion and inline documentation while you type.
Render the PDF
Run the render command with the name of your YAML file. RenderCV reads the file and generates the PDF. Run it again after each change to regenerate the output.
- Because the source is text, you can track changes with Git and regenerate the PDF after edits.
rendercv render "John_Doe_CV.yaml"Choose a theme and adjust the design
RenderCV includes several built-in themes. The README lists classic, Engineeringresumes, Sb2nov, Moderncv, Engineeringclassic, Harvard, Ink, Opal and Ember, with example PDFs for each. You select a theme and adjust options in a design block.
The design block also controls page size and margins, colors, and typography such as line spacing, alignment and font family.
- Set the theme under design.
- Page options include size (for example us-letter) and four margins.
- Colors are set as rgb values for body, name, section titles and links, among others.
- Localization for non-English layouts is configured manually through the locale fields.
design:
theme: classic
page:
size: us-letter
top_margin: 0.7in
colors:
name: rgb(0, 79, 144)
typography:
font_family: Source Sans 3What people use it for
- An academic CV with education entries, thesis details and honors listed as highlights.
- An engineer keeping a resume in a Git repository and regenerating the PDF after each update.
- Trying several built-in themes on the same content to see which layout fits.
- Using an AI coding agent to create or edit the CV through the RenderCV skill, installed with npx skills add rendercv/rendercv-skill.
Frequently asked questions
Is RenderCV free?
RenderCV is released under the MIT licence, and its source is open on GitHub. The README does not mention any paid tier, so check the project's licence file for terms.
What do I need to run RenderCV?
The README states that RenderCV requires Python 3.12 or newer. You also need to be comfortable running commands in a terminal, since installation and rendering are done from the command line.
How do I install RenderCV?
Run pip install "rendercv[full]" in a terminal with Python 3.12 or newer. The README lists this as the install command.
Can I make a RenderCV resume without writing YAML?
The README describes writing YAML by hand, and RenderCV is not a drag-and-drop editor. Editors with the JSON Schema can help with autocompletion, but you still work in a text file.
Does RenderCV support languages other than English?
The README says you can fill out the locale field for your language. Localization is configured manually, so it requires editing those fields yourself.
What are alternatives to RenderCV?
The project lists LaTeX resume templates, Typst, Reactive Resume and JSON Resume as comparable projects. Choose based on whether you want a text-based workflow, a visual editor, or a specific output style.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
RenderCV suits academics with long CVs and engineers who want their resume as text in Git and rendered to PDF with one command. It is a poor fit if you want a visual drag-and-drop editor, need a non-English layout without manual locale setup, or are uncomfortable installing Python packages and using a command line.
Install options & downloads