RenderCV: the résumé as a reproducible source file
rendercv/rendercv · 17,640★ · 1,361 forks
Everything worth knowing about rendercv/rendercv: a résumé generator for academics and engineers that turns validated YAML into a PDF and other formats.
What RenderCV is
RenderCV is a command-line tool and a web app for writing a CV as YAML and rendering it. Its pitch separates content from presentation: the input file holds data, translations, settings, and design, while the engine produces a typographically composed PDF; it also outputs Typst source, per-page PNG images, Markdown, and HTML.
The repository is aimed at academics and engineers. The JSON schema provides autocompletion and inline documentation in compatible editors, and validation reports structural errors before rendering.

The origin: from LaTeX to Typst, with YAML as the interface
The current repository was created on June 11, 2023. Its main visible author is Sina Atalay (sinaatalay), the top contributor by volume in the API; their GitHub profile identifies them by name and links to a personal site.
The project started on top of LaTeX: the official history records that RenderCV 1.1 was described as a LaTeX CV framework. Version 2.0, released on January 7, 2025, replaced LaTeX with Typst and reworked the design and localization model.

In the December 2025 Hacker News announcement, Atalay explained the tension that drove the interface: Word kept breaking their layout, and LaTeX felt like overkill for maintaining a résumé. The answer was a single YAML file that renders with one command. That’s the author’s own explanation, not an independent evaluation.
Philosophy and principles
- The document as versionable text: the CV can be reviewed with diffs, tags, and version control because the content doesn’t live inside a binary.
- Content before layout: options for margins, colors, fonts, language, and theme are declared separately, so editing stays focused on professional information.
- Flexible structure with strict validation: the tool allows arbitrary section titles and schema-defined entry types; it doesn’t adopt the JSON Resume schema because the author prioritized that flexibility.
- Reproducible typographic output: the engine uses Typst and supports modifiable themes and templates, instead of asking every entry to copy formatting instructions.

How it works
The main path is YAML → validation → Typst → PDF, with auxiliary outputs. rendercv new creates a starting file; rendercv render validates and generates the PDF, the .typ source, PNG, Markdown, and HTML in rendercv_output/.


Version 2.8 added four themes (harvard, ink, opal, and ember) and bundled rendercv-typst inside the Python package; because of that, it no longer needs to download that dependency from Typst Universe when compiling a PDF.
Official and semi-official status
RenderCV is an independent open-source project under the MIT license, published as the rendercv package on PyPI and deployed by the project itself at rendercv.com; the retrieved sources don’t show acceptance into an official marketplace run by an operating-system or editor vendor.
Its rendercv/rendercv-skill component is distributed through the skills standard: the documentation declares compatibility with Claude Code, Claude Desktop, Cursor, Codex, Copilot, Windsurf, and Gemini CLI when the agent supports that standard. This is documented interoperability, not certification from those vendors.
The ecosystem
Repositories maintained by RenderCV
rendercv/rendercv-pipeline— a pipeline for creating and versioning CVs; 47 stars in the GitHub query.rendercv/rendercv-app— the code behind therendercv.comapplication; 13 stars.rendercv/rendercv-skill— a skill generated from the RenderCV codebase for agents; 10 stars.rendercv/rendercv-fonts— a fonts repository; 6 stars.rendercv/rendercv-typst— the project’s Typst template; 5 stars.rendercv/rendercv-tinytex— the associated TinyTeX image; no stars in the organization listing at measurement time.

Community extensions and forks
guruor/jsonresume-to-rendercvconverts the JSON Resume schema into RenderCV’s schema; 21 stars. It’s a community migration path, not an official component.sahiljhawar/bib2yaml-for-rendercvshows up in the GitHub search as a related tool for turning a bibliography into YAML; 8 stars. No sufficient documentation was retrieved to characterize its compatibility beyond that name and relationship.- The highest-starred forks retrieved (
zhan994/rendercv, 6;t2ncay/rendercv, 2;xuanlutw/rendercv, 2) keep the Typst/YAML generator’s description. They’re classified as forks, not as functionally verified ports.
No non-English translation with an explicit relationship to the project was retrieved in the repository search performed. A CV template that happens to use RenderCV also shouldn’t be confused with a maintained extension.
Repo numbers
Measured: August 9, 2026, public GitHub API.
| Metric | Value |
|---|---|
| Stars | 17,304 |
| Forks | 1,304 |
| Subscribers | 39 |
| Commits | 1,961 |
| Open issues reported by the API | 68 |
| Primary language | Python |
| License | MIT |
| Created | June 11, 2023 |
| Latest release | v2.8, March 21, 2026 |
The top contributors returned by the API were sinaatalay (1,600), dependabot[bot] (63), akib1689 (31), and jpgoldberg (21).
The commit total was obtained from the last page of the API’s pagination. watchers_count mirrors the star count, which is why subscribers_count is reported as the real subscriber figure. open_issues_count can include open pull requests, so it doesn’t necessarily equal an issues-only count.
How to contribute
The guide retrieved at .github/CONTRIBUTING.md documents contributing via a fork, a dedicated branch, tests, and a pull request. The repository tree includes tests/, precommit configuration, and GitHub Actions workflows, plus a testing guide for development.
The community also uses Discussions: discussion 24 proposed generating cover letters in the same style as the CV, and discussion 32 asked about readability for applicant tracking systems. These are user requests and questions, not guarantees of features or ATS compatibility.
How the community received it
The Show HN 46344616 thread, submitted by sinaatalay on December 21, 2025, reached 100 points and 41 comments. It’s a launch by the author: it shows distribution, not an external review.
Within that thread, scythmic_waves recommended the tool after using it for their own CV and valued avoiding LaTeX/Typst work and the tendency to over-invest time in styling. fheysen found it practical for a recent update and praised the YAML + Typst combination and the versionable workflow; these are individual experiences.

There were also concrete objections. pietz preferred JSON Resume and questioned introducing another schema; Atalay replied that RenderCV allows arbitrary titles and nine entry types under any section. uniqueuid found the complexity excessive compared to writing Typst directly. smnrchrds reported that a schema and CLI change between versions broke their CV and asked for semantic versioning and migration guides; Atalay acknowledged the problem and said they planned to improve the guides.
Issue 755 shows a localization limitation still open in the retrieved sample: Pokoion described the sb2nov theme hardcoding the English connector in in an education entry even with locale.language: spanish set. That’s a concrete bug report, not a general assessment of the project.
Searches were attempted on the requested subreddits, X, Product Hunt, Dev.to/Hashnode, and podcasts; no sufficient verifiable evidence was retrieved to attribute posts, scores, or opinions. The official site links the @rendercvdev account and several X posts, but their text couldn’t be verified in this run.
RenderCV versus other approaches
| Approach | Verifiable difference |
|---|---|
| JSON Resume | JSON Resume uses a predefined schema; RenderCV maintains its own YAML schema, and the author defends more flexible sections and entry types. jsonresume-to-rendercv offers a community conversion. |
| Typst with a direct template | RenderCV uses Typst internally but adds a YAML schema, validation, themes, and several outputs from the same content. Using Typst directly skips that layer, as uniqueuid noted on HN. |
| LaTeX | RenderCV dropped LaTeX in the transition to version 2.0; the official change is presented as a speed and capability improvement, not as an independently measured comparison. |
Quick-start guide
Installation and first run
Python 3.12 or later is required. The documented full installation is:
pip install "rendercv[full]"
rendercv new "Your Name"
rendercv render "Your_Name_CV.yaml"
The second command creates Your_Name_CV.yaml; the third creates rendercv_output/ next to the YAML with a PDF, Typst source, PNG, Markdown, and HTML.
Official installation alternatives: pipx install "rendercv[full]", uv tool install "rendercv[full]", or the ghcr.io/rendercv/rendercv image.
Common workflows
- Create a base CV: run
rendercv new "Your Name", edit the YAML, and runrendercv render "Your_Name_CV.yaml". - Preview while editing: run
rendercv render --watch Your_Name_CV.yaml; watch mode monitors changes and regenerates the output. - Start with a language and theme:
rendercv new "Your Name" --locale "turkish" --theme "engineeringresumes"creates a starting point with those selections. - Separate output from source: use
--output-folderwithrendercv renderto choose the output directory.
Essential configuration
cv: identity, contacts, andsectionsof professional content.design: theme, page size, margins, colors, typography, and alignment.locale: language and text for dates or presentation connectors.settings: behavior options included in the initial YAML and documented in the reference.rendercv_output/: the generated folder; holds the artifacts worth reviewing or publishing, not the editable source.
Common pitfalls and fixes
- The partial
pip install rendercvinstall caused issues the documentation later fixed; use the full"rendercv[full]"variant recommended in the getting-started guide. --pdf-pathmay resolve a relative path against the YAML’s directory, not necessarily the working directory. Issue 752 shows that giving a full path avoids the ambiguity.- For a VS Code preview, install Red Hat’s YAML Extension and PDFMore, enable auto-save, and keep
rendercv render --watchrunning; if it doesn’t update, check that process and reopen the PDF. - If using
sb2novwith Spanish, review the output of education entries: issue 755 documents the English connector hardcoded in the template. Until it’s fixed, use a different theme or a modified template after testing the PDF. - Don’t assume backward compatibility between versions just because they share a major number: one user documented a costly migration, and the maintainer acknowledged the guides were lacking; check the changelog before updating an existing CV.
Integrations and migration
The verified migration path from JSON Resume is guruor/jsonresume-to-rendercv, a community conversion tool. For full customization, RenderCV allows overriding the default Typst templates.
The official skill installs with npx skills add rendercv/rendercv-skill; the agent can generate or edit YAML and use RenderCV’s commands. The documentation notes evaluations with promptfoo and validation through the tool’s own Pydantic pipeline.

As retrievable audiovisual material, YouTube indexed the video “Automatiza tu CV o currículum con RenderCV: una aplicación de Python” from the Sina Atalay channel and “RenderCV: Tu currículum como código” from Eddy Says Hi; no verifiable view counts were retrieved.
Use cases and who this repository can help
- Technical, research, and academic people who want to keep a CV in Git: the YAML lets them review content changes and regenerate PDF, HTML, and Markdown from the same source.
- Applicants preparing controlled variants of a résumé: a single piece of content can switch theme, language, margins, or settings without copying the document into a visual tool.
- Teams or individuals combining coding AI with human review: the official skill gives the agent the schema and commands, while Pydantic validation reduces structural errors before rendering.
- VS Code users who want local visual iteration:
--watchmode and PDF preview let you see the result right after saving the YAML. - Anyone starting from JSON Resume: the identified community conversion offers an entry path, though its actual compatibility should be tested against the resulting YAML itself.
Resources
- Repository: github.com/rendercv/rendercv
- Documentation and setup: docs.rendercv.com
- Changelog: docs.rendercv.com/changelog
- Package: PyPI: rendercv
- Web app: rendercv.com
- Official skills: rendercv/rendercv-skill and usage guide
- Videos: YouTube search
- Conversations: Show HN 46344616, Discussion 24, Discussion 32
- Community/X: @rendercvdev
Note: this article combines the README, official documentation, changelog, GitHub API, PyPI, and community sources consulted on August 9, 2026. Figures change over time.
Comments