Skip to content

RenderCV

CV/resume generator for academics and engineers

test coverage docs pypi-version pypi-downloads

Write your CV or resume as YAML, then run RenderCV,

rendercv render John_Doe_CV.yaml

and get a PDF with perfect typography. No template wrestling. No broken layouts. Consistent spacing, every time.

With RenderCV, you can:

  • Version-control your CV — it's just text.
  • Focus on content — don't wory about the formatting.
  • Get perfect typography — pixel-perfect alignment and spacing, handled for you.

A YAML file like this:

cv:
  name: John Doe
  location: San Francisco, CA
  email: john.doe@email.com
  website: https://rendercv.com/
  social_networks:
    - network: LinkedIn
      username: rendercv
    - network: GitHub
      username: rendercv
  sections:
    Welcome to RenderCV:
      - RenderCV reads a CV written in a YAML file, and generates a PDF with professional typography.
      - See the [documentation](https://docs.rendercv.com) for more details.
    education:
      - institution: Princeton University
        area: Computer Science
        degree: PhD
        date:
        start_date: 2018-09
        end_date: 2023-05
        location: Princeton, NJ
        summary:
        highlights:
          - "Thesis: Efficient Neural Architecture Search for Resource-Constrained Deployment"
          - "Advisor: Prof. Sanjeev Arora"
          - NSF Graduate Research Fellowship, Siebel Scholar (Class of 2022)
    ...

becomes one of these PDFs. Click on the images to preview.

Classic Theme Example of RenderCV Engineeringresumes Theme Example of RenderCV Sb2nov Theme Example of RenderCV
Moderncv Theme Example of RenderCV Engineeringclassic Theme Example of RenderCV Custom themes can be added.

JSON Schema

RenderCV's JSON Schema lets you fill out the YAML interactively, with autocompletion and inline documentation.

JSON Schema of RenderCV

Extensive Design Options

You have full control over every detail.

design:
  theme: classic
  page:
    size: us-letter
    top_margin: 0.7in
    bottom_margin: 0.7in
    left_margin: 0.7in
    right_margin: 0.7in
    show_footer: true
    show_top_note: true
  colors:
    body: rgb(0, 0, 0)
    name: rgb(0, 79, 144)
    headline: rgb(0, 79, 144)
    connections: rgb(0, 79, 144)
    section_titles: rgb(0, 79, 144)
    links: rgb(0, 79, 144)
    footer: rgb(128, 128, 128)
    top_note: rgb(128, 128, 128)
  typography:
    line_spacing: 0.6em
    alignment: justified
    date_and_location_column_alignment: right
    font_family: Source Sans 3
  # ...and much more

Design Options of RenderCV

Tip

Want to set up a live preview environment like the one shown above? See how to set up VS Code for RenderCV.

Strict Validation

No surprises. If something's wrong, you'll know exactly what and where. If it's valid, you get a perfect PDF.

Strict Validation Feature of RenderCV

Any Language

Fill out the locale field for your language.

locale:
  language: english
  last_updated: Last updated in
  month: month
  months: months
  year: year
  years: years
  present: present
  month_abbreviations:
    - Jan
    - Feb
    - Mar
  ...

Get Started

Install RenderCV (Requires Python 3.12+):

pip install "rendercv[full]"

Create a new CV yaml file:

rendercv new "John Doe"

Edit the YAML, then render:

rendercv render "John_Doe_CV.yaml"

For more details, see the user guide.