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

Difference between revisions of "API:Script Index"

From Roll20 Wiki

Jump to: navigation, search
m (Maps & Drawing)
m (Jukebox)
Line 83: Line 83:
The {{Jukebox}} is the music player, and some APIs interact with it
The {{Jukebox}} is the music player, and some APIs interact with it
* [[Script:Roll20_Audio_Master|Roll20 Audio Master]] -- Comprehensive jukebox control script; play, stop, and loop tracks. Adjust volume of tracks. Create, edit, play, stop, loop, and shuffle playlists.
* [[Script:Roll20_Audio_Master|Roll20 Audio Master]] -- Comprehensive jukebox control script; play, stop, and loop tracks. Adjust volume of tracks. Create, edit, play, stop, loop, and shuffle playlists.
** [[Script:Customizable Roll Listener|Customizable Roll Listener]] can be combined with "Roll20 Audio Master" to listen & automatically specific play sounds form Jukebox when keywords appears in the chat.
* [[Script:PowerCards|PowerCards]] -- Create nicely formatted output cards for attacks, spells, and other abilities. Have options to interact with Jukebox.
* [[Script:PowerCards|PowerCards]] -- Create nicely formatted output cards for attacks, spells, and other abilities. Have options to interact with Jukebox.

Revision as of 10:44, 24 November 2021

The API:Script Index is a community-curated list of API Scripts that are available for use on Roll20.


Contribute & share your APis
If you're interested in contributing to the Roll20 API Community Scripts & want yours to show up in the One-Click Install please follow the instructions in the README. Otherwise you can add yours to Short Community Scripts or make a new page for it.

Favorite API Lists of some users:

For APIs not found in the API One-Click Install see:


APIs available in One-Click Menu

If your script are designed for use with a specific game system, ruleset, or specific Roll20 character sheet, please list the API under that game system, instead of listing under one of the more generic categories. When appropriate, API can be listed under more than one category.

Some great or popular APIs have their name highlighted in bold to stand out.


Various scripts related to Character Sheets, and managing them.

  • CharSheet -- Allow players to create their own character sheets.
  • Welcome Package(Forum) -- API create and assigns character sheets to new people who join a game
  • PlayerCharacters(Forum) -- Player & Character Manager. List all Player Characters divided by Player for the GM, or all assigned Characters for a Player. Add Characters for GM and Players.
  • PublicSheet(Forum) -- Creates a "public" version of character sheets that players can't edit, which mirrors the actual character sheet.
  • Reporter(Forum) -- A script to poll the game and return info on Token/Character pairs, along with customized action tools.
  • Observer(Forum) -- Manages observer players, who are given the visibility (and control) of all player characters. This is useful for both podcasting views and local play on a single player screen.


Most game systems have some form of equipment to make characters better. While scripts dealing with that equipment may necessarily be system-specific, there are scripts which handle equipment in a more general fashion.

  • Ammo -- Provides inventory management for ammunition stored in an attribute of a character. Can be used with any char sheet


Manipulate one or more characters' attributes. Anything that is system-specific should be placed in the system's category below; this section is for system-agnostic attribute manipulation.

  • Ammo -- API for tracking ammo use & recovery.
  • ChatSetAttr -- Create, modify, and delete character attributes via chat commands or macros. ChatSetAttr can be embedded into normal macros.
  • GroupCheck -- A way to quickly roll a group check for everyone, and see who succeed
    • ApplyDamage(Forum) -- Supplementary API to GroupCheck, which enables to automatically apply damage to a group of characters, based on failed/succeeded GroupCheck rolls. Example: Damage of an AoE Spell, based on success/fail on saving throw
  • Conditions -- Track attribute-modifying conditions.
  • EasyExperience -- Make awarding experience easy and choose your experience progression.
  • LazyExperience(Forum) -- to record experience during a game. Inspired by EasyEx, biggest difference is that it has an option to reward experience directly.
  • Experience Tracker -- (Note: Old API, not updated since 2016) Automatic tracking of a D&D 5e-like experience system, as well as level up announcement in chat. !xp handles experience and announces level up.


Various APIs that primarily help you out by creating API commands & options that can be used in the q Text Chat.

  • ChatSetAttr -- Create, modify, and delete character attributes via chat commands or macros.
  • ChatTurnManager -- A script to simplify Turn Order Management, and move it into chat.
  • emas -- Provides player !emas and !as commands.(emote as)
  • ScriptCards -- A scripting language in an API Script. Used to produce nicely formatted output cards for attacks, spells, and other abilities. Successor to PowerCards
  • PowerCards -- Create nicely formatted output cards for attacks, spells, and other abilities.
  • Message of the Day -- Greets players that log in with the contents of a particular note.
  • Rollable Table Macros -- Use macros and chat commands with rollable tables
  • DiscreteWhisper(Forum) -- multi-recipient whispers with asides and buttons
  • Check It Out(Forum) -- allows players to examine nearby objects(tokens) and learn more information about them by having a message appear in the chat. Can be set up with system-specific properties, such as automated Investigation skill checks that reveal more information based on the rolled result. Readme
  • Dialog(Forum) -- a script that makes chat a bit more fun and easier to parse, especially for games that don't use voice. It also makes it much easier to get the GM's attention in a busy game. by Keith


Universal combat scripts assist in making combat flow more easily. This can mean anything from automatically handling initiative(t Turn Tracker), automating exchanges between combatants, or doing more comprehensive management. Scripts made for specific Game systems or Roll20 sheets are listed on D&D 5E & below

  • Group Initiative -- Adds the selected tokens to the turn order after rolling their initiative + configurable data.
  • CombatMaster(Forum) (by Victor B.) -- API for improving various aspects of combat. Automating condition duration in combat, Initiative improvement, and more.
  • AddCustomTurn(Forum) (by Aaron)-- An easy way to add (and remove) custom turns which increment or decrement, and have auto delete features.
  • EncounterHelper -- Group tokens into encounters that can be shown, hidden, and reset to their initial values.
  • Critical -- Quick method of determining the outcome of a critical hit.
  • Fumbler -- Quick method of determining the outcome of a fumble.
  • Initiative Tracker Plus -- Initiative and effect tracker with other features.
  • GitHubLogo.png -- A script to simplify Turn Order Management, and move it into chat.


The u Jukebox is the music player, and some APIs interact with it

  • Roll20 Audio Master -- Comprehensive jukebox control script; play, stop, and loop tracks. Adjust volume of tracks. Create, edit, play, stop, loop, and shuffle playlists.
    • Customizable Roll Listener can be combined with "Roll20 Audio Master" to listen & automatically specific play sounds form Jukebox when keywords appears in the chat.
  • PowerCards -- Create nicely formatted output cards for attacks, spells, and other abilities. Have options to interact with Jukebox.


Content generation can extend the reach of your campaign while minimizing the GM's prep time.

  • Dungeon Utils -- Generates random dungeons from wall and floor images.
  • namegen -- Generates random names of People, Towns/Cities, and Taverns
  • Terrain Generator -- Generate simple outdoor maps (forests, deserts, etc)

Maps & Drawing

Various APIs related to the Map that isn't related to Dynamic Lighting, nor focused on Tokens.

  • SmartAoE -- graphical interface for implementing AoE's on gridded maps to clearly show which squares are affected
  • Areas of Effect(Forum) -- let's players spawn AoE effects on the map(based on what GM made available.
  • DryErase(Forum) – An API that can stop players from drawing on the map.
  • Hexploration(Forum) -- Script allows the GM to conceal areas of a hex grid with individual opaque hexes. Then characters can explore the hexes to reveal them. Readme
  • MapLock -- Provides locking of graphics to prevent moving/resizing/rotating them. Also highlighting.
  • MapChange -- Provides an easy and user friendly way to move players between maps.
  • Page Navigator -- Easily move players from page to page, and allow players to move to pages by moving their tokens. Note: Version 2 have some known issues.
  • Radar(Forum) -- to simulate various types of radar, tremor sense etc. Includes options for DL.
  • TruePageCopy -- Duplicate page graphics by chat command, or with the Duplicate Page button. (Partially obsolete since Roll20 implemented their update to Copying Pages in Q4 2020)

Dynamic Lighting

Dynamic Lighting is a Plus/Pro feature that changes what parts of the map are visible to the players as they move their tokens around. The light-blocking walls are achieved by paths on the walls layer, and tokens are used as point light sources. Scripts which modify either the light emitted by tokens or the walls which block the light belong in this category.

Not all APIs, or all their features work on both Updated DL and Legacy DL, you have to check them closer to know that.

  • DoorKnocker(Forum) -- Script helps quickly open and close doors by controlling the dynamic lighting lines.
  • UDLWindows(Forum) -- API for creating DL lines that blocks movement, but doesn't block vision.
  • UDLPasswall(Forum) - Walls that block sight, but not movement
  • DLEllipseDrawer -- Draw circles and ellipses on the dynamic lighting layer.
  • Dynamic Light Recorder -- Save dynamic lighting paths for map tiles and automatically regenerate later
  • LightCrumb (UDL version), by Aaron (not tested)
  • Move Lighting -- Move dynamic lighting polygon path objects between game layers.
  • Walls -- Builds Dynamic Lighting walls with an exported .svg path file.
  • ShareVision -- Allows normal vision and darkvision to be shared.
  • ToggleDaylight(Forum) -- turn daylight mode on, off, or toggle it for LDL or UDL on the current page.

APIs that only works with Legacy

  • LightCrumbTrails(Forum) -- Produces lit, shared-vision breadcrumbs behind character tokens. This allows them to see where they've been on maps with dynamic lighting.
  • One-Way Dynamic Lighting(Forum) -- Allows you to set up dynamic lighting walls that allow you to see through one side, but not the other.
  • Torch -- A simple script for giving lights to tokens and turning off and on dynamic lighting.
    • UDL version in the works


APIs that focus on interacting with tokens, or some aspect of them.

  • TokenMod -- An interface to adjusting properties of a token from a macro or the chat area. Very versatile and tons of options, and it can perform features of several other Token-related APIs.
  • Reporter(Forum) -- A script to poll the game and return info on Token/Character pairs, along with customized action tools.
  • SelectManager - can patch and extend token selection between APIs
  • Supernotes(Forum) -- script pulls the contents from a token's GM Notes field.
  • GitHubLogo.png -- easy way to manage multi-sided tokens which are being used to represent progress clocks, or any other kind of incrementing timer or countdown.
  • WeaponArcs(Forum) -- provides a means to add weapon arcs to tokens for visualization of range and targetable tokens

Movement, Rotation, and Size

Scripts which are triggered by or change the location of tokens should generally be placed in this category.

  • Bump(Forum) - provides a way to invisibly manipulate tokens on the GM Layer from the Objects Layer, and vice versa.
  • TokenLock -- Allows GMs to selectively lock the movement of Player Tokens.
  • Carry Tokens(Forum) -- Allows tokens to "carry" and move other tokens, like dragging other characters or moving items.
  • Collision Detection -- Handles collisions between player-controlled tokens and a subset of path objects on the page
  • DupCharToken -- Duplicate a Character and Token, and add identifying number to Character and Token.
  • It's a Trap! -- Script for setting traps and detecting collisions with them at any point during movement. Has separate versions customised for specific games/sheets
  • KABOOM -- Creates explosion effects that move tokens away from or towards a point.
  • Marching Order -- Makes tokens follow each other in some specified order.
  • Measure -- Measure distances between multiple tokens, both from the corners and the center.
  • Random Rotate -- Allows the GM to easily rotate all selected tokens to a random angle.
  • Teleport -- Teleports tokens within a page or between pages either by chat menu or token movement by using teleport tokens on the GM layer.
  • Spawn Default Token(Forum) -- general idea is to automatically spawn the default token for a given "character" with various options for token qty, location/arrangement, and certain token properties such as size, side(for multi-sided tokens), light emission etc.
  • Token Fate -- Let fate decide! Randomly selects a token from the selected group.
  • Flip Tokens -- Flip graphics horizontally and/or vertically
  • SpinTokens -- Allows the GM to toggle spinning of selected tokens.

Conditions, Status, Health

Tokens are used to represent player characters as well as non-player characters. Naturally, both occasionally get punched around a bit. Scripts in this category deal with the changing conditions of tokens, often but not necessarily as a result of combat.

  • Emojibubble(Forum) -- System to easily display emojis in a bubble above Character Tokens, or on the map.
  • Flight -- Mark how high tokens are flying
  • GitHubLogo.png -- makes it possible for GM & players to see roughly how much health an enemy has.
  • Mark -- Places a numbered Marker under tokens, clears on turn change/close, and page change.
  • Marking Conditions -- Set status markers on targeted on individual tokens
  • TokenNameNumber -- Automatic numbering of tokens with special placeholder.
  • Monster Hit Dice -- Set Monster hit points from hit dice on add, usually via drag from journal.
  • Aura/Tint HealthColors(Forum) -- GitHubLogo.png -- Script to set health indicator on tokens via aura or tint, based on a bar's value.


Scripts in this category are a bit more meta, or does a variety of things, so they didn't fit neatly into any other category. These scripts assist with Roll20 itself more than they assist the game you're playing.

  • Calender(Forum) -- Simple way to keep track of the current in-game date
  • Dungeon Alchemist Importer -- Import Dungeon Alchemist maps into Roll20.
  • Hands Up(Forum) -- allows players to "raise their hand" to get GM's attention witha simple button that makes the players character flash.
  • Game Timer -- This is a simple script to court how long does player use the game room.
  • Lister(Forum) (by Keith) -- API that looks through your campaign and lists characters, handouts, pages, rollable tables and players. Can create handout with the report.
  • MetaMacros -- Precompiler enabling C-style textual substitution macros in macro definitions.
  • Customizable Roll Listener -- Customizable responses to API or non API chat messages.
  • SelectManager(Forum) -- a way to preserve the portions of a message that are present in a user-generated message but lost in an api-generated message (the selected tokens, who sent the message, and the playerid).
  • StatusInfo -- StatusInfo works nicely together with Tokenmod, DeathTracker, and InspirationTracker scripts. It shows condition descriptions whenever a statusmarker is set or when the command !condition is used, eg: !condition prone
  • UniversalVTTImporter(Forum) -- for importing DL settings and other info from maps created with the .dd2vtt, as used by Dungeondraft.
  • Supernotes(Forum) -- script pulls the contents from a token's GM Notes field.
    • If the token represents a character, you can optionally pull in the Bio or GM notes from the character. The user can decide whether to whisper the notes to the GM or broadcast them to all players.
    • Finally, there is the option to add a footer to notes whispered to the GM. This footer creates a chat button to give the option of sending the notes on to the players.
  • NoteLog(Forum) -- provides an easy interface to keeping notes for your players.
  • Search(Forum) -- provides full text searching across handouts and characters (including attributes). Search respects permissions on handouts and characters.

Cards & Roll Tables

APIs specifically for interacting with Cards & Roll Tables.

  • Cards
    • Dealer(Forum) -- Deals and takes cards from players, can specify selection by deck (by Keith)
    • PeekCards(Forum) -- See what you played face down, but don't let others peek at them.
    • DealInit(Forum) -- Deals initiative cards for Savage Worlds
    • SummonCards(Forum) -- allows dealing cards from a deck to the table easily, particularly to predefined patterns/locations
  • Roll tables

D&D 5E

Many APIs( beyond the ones listed here) are made with Dungeons & Dragons 5th Edition in mind, or have specific commands tailored to work with the popular D&D 5E by Roll20-character sheet. In the one-click menu, most APIs made for 5E should have a name starting with D&D 5E. 5E is the system that have most system-specific APIs by a large margin. Several generic APIs have configuration settings tailored for the 5E sheets, such as GroupInitiative and GroupCheck.

  • Rest & Resource Management
    • 5E Rest in Style -- This script for the "D&D 5E by Roll20" character sheet, solves the error prone task of updating your sheet when resting.
      • Using !long-rest and !short-rest commands will update your sheet, and report to you everything it is doing.
    • Rest and Recovery(Forum) -- Short & Long Rest automation, by Keith
    • ShortRest -- Automating recovery of various resource during Short Rest
    • CashMaster -- for managing you currencies
  • Spells & Special Abilities
    • SpellMaster -- a high-performance total-replacement for the Spells page of the D&D 5E by Roll20-sheet, with several additional key features that go beyond the default spells page.
    • WildShape(Forum) -- Managing Druid Wildshape, changing token image, setting HP and temporary stats, etc.
    • Hunter's Mark
    • 5E Paladin Aura(Forum) -- Managing the proximity bonuses given by Paladins by notifying users in chat when a bonus should be applied.
    • Concentration -- Concentration keeps track of characters concentration, and reminds to do a concentration check.
  • Macros
    • D&D 5E - Token Action Maker - This script creates token actions on selected tokens for the D&D 5E by Roll20 sheet, very helpful for both NPCs and Players.
      • forum thread(Forum) (Created by Kevin, modified by keithcurtis, GiGs, & Bretmckee)
    • PowerCards Macro Helper - companion to PowerCards, to generates macros, templates, and replacement handouts for the "D&D 5E by Roll20"-sheet

System Toolbox

Scripts that deal with specific rules of a game system should be listed in a sub-heading here. If the appropriate game system is not listed, feel free to create the appropriate heading. Scripts under each system below may be designed for any use (in other words, had they been system-agnostic, they might fit under any of the sub-headings in the sections above).

It's A Trap! have several game-specific versions.

13th Age

  • 13th Age Official Character Sheet Companion -- Enhances the Official 13th Age Character Sheet with quick Escalation Die tracking, automatic recovery tracking, token setup, and automatic staggered and down icons.

Ars Magica

Chronique Oubliées

  • COFantasy -- Combats, Skills and Spells support

Cypher System

  • Cypher System Sheet -- Enables the applying of stat cost, recovery roll advance, auto calculation of PC state and damage track in the Cypher System Sheet, from the roll template or sheet buttons, for both the "English" and "French" versions.
  • Cypher Systems by Roll20 Companion -- Enables the applying to characters of Stats costs and Recovery rolls advancement from the chat roll template, as well as applying Damage to NPCs.

D6 System

The "D6 System" includes a number of games from West End Games which utilize the same (or very similar) game mechanics. Scripts which are more specific to a single game than the system as a whole should be categorized there.

  • Wild Dice -- Implements the Wild Dice rolling mechanic, used in "Star Wars D6", "D6 Adventure", "D6 Fantasy", and "D6 Space"


  • Earthdawn (FASA Official) -- A companion to the Earthdawn (FASA Official) and 1879 (FASA Official) character sheets, this provides many features such as automatically creating token actions and helping with accounting, calculating Target Numbers and checking for number of successes, Etc.



  • Fate Dots -- Provides numbered multi dots for Fate stress boxes.

HERO Systems

This includes Champions, Star HERO, Fantasy HERO, Traveller HERO, etc.



  • Pathfinder Skillbook -- Generate token action to put API buttons for skills in chat window
  • Pathfinder HeroLab Character Import -- Import characters from Hero Lab via XML
  • Pathfinder Companion Script -- The Pathfinder Companion Script automates many of the day to day tasks of playing in and running a pathfinder game. The script is designed for the Neceros Pathfinder Sheet for Roll20

Pathfinder 2nd Edition

Savage Worlds

  • Raise Count -- Counts raises on a roll against a given target number
  • Savage Worlds Raise Roller -- Rolls for extra or wildcard and then shows a list of target numbers that are success or success with raises.
  • DealInit(Forum) -- Deals cards for initiative for Savage Worlds
  • Savage Worlds Status Changer -- This script makes it easy to assign a status to a set of selected tokens.



  • Shadowrun 5th Edition -- API helper for the "Shadowrun 5th Edition"-sheet by Cassie
  • SR-RollExtender -- Deals with Shadowrun specific rules like glitches and extended rolls. For the "Shadowrun: 5th Edition (Advanced)" sheet.
  • SR-NextPass -- GM aid to handle moving on to the next initiative pass

Star Wars

Scripts for the various Star Wars systems.

  • Star Wars: FFG - Dice Roller -- Dice Roller for the Star Wars: FFG (API-Compatible)-character sheet
  • Star Wars: Fantasy Flight Games - Destiny Tracker -- SW FFG Destiny Tracker provides a way to prompt, set and track destiny points for Star Wars: Edge of the Empire (Fantasy Flight Games)
  • Wild Dice -- Implements the Wild Dice rolling mechanic, used in "Star Wars D6", "D6 Adventure", "D6 Fantasy", and "D6 Space"


Trail of Cthulhu

  • GUMSHOE -- A point-spending script for GUMSHOE games. Integrates with supporting character sheets.

Warhammer Fantasy Roleplay


  • WFRP 2E Actions (Havoc) -- Functions and Roll Templates in support of the Warhammer Fantasy Roleplay 2E Sheet by Paul "Havoc" Stein


  • WFRP4e -- Oops!, Critical Hit Location, and Critical Hit result support for Warhammer Fantasy 4th Edition.


Library/Meta Scripts

Library scripts are generally not intended to be used alone or directly by the user. These scripts will not do anything for your campaign directly, but rather they create functions to be used by other APIs.

APIs installed from the one-click menu should automatically install any Library scripts that are needed for them to work, or warn about needing additional APIs installed.

APIs needing manual install

Some APIs aren't available in the One-Click Install in Roll20, but the code might be hosted elsewhere and need to be manually installed into your game. This is an attempt to list prominent ones.

See Also: API:Short Community Scripts

Roll20 repo, but not in menu

This is a list of API that are still hosted in Roll20's API script repository, but for one reason or other isn't available in the One-Click install.

  • Battle Royale(Forum) -- Instantly create a GM-less PvP experience! Even handles doors, invisibility etc.
  • TurnMarker -- Creates a visual highlight on Token whose turn it is currently. Can also make chat notifications when turn changes.
  • Creature Gen -- Generate combat ready tokens from PRD and D20PFSRD statblocks (Obsolete - no longer supported)

APIs hosted elsewhere

Other notable APIs, that aren't available in the one-click install. Some are larger APIs, and others just smaller snippets. Needs to be installed manually.

Map & Token


Special Thanks

In early 2021, Andreas J. did a major revision of the page, reorganizing with better categories, add several newer and popular APIs to the list, and added relevant forum/wiki/documentation links to most listed APIs, so it would be easier to learn about them.

The category cleanup on the API index is something I intend to bring to the API 1-click Install, as the One-Click Menu is currently pretty hard to browser, as something like half of the APIs are categorized under "Utility", and there would be a benefit for all D&D5E-specific API to be in a separate category from the other game-specific APIs. -Andreas J. (talk) October 2021

Roll20 wants to give special thanks to Brian Shields and Aaron C. M. for their contributions to the community and creation of the API Script Index (in 2014).