Character Vault
Any Concept / Any System
Your System Come To Life
Roll20 for Android
Streamlined for your Tablet
Roll20 for iPad
Streamlined for your Tablet

Personal tools

Andreas J.

From Roll20 Wiki

Jump to: navigation, search

Plays many systems. Sheet Author to several Character Sheets on Roll20, and have contributed to more sheets than I can count. Active editor of this Roll20 Community Wiki, and Forum Champion.

If you wish to support me for the Roll20 Sheets & Wiki updates I do, see my Patreon page!

Sheet Auteur.png Achievement get! Sheet Auteur

Played1000.png Achievement get! K Club
Rolled5000.png Achievement get! High Roller
Bughunter10.png Achievement get! Exterminator

All Opinions.png Achievement get! All Opinions are Valid
Tutorial.png Achievement get! Read the Instructions
See Me Rollin.png Achievement get! See Me Rollin'
Getting to Know You.png Achievement get! Getting to Know You
Script Runner.png Achievement get! Script Runner



Roll20-relevant stuff I've created:

Character Sheets

I've create, updated, provided translation capabilities, and submitted bugfixes to many Roll20 Character Sheets, and written large parts of the existing documentation for it.


Major Contributions


Roll20-related tools I've made or contributed to.

Minor projects:

  • npm package: @anduh/pug-cli - If you want to use PUGjs in the command line.
    • fork of the official pug-cli, but with updated dependencies.

VS Code

Visual Studio Code(VS Code) is a popular text editor. It's free, and available for Windows/Linux/Mac, as well as accessible online through

VS Code has some uses with Roll20, primarily for editing complicated macros, and for Character Sheet Creation.

Here are some useful VS Code extensions:

Roll20 Syntax Highlight

Showcase of Roll20 Macros

Roll20 Macros by Andreas J.

Extension to make roll20 macro and API command writing & troubleshooting easier. Highlight works when you use VSCode to view .rmacro-files.


  • bracket pairing & highlights
    • shows with colors which brackets/parentheses belong together(making mismatched brackets easier to find)
    • does this for roll20 macros syntax too (@{ }, ?{ }, %{ }, &{ }, $[[ ]])
  • syntax highlight
    • roll, macro & API commands (e.g. /r, !example, #dex)
    • in dice rolls, d & dF
    • some common keywords, like selected, template, %%NEWLINE%%
    • special characters used in macros (e.g. ~,|#=+, and HTML Entities)
  • Features: full summary

Roll20 Sheet Dev

Showcase of Roll20 Sheet Dev

Roll20 Sheet Dev by Andreas J.

Extension to help with Character Sheet Development.


Other Extensions

Sublime Text

Roll20 settings for Character Sheet Development

SublimeSettings is a collection of settings files for the "Sublime Text" text editor which contains bunch of Roll20-specific HTML/CSS syntax highlights, as well as shorthands automation that creates HTML with several of Roll20 quirks to speed up things.


sheet translation tool - (linux CLI)

ACSI is a tool for partially automation the process of introducing i18n-language tags to character sheets.


I've updated the Roll20 Community Wiki quite a lot starting from 2018. This is a general overview of what I've done, and some of the goals.

I've also started Roll20 articles and translations into Finnish & Swedish.

Check Help:Edit Wiki for info on how to contribute to the wiki, and see what wiki features are available

Major Articles Written

General Cleanup

This have amounted to: cleaned up the majority of articles at least once, removed redundant pages, restructured the wiki's categorization, created wiki templates, added/updated images to articles, created redirects to major pages(so they are easier to find, and have shorter wiki URLs, making them easier to link), updated the Wiki Main Page, categorized basically all pages.

Documentation for Character Sheet Creation

I've updated the main Building Character Sheets pretty majorly, and split of a bunch of articles from it when it was getting to large. Also added to CSS Wizardry a bunch of examples.

Some of the major pages created:


See Community Wiki:Contribute

API Ideas

Various API Script ideas I've seen or come up with, which could be created to automate/simplify/streamline/enhance Roll20 gaming, but haven't been realized for one reason or other(but are completely possible). I'm not good enough with API programming to have the time to learn & implement them, but the ideas are listed here so others could create them.

Selective Text Chat(Forum)

Make it so only people on the same map page hears the related rolls. Resembles somewhat the "whisper to characters to simulate languages" stupid trick.

Player Sheet Manager

Note: The Aaron have created PlayerCharacters(Forum) which does some of the ideas listed, but mainly not the automated Char Vault import/export idea using roll20id. It might get that feature eventually.

PSM is an API idea that revolves around automating & simplifying players sheet management in games that import/export sheets a lot, and/or there is a large revolving door of characters/players in the campaign, such as "West Marches"-style, or in game formats like "Adventure League"/"Pathfinder Society".

At the core, PSM is meant to be able to auto-assign sheets imported from the Character Vault to the player who imported it, instead of requiring the GM to do so manually. It would do this by checking the new character sheet for an attribute named roll20id, which the API could then use to figure out who to assign the sheet to as, roll20id for each person is persistent between games.

People can either manually add their roll20id to the sheet when creating them in a game that doesn't have PSM, or if made in a game where the PSM exists, it automatically adds a players roll20id to the sheet when the GM assigns the sheet to them.

Feature Ideas

Most of these ideas are from a while ago when I first thought about an API like this, and this is a good time to properly write them down so I can find it later again. Or inspire you.

1. setting toggle: if sheets are visible to everyone, or just owner

  • Useful if player use extra sheets(wildshape, familiar, animal companion, spiritual weapon etc.), and only one or two needs to be seen by others
  • players could to toggle visibility themselves

2. save API settings on sheet, to streamline import/export further

  • have the API create/edit a PSMinfo-attribute on the sheet, which could save sheet settings between games, such as the ones from idea 1.

3 ability for player to "discard" extra/unused sheets

  • API could just hide the sheet from all players, and append "(discarded by player)" to the name, so the GM can later see what's going on.

4. Actively manage/track if all players have sheets

  • option to give the GM an overview of the player situation, like listing all the players who don't have a sheet.
  • when players enter the game and they have no sheets, the API could have a prompt, which gives the player option to get assigned a empty sheet, or instructions on how to import a sheet form their vault.
  • The API could tell the player their roll20id, and give instructions on how they could manually add it to their sheet, if they plan to import it from a game where the API haven't automatically added the roll20id.
  • this would make all this automation work even if the (free) player have created the sheet by themselves.

5. options to track campaign/player-names/nicknames

  • not all sheets have fields for saving campaign name, player names, nicknames,or discord nicks, which could be practical to have as optional info on the sheets, which the API then could track and summarize to the GM.
  • if you have lot of people come and go, making the mental connection between character name, player Roll20 account name, in-game displayed name, and discord nick can get hard to remember
  • the player could also have a PSM info field where they can say if the character is WIP or ready for play, or just to leave

6. Option to add short session notes to char sheets, add xp

  • after a game, the GM could use the API to quickly append the session info the the char sheets that where in the game, so that later both players and GM can easily see who participated in what.
  • could be useful to be able to add the session's xp/gold to all participating sheets at once, so each player don't have to do it themselves. Especially useful of the GM calculates that in-between sessions, so it's there for the next time player checks the sheet.

Stargate Teleport

It would be cool if an API could be made that streamlines Stargate travel for GM & players, so that once a gate have been opened to a specific location, players or GM could just move their token into the open gate, and be instantly transported to the other side.

The smartest option would be to use the existing Script:Teleport and figure out how to configure it to work like stargates as it seems to covers all usercases, but it's possible that some minor/specialized parts would have to be implemented in a separate API if one aims for the highest degree of automation.