There are over 400+ npm packages of themes that we pick official themes from. They are all open source and built by the community.

Not all themes that are available in our hosted offering are listed below, you can see a list at https://registry.jsonresume.org/themes

Preview them by just editing the query string https://registry.jsonresume.org/thomasdavis?theme=flat

Want to develop your own?

Check out an example boilerplate theme -> https://github.com/jsonresume/jsonresume-theme-boilerplate.

Here is an example of a more well done and modern theme -> https://github.com/davcd/jsonresume-theme-actual.

For an even better theme development environment, try this -> https://github.com/kelyvin/jsonresume-theme-caffeine.

In short, if you want to add a theme to the official list, you need to publish an NPM module named `jsonresume-theme-{name}`. That module needs to export a function called `render` that takes a `resume.json` and returns a plain HTML string.

Getting started

If you are using the registry to host your resume, you can easily test different themes by appending a query string e.g.

https://registry.jsonresume.org/thomasdavis?theme=flat

Or you can set the default theme for your resume on the registry by using the --theme option in the CLI tool e.g.

resume publish --theme flat