Community Sheet Repository

info

This page covers deployment to Roll20. Guides for other VTTs will be added as export support expands.

If you want your character sheet available to every Roll20 user -- so anyone can select it when creating a new game -- you submit it to Roll20's community sheet repository on GitHub. This is how most of the sheets in Roll20's sheet dropdown got there.

The process involves GitHub (a platform for sharing and collaborating on code), but you do not need to be a programmer. The steps below walk you through it.

info

Submitting to the community repository means your sheet becomes publicly available. If you just want to use your sheet in your own games, Custom Game Upload is simpler.

Prerequisites

Before you start, you need:

  • A GitHub account -- Sign up for free at github.com if you do not have one
  • Your exported sheet files -- sheet.html, sheet.css, and sheet.json from Sheet Architect's export
  • Basic familiarity with GitHub -- You will need to fork a repository, add files, and submit a pull request. If these terms are unfamiliar, Roll20 has a helpful Beginner's Guide to GitHub written specifically for sheet creators

Submission Process

1. Fork the Repository

Go to the Roll20 Community Character Sheets repository on GitHub. Click the Fork button in the upper right. This creates your own copy of the repository where you can make changes.

2. Create a Folder for Your Sheet

In your forked repository, create a new folder with your sheet's name. Use a clear, descriptive name with hyphens instead of spaces (e.g., pathfinder-2e-advanced or my-homebrew-system).

3. Add Your Sheet Files

Upload your exported files into the new folder:

  • sheet.html -- your exported HTML
  • sheet.css -- your exported CSS
  • Any images your sheet uses (like a preview screenshot)

4. Create the sheet.json Manifest

Every sheet in the community repository needs a sheet.json file that tells Roll20 about your sheet. This is different from the translation sheet.json that Sheet Architect exports -- it is a manifest file with metadata.

The manifest includes:

  • html and css -- the filenames of your sheet files
  • authors -- your name or Roll20 username
  • roll20userid -- your Roll20 user ID number
  • preview -- filename of a preview image showing what your sheet looks like
  • instructions -- a brief description or link to documentation
  • legacy -- set to false for new sheets

Here is an example:

{
  "html": "sheet.html",
  "css": "sheet.css",
  "authors": "YourName",
  "roll20userid": "123456",
  "preview": "preview.png",
  "instructions": "A character sheet for My Game System.",
  "legacy": false
}
lightbulb

Check existing sheets in the repository for examples of well-structured sheet.json files. The format is straightforward, and looking at real examples is the fastest way to get it right.

5. Submit a Pull Request

Once your files are in place:

  1. Go to your forked repository on GitHub
  2. Click Contribute and then Open pull request
  3. Write a clear title (e.g., "New sheet: My Game System")
  4. In the description, explain what your sheet is for, what game system it supports, and any notable features
  5. Submit the pull request

6. Wait for Review

Roll20's team reviews all sheet submissions. They check for:

  • Correct file structure and sheet.json format
  • Basic functionality (the sheet loads without errors)
  • Compliance with Roll20's sheet guidelines
  • No malicious code
warning

The review process can take time -- sometimes days or weeks, depending on the review queue. Reviewers may request changes before accepting your sheet. Be patient and responsive to feedback.

Updating an Existing Sheet

If your sheet is already in the community repository and you want to push an update:

  1. Sync your fork with the latest upstream repository (to pick up any changes others have made)
  2. Replace the sheet files in your sheet's folder with the new export from Sheet Architect
  3. Update the version in your sheet.json if applicable
  4. Submit a new pull request with a description of what changed (bug fixes, new features, layout improvements, etc.)

Clear changelogs in your pull request description help reviewers process updates faster.

Resources