Change Log



5etools v1.70.2; "Perilous Seas" edition

  • Bestiary:
    • Added "Adjust to <Difficulty>" button to Encounter Builder. Attempts to populate the encounter with a random combination of the encounter's creatures to match the target difficulty. Undoubtably under-tested; please do report any issues via the usual channels.
    • Added "Spellcasting Type" filter (e.g. "Psionics," "Innate,"...)
    • Added slider "Speed" filter; switched current "Speed" filter to "Speed Type"
    • Fixed compatibility with (slightly) older browsers
  • DM Screen:
    • Added "Initiative Tracker Player View" tool
    • Fixed tabs resetting their scroll status/stopping video playback/generally refreshing when switched away from
    • Fixed panels getting stuck in "move" mode when lock was enabled
  • Spells:
    • Added "Summons Creature" filter to "Components & Miscellaneous"
    • Added homebrew support for 10+ level spells
    • Added homebrew support for "self (cylinder)" area types
  • Added "View Entire Book" button to books/adventures
  • Reworked Statgen Point Buy visuals to be more readable/less fugly/better on mobile
  • Added ToA "Trickster Gods" features to Rewards page
  • Improved arrow-key navigation in omnisearch results
  • Minor navbar reorganisation; "Statgen" is now under "Player Options"
  • Bestiary pin list will now load encounter files, and vice versa
  • Fixed filter dropdowns resetting their scroll position on close/re-open
  • (Fixed typos/added tags)


betteR20 v1.14.18:

  • Compatibility fixes for...:
    • Shift-hover to view GM notes
    • Weather/foreground layers
    • Rightclick -> Set Flight Height (order of indicators was reversed)


betteR20 v1.14.1617:

  • Base compatability with Roll20's latest update (may still be issues, please report anything suspicious)
  • Added config option to hide creature action descriptions on import. Config -> Import -> Hide Action Descriptions on Import


5etools v1.69.1:

  • DM Screen and Init Tracker Player View now have "Are you sure you want to leave the page?" prompts on navigating away with tracker connections active
  • Fixed Bestiary encounter XP calculations
  • Prevented some Race images from propagating to subraces (e.g. Elf -> Drow resulted in a white af """drow""" picture)
  • Fixed "Rules" loading in DM Screen
  • Filters now save/load "AND/OR" state
  • Fixed Classes page proficiency links to e.g. "simple melee weapons" linking to "simple or melee weapons" rather than "simple and melee weapons"


betteR20 v1.14.15:

  • Fixed failing initialisation soz lol

betteR20 v1.14.14:

5etools v1.69.0; "Sexualized" edition

  • DM Screen:
    • Initiative Tracker:
      • Added "Rounds" counter
      • Added The Worlds Shittiest Player View™
        • DM half is the new blue-man-silhouette button
        • Player half can be found here
        • Is a ripoff of Improved Initiative, which I don't use, so if there's a crucial feature I've forgotten to "borrow," do let me know :wokejoy:
        • Is some confusing peer-to-peer bullshit that probably doesn't work, but the feds won't get ya
    • Can now have adventure and book content embedded (there's a new tab for each)
  • Encounter generator:
    • Added "Advanced" mode, allowing players and their attributes (e.g. AC) to be specified
      • These are imported by the DM Screen Initiative Tracker when importing a Bestiary encounter
    • Fixed issue where CRs couldn't be scaled
    • Fixed issue where dropdown "Encounter Size" button didn't work
  • Hover windows:
    • Can now be popped into true popup browser windows
    • Can now be resized
  • Added "Area Style" filter to the Spells page
  • Added fluff images to Races page
  • Added a bunch of "it's X with Y modifications" WDMM creatures
  • Added page numbers to GGR Backgrounds/Items/Monsters/Races
  • Added "copy to input" button to dice roller output (allows you to sort-of reroll generated rolls)
  • Added "Ability Score Adjustment" filter to Items page
  • Added "Spellcasting Focus" filter to Items page
  • Show/Hide search/filters buttons are now present on every list page
  • Fixed a whole bunch of minor bugs; highlights include:
    • Setting sliders from URL
    • CR Scaler not allowing DCs below 13
    • Statgen racial trait population not populating when loading from URL
    • Markdown Table Converter removing empty cells
    • This Is Your Life "locked on page load" rolls
  • (Fixed typos/added tags)



  • Fixed DM Screen initiative tracker conditions
  • Fixed level sorting on Class Optional Features page

5etools v1.68.34:

  • Changed homebrew tokenURL to tokenUrl because muh camel-case
    • This "fixes" a bunch of tokens in the Strongholds and Followers homebrew, which were previously not visible
  • (Fixed typos)

betteR20 v1.14.13:

  • The "Spellcasting" token action is now more compact/readable
  • Fixed position of hover GM notes while not at 1x zoom
  • Fixed monsters "Import All"
  • Creature importer now handles missing spellcasting headers
  • Handling for tokenURL/tokenUrl change

Updated Strongholds and Followers, fixing a bunch of broken links (and some typos, besides). Wipe/reload it to see the updates.

5etools v1.68.56:

  • Fixed DM Screen initiative tracker conditions
  • Fixed level sorting on Class Optional Features page


5etools v1.68.2; "Drunken Tomfoolery" edition:

  • Added page numbers to MTF, SCAG, VGM, and XGE
  • Optional Class Features:
    • Added Pact Boons and Elemental Disciplines
    • Split "Prerequisite" column into "Level"/"Prerequisite"
  • Text Converter:
    • Added Markdown table parser
    • Various minor tweaks/improvements to text parsing
    • Text parser now tags senses
    • Fixed missing ability scores in markdown parsing
  • "Source" is now universally the last column on list pages, instead of just most pages
    • Added "Reactions" and "(has a) Variant" filter to Bestiary
    • Fixed broken DM Screen tab-close buttons on Firefox
    • Fixed missing navbar page highlights
    • Prevented double-listing when populating local homebrew
    • Added a bunch of Plane Shift: Amonkhet creatures; those which are copies of existing statblocks
    • (Fixed typos/added tags)
  • Homebrew support:
    • Bestiary Action/Sense/etc tag filters are now auto-sorted after adding new items
    • Added monsterFluff entity, which allows fluff to be defined and then referenced from a statblock, rather than being defined in the statblock. TL;DR: less copy-pasting fluff.
    • Fixed books/adventures with non-URL characters in their IDs breaking the books/adventures pages
    • "storyline" is no longer a "required" adventure property


  • Homebrew: Added intro/outro support on tables
  • (Fixed typos/added tags)


  • fixing some odd column widths in various places.

5etools v1.67.3; "(Almost) Literally Nothing" edition:

  • Added page numbers to DMG and MM 
  • Homebrew: -
    • Table column widths are now easier to specify; "col-[1 to 12]"* for non-fractional widths or "col-[1 to 12]-[1 to 9]" for fractional widths (which now support any combination from "col-0-1" all the way to "col-11-9") 
    • (Previously, this was using Bootstrap-3-style "col-xs[1 to 12]" with (some) optional 1/10th width support by combining two classes, e.g. "col-xs-[1 to 12 A] col-xs-[A]-[1 to 9]") 
    • (Fixed typos/added tags) * The entire table is considered to be 12 "units" wide, so "col-12" is 100% width, "col-6" is 50% width, etc.
  • EDIT: v1.67.4; fixing some odd column widths in various places.
  • EDIT: v1.67.5: - Homebrew: Added intro/outro support on tables - (Fixed typos/added tags)


5etools v1.67.1,

  • Added Lost Laboratory of Kwalish; find it here -
  • Included are a handful of spells, items, and creatures. -
    • Updated betteR20 help/README on the homepage (), as well as adding a few extra links to the wiki
  • Fixed donation prompt from re-appearing every time the page is reloaded (hopefully)
  • Fixed "excluded" omnisearch results filter having no effect on various pages
  • Fixed classes page Outline sidebar - (Fixed typos/added tags)


5eTools broke.

... then was fixed... see #Known Issues


5etools v1.66.5; "Everything is Likely Broken" edition:

  • Added page number support to books/adventures, and added page numbers to the Player's Handbook (and consequently to any Quick Reference pages which come from it)
  • There's lowkey a "G" hotkey which functions similar to "F" but is "[G]o to Page". The fact that our hotkeys are now [F][G] is pure coincidence. Also, forgot to list this hotkey anywhere, which will be Fixed for Next Update™
  • Added Errata 2.0
  • Overhauled the way homebrew data is stored, hopefully alleviating any "out of storage space" problems.
  • This will wipe any currently-saved homebrew, we apologise for any inconvenience caused.
  • This involved some major behind-the-scene changes, likely breaking a thing or two. Please do report any strange behaviour.
  • There's still an automatic hard cap, which is set by and will vary with browser. It's much higher, however; for example, in my Chrome on a 512GB disk, it's 31GB (up from 10MB with the previous version).
  • DM Screen fixes:
    • Deleting a tab with "confirm on tab close" enabled will now show the correct tab name in the prompt
    • "Close Tab" X buttons are now hidden when the screen is locked
    • Fullscreen/locked state is now saved/loaded as part of the layout configuration
    • Pressing return in various input fields now submits the value in the field
    • Rightclicking a "Close Tab" button when trying to rename a tab will no longer close the tab  
  • Fixed Shaped JS builder crashing on Guildmasters' Guide to Ravnica creatures
  • Fixed issue where Bestiary tokens could be cut off by the bottom of the statblock
  • (Fixed typos/added tags) betteR20 v1.14.7:
  • Fixed player config loading
  • Compatibility for the above main site changes, which will otherwise break old versions of the script Get it here:


5etools v1.66.3:

  • Added PHB class introductions/quick builds, found under "Info" per class on the Classes page
  • Added UA Of Ships and the Sea; ships have a page here; rules are in the Variant/Optional Rules page
  • Added missing VGM race random weight/height/etc table to the appropriate chapter
  • Added full Tomb of Horros DM/Player maps
  • Fixed Objects token image positioning when entries are pinned
  • (Fixed typos/added tags)


5etools v1.66.1; "No [U]nplanned [A]rrivals" edition,:

  • Overhauled the point-buy calculator with a "Custom" mode, allowing custom cost tables and budgets - Added Order domain filter info to various deities - Added various misc W:DMM items - Added proper support for "choose +2/+1 from X/Y/Z ability scores" on races; see the sample in the homebrew repo for how-to (FYI @BioOnPC) - (Fixed typos/added tags)


5etools v1.66.0; "Just Fuck My Weekend Up" edition:

  • Added Guildmasters' Guide to Ravnica, including...

Now if you'll excuse me, I'm going to go enjoy the last 35 minutes of my weekend doing something unrelated


5etools v1.65.0; "E's Mental" edition:

  • Added Waterdeep: Dungeon of the Mad Mage -- find it here:
  • [A bit rough-and-ready in terms of hover tagging, but there's this other book I need to add too, so I'll do a big pass on both afterward]
  • Fixed GRR Goblin being Medium instead of Small (many thanks to the numerous sever members who reported this; top 1 aggravating typo)
  • Fixed the Lootgen page refreshing instead of rolling loot
  • (Fixed typos/added tags)


5etools v1.64.6; "Not That Announcement" edition:

  • Added the Waterdeep: Dungeon of the Mad Mage Roll20 module (big thanks to @ Darth Alpha for the export), available in betteR20 using the Module Importer/Exporter
  • Added Guildmasters' Guide to Ravnica races (although they're essentially unchanged from the UAs)
  • Did a (very) minor accessibility pass; converted not-button buttons to true buttons, and added alt-text capabilities for images (as-yet unused)
  • Fixed quick-reference omnisearch results breaking the omnisearch blacklist (thanks @ EgilhardAeron) -
  • (Fixed typos/added tags) (thanks Modnar for the tool tagging, although you missed all the Alchemist's Supplies.


5etools v 1.64.5: - Overhauled Lootgen page (thanks largely to JeffreyStocker on GitHub)

  • Added W:DMM preview Roll20 module (accessible in the betteR20 Module Importer)  
  • Omnisearch results now respect Blacklist exclusions (thanks EgilhardAeron)
  • Fixed Classes page links to homebrew classes loading as Barbarian/etc instead
  • DM Screen panel titles can now be clicked to move them out the way
  • (Fixed typos/added tags)


betteR20 v1.14.5:

  • Fixed missing higher-level casting on drag/dropped spells
  • Added Shaped support for Mass Rolls (thanks peacefighter1996)
  • Art browser now remembers scroll position somewhat reasonably
  • Tweaked Art Browser layout slightly


5etools v1.64.4; "I Love CoC" edition:

  • Fixed hover popups not popping up 
  • Fixed back button loop when visiting filter URLs 
  • Added "Beholders" as a search group in the Bestiary
  • (Fixed typos/added tags)


5etools v1.64.0; "Colonel Sanders" edition:

  • Added Encounter Generator to the Bestiary. If it seems familiar; I can assure you, this is not the case. Completely original design.
  • Items page "Mundane" and "Magic" side-labels are now clickable
  • Added spellcasting save DCs and to-hits to all MTF creatures, which were almost all missing  
  • Added more Optional Class Features (Fighting Styles, Arcane Shot options, etc) to the search index
  • Added Wondrous Item filter to Items page
  • Tidied up the homepage somewhat [Only just noticed the donation bar never loads; a dead canary if ever there was one. Will look into that] 
  • Added missing Eldritch Knight "Cantrips" section
  • Fixed some instances where Bestiary data could fail to load
  • Fixed list shift-click selection not spanning multiple lists (e.g. Items page)
  • Fixed some (but probably not all) cases where slider filters could become "stuck" on one value
  • (Fixed typos/added tags)


betteR20 v1.4.3,

  • Weather should now respect dynamic lighting
  • Added "Ripple" texture, kindly donated by <?> [Please react with the emojis ":regional_indicator_m:" and ":regional_indicator_e:" if you wish to receive credit for this.]
  • Fixed Shapeshift Token tool failing to load
  • Wild Form tool now allows multi-select; tries to set passive perception to the maximum of the character's vs. the beast's
  • Added an "Oscillation" mode to weather, which scrubs back and forth instead of infinitely scrolling in one direction
  • Fixed GM UI elements mistakenly being added to the player version
  • (Squashed some log errors Firefox generates on encountering Chrome-only CSS rules)


betteR20 v1.14.2; "Edge Cases: Weather" edition: 

  • Setting weather to "Custom" with no image specified no longer spams popups
  • Added "Custom" weather direction, allowing free rotation (and if it doesn't auto-update/show the notification, it's some cache somewhere being lame; everything's working as well as it can on our end)


betteR20 v1.14.1; "Never Bothering to Test Error Handling" edition

  • Prevented malformed "Custom" weather URLs from spamming alerts
  • Switched tracker sort button to always-available font
  • Added "Foreground " layer  [Edit: requires players to use the script, as with the weather]


betteR20 v1.4.0; "I'm In" edition

  • Added weather -
    • Can be found under Edit Config -> Weather
    • Requires players to be running the script to see it 
    • Includes a custom layer, which will "block" weather in any filled polygons, allowing indoor areas to be specified, etc 
  • Added an art browser, which reads from a monstrous spreadsheet curated by @ Ryan (Modnar) [1] -
  • The filter tags on the left side are due for a clean; please do not point out how silly the "Flooring" tag is, thanks.
  • Due to us not having any thumbnails for the images, is pretty clunk-tastic. Soon™
  • Doesn't remember scroll position, exacerbating the above issue. Soon™ 
  • Added "quick layer switch" sidebar , which can be disabled in the config -
  • Added "Streamer Friendly " option, which hides the "don't post this to Reddit, k?" startup message. The person requesting this feature didn't seem concerned about the script's name being posted in chat, so that's still visible  -
  • Added "Sort Descending" button to initiative tracker -
  • Added Jukebox track/playlist import/export to the Module Importer/Exporter (shoutouts to @ Stormy for the prototype ) -
  • Creatures can now be renamed when importing (as part of the "scale creatures?" step) -
  • Added shorthand for /talktomyself: /ttms -
  • Added missing "Set Art/Token/etc from URL " buttons in Core version -
  • Fixed material spell components failing to populate when drag/dropping spells -
  • Fixed MTF Eladrin drag/drop -
  • Fixed WDH's Avi and Embric creature import -
  • Fixed Mass Page Deleter tool failing on corrupt-ish pages -
  • Fixed Wild Shape tool -
  • Background importer now correctly uses a feature's name when drag/dropping it to a sheet's traits -
  • Rightclick -> Image from URL now remembers the last input URL -
  • Improved import dialogs (thanks @ Stormy)

5etools v1.63.4; "Essential Maintenance" edition:

  • Added Skill Proficiency column to the Backgrounds list, and Skill/Tool/Language Proficiency filters
  • Added WDH currencies to Items page
  • DM Screen embeds now have a white background in Night Mode, to avoid breaking sites relying on a white default
  • Fixed CTRL-F in Renderer Demo/Stat Block Converter (hopefully)
  • Added missing blindsight filter data
  • Added Lair/Regional actions to Bestiary Book (print) view
  • Fixed unprocessed @-tags appearing in various places they shouldn't have been (filter box; omnisearch results)
  • Searching "Angels"/"Dinosaurs" in the Bestiary now shows the relevant creatures
  • Added various Happy Fun Hour subclasses. Still unsure if this is a good idea, given how changeable these are, so they might be removed in the future, or migrated to homebrew
  • Improved Classes page print styling
  • Switched to a more familiar version of shift-clicking when selecting multiple items in lists
  • (Fixed typos/added tags)

Homebrew support:

  • Added "external"-typed images 
  • Creature's custom Trait/Action tags will now be added to their respective filters
  • Cleaned up Races support for a long-forgotten "predefined" ability format, which, in a roundabout fashion, allows e.g. "Choose str or dex, increase one by 2, and the other by 1"

Actual homebrew:

  • Added D&D Beyond's "Expanded Racial Feats" to the Homebrew repo  

MTG: Arena's still pretty fun tho


5etools v1.63.3; "It's Fucking Nothing" (alternatively: rushed random release because some donation addresses needed changing; have fun with everything being broken) edition, @news:

  • Fixed list sorting and sort-caret direction sometimes being wrong -
  • Added "View All Sources" button to homebrew manager
  • Fixed DM screen rules never loading
  • Tables page now uses a quasi-alpha-numeric sort
  • Added magic item tables to the DMG and Tables page, since having them in their own special lootgen page clearly isn't enough 
  • Added warning message when everything's blacklisted
  • Fixed Spells page Table View showing random content
  • Fixed donation addresses (they still would have gone to sort-of the right place, but my accountants tell me it's a mess back there)
  • (Fixed typos/added tags)

Apologies for the shitty patch; the lack of anything meaningful can be attributed to: (A) work busting my balls; (B) MTG: Arena; (C) a wild Roll20 feature which involved a lot of maths that I'm bad at and took like three days to get a vague working prototype. More on that Maybe Never™.


betteR20 v1.13.0; "courtesy of @ Nikolay" edition:

  • Shaped import drag/drop support: 
  • Screenshot 1:  
  • Screenshot 2: (And here's a copy-paste the patch notes the absolute madman also provided:)
  • Feat import. Name and text.
  • Background import. Background name, feature name and text, ability check (skill) proficiency.
  • Race import. Race name, size, speed, senses, racial traits, racial ability score modifiers.
  • Optional feature (invocations, etc.) import. Name and text.
  • Class import. Name, level, hit dice, class features. Shaped sheet already has some support for many of the classes out-of-the-box, so we leverage it where appropriate. If a class is not supported by Shaped sheet, we configure it as a custom class. Mystic class received some special love -- custom spellcasting is set up for it.
  • Subclass import. Subclass features name and text.
  • Psionic abilities import. Focus, disciplines (with submodes), talents. Each includes correct name, level, text, casting time, dduration/concentration Psi points cost is encoded into: spell level, name, material components. Psionics import into handouts also changed to be aligned with other entities.

Get it here: Big fuckin thank


5etools v1.63.1:

  • Added three missing tables to Tables 
  • Fixed strangely-formatted rows in Items list And that's me for the night, peace~


5etools v1.63.0; "Casters and Tables" edition,

Spells "At Higher Levels" dice rollers now prompt for which level to cast at Tables:

  • Added new "Tables" page,, containing various tables extracted from rulebooks 
  • These tables can be loaded in the DM Screen


  • Fixed Wild Shape requirements
  • Fixed nightmode "outline" colouring
  • Fixed bug where homebrew subclasses wouldn't appear without switching class


  • Added base weapon type to variants which can only apply to one item, e.g. "Oathbow" now tells you it's a longbow 
  • Added "base item is from X" note to variants with a base item from a non-standard source, e.g. "Double-Bladed Scimitar +1"
  • Fixed some items not showing up in "Base Items" section of generic variants


  • Fixed sorting on overview pages
  • Removed "Living Document" AL stuff. Kept the Faction Guide, but if you want the rest, use the official doc. It was too much busywork to maintain, I'm afraid.
  • Added RoT Appendix C
  • Added various missing ToA flavour images

DM Screen:

  • Inverted Initiative Tracker status turn "tick" direction on click (add a turn of duration on click, remove a turn of duration on rightclick; was previously the opposite) 
  • Fixed resetting CR-scaled creatures


  • Added "Add All" button when loading from the repo
  • Added support for custom properties on Deities; see The Lost Lands in the homebrew repo

Class/Optional Features:

  • Added Fighting Styles + various Fighter subclass options -
  • Fixed list sorting 
  • Added missing WDH fluff to Bestiary -
  • Added link to the community wiki, curated by @ Ryan (Modnar) -
  • Added "sort carets" to lists (thanks to @ JeffreyStocker on GitHub) -
  • Print/etc view overlays now close when clicking "dead"/background space -
  • Added Donate page  - (Fixed typos/added tags)


betteR20 v1.12.8:  

  • Fixed Module Exporter failing on missing page attributes
  • Monster importer no longer hard-crashes on malformed/missing fluff (n.b.: fixes WDH monster import, although the fluff'll still be missing. That'll be fixed soon™)

Get it here


betteR20 v1.12.7:

  • Fixed cancelling prompt when adding an image directly to the map returning an error (thanks @ stormy)
  • Added error handling to tool initialisation, hopefully fixing the various #issues

Get it here:


betteR20 v1.12.6

  • Removed default 5-foot light radius on tokens
  • Removed "Confirm External Link" prompts, because fuck 'em :point_right::door:
  • Page toolbar background is now transparent
  • Fixed missing item attunement text in handouts
  • Added rightclick -> "Paste Image from URL " to map
  • Added "Sort Alphabetically" option to the Transmogrifier
  • Added experimental "Quantum Token Entangler " tool, which allows you to bind tokens together across pages, linking their position/scale/rotation/flip
  • Added rightclick -> "Advanced" -> "Show Token ID" option to tokens
  • Fixed "Import Monsters from All Sources" button
  • Fixed some wonky Hellfire Engine and Beholder action imports
  • Hopefully fixed the "0% transparency" toolbar issue; appears to have been a "commas are decimal separators lol" localisation problem

Module Importer/Exporter :

  • Now included in core
    • Removed Map Importer/Exporter, as it's a sub-set of the functionality
  • Added note about using the tool (and a link to open it) to the classico Adventure Import
  • Streamlined usage; now orders the steps for you
  • Now exports tokenactions
  • Now asks you which data categories you wish to export, instead of always exporting the entire thing
  • Fixed ruler/hex snap when used in conjunction with R20ES (I think)

Get it here:

5etools v1.62.15:

  • Fixed ye-olde Roll20 Adventure "By Category" import
  • Fixed Shaped JS builder W:DH handling
  • Fixed homebrew source deletes


5etools v1.62.12:

  • Fixed CR Scaler spell slot handling
  • Fixed extra "save" text being appended to saved in the Bestiary
  • Removed "help" underline when printing (as seen underlining creature skills in the Bestiary)
  • Optional Feature level "class" field is now respected by the filter

5etools v1.62.11; "Weekend Ruined by Letter Declaring £1,000+ Fine" edition


  • Added WDH NPCs. Big thanks to @ KnilKrad for the tokens :heart: (and probably some others I've forgotten to credit him for, man's a hero)
  • Added Info to WDH creatures. Straight from FG, so it's likely pretty nasty
  • CR Scaler:
    • Now adds/removes Cantrips on spellcasters dep. on their level
    • Improved AC adjustments and enchanted armor handling
    • Improved spellcasting DC scaling and caster level scaling
    • Improved to-hit scaling
    • Improved CR0 creature damage scaling
  • Added page numbers to WDH creatures
  • Creature skills now have hoverable descriptions
  • Fixed bug where load order mattered for showing monsters referenced from other bestiaries (e.g. WDH referencing VGM's Bard)


  • Made "see area XX" text hoverable, it should pop up the appropriate area. As always, SHIFT to lock the window open.


Pinned lists:

  • Added "Feeling Lucky" rightclick option
  • Fixed bug when using list rightclick->Add in the Bestiary
  • Actions in Classes page now have hoverable descriptions (e.g. "Dash," "Disengage")
  • Statgen now respects blacklist
  • Added DMG "Improvising Damage" to Traps & Hazards
  • Added Star Spawn cults to Cults & Boons
  • Added page numbers to Rewards
  • Added page numbers to WDH Items
  • Added context menu options to Hover-Window top bars (Min/Max All; Close all)
  • Added inches <-> centimeters to DM Screen Unit Converter
  • Fixed homebrew missing _meta source being undeletable
  • (Fixed typos/added tags)


betteR20 v1.12.3, "Clearly Not Announcement-Worthy" edition:

  • Initiative tracker now behaves properly when creatures are missing CRs/HP formulas
  • TableExport paste now supports avatars


betteR20 v1.12.2:

  • Fixed missing handout notes


betteR20 v1.12.1; "Raising the Black Flag a Notch Higher" edition,

  •  Added "Module Importer/Exporte r" tool to the tools list
    • Can export/import: 
    • Maps 
    • Characters 
    • Handouts 
    • Rollable Tables 
    • Decks 
    • Contains a handy-dandy "Load Data from 5etools" button, which allows you to browse our freshly-exported library of every single official WotC module. Huge thanks to all (see below) who donated me the games  -
  • Note: the Map Importer/Exporter tool still exists, but no longer has a "Load from 5etools" button. Use the module tool. -
  • Journal Cleaner can now delete things inside folders -
  • Pauper's Character Vault now imports/exports Bio, GM Notes, and Default Token correctly 
  • Tweaked Page Settings width/height input; now labeled "X" and "Y" and display current pixel count in each direction
  • Added workaround for old token images being cached -- a fresh copy will now be grabbed at time of import 
  • Token action/etc (horizontal) toolbar now goes 100% opaque on hover, hopefully preventing further confusion related to 100% transparent toolbars -
  • Overhauled spellcaster importing (again), it should no longer suck 
  • Improved Initiative Tracker: -
  • Added Spell DC as a column option 
  • Added config option to hide "sheet" button (now hidden by default, since one can shift-double-click tokens, for the most part) 
  • Disabling tracker enhancements now reverts it to a near-default appearance 
  • Tracker window is now wider by default 
  • Character Default Token image can now be swapped out without having to remake the entire token; see the button under the Default Token 
  • Some (very) minor UI cleanup Get it here:

5etools v1.62.9: -

  • Improved lyncathrope "Info" content in the Bestiary, and added missing Variant (nonhuman lycanthropes)
  • Added Player Characters as Lycanthropes/Vampires to Variant Rules page - Split Deities page alignment filter Nutral into Neutral, Neutral (Law/Chaos Axis), and Neutral (Good/Evil Axis), to match the Bestiary
  • Clicking a link to a currently-hidden class feature in the Classes page table will now un-hide the feature, and jump to it -
  • (Fixed typos/added tags)


betteR20 v1.11.0; "How am I Still Not Banned" edition,

  • Added a Map Import/Export tool. Find it in the Tools List. Bit of a misleading (working?) title, it can do the following: 
  • Dump all the pages from your current game to a text file, complete with tokens (although they don't properly link to character sheets, yet), lighting, etcetc. Bigups to the absolute madman @ Stormy for discovering the approximately four lines of code needed to do this
  • Import the above, allowing you to choose which pages you want to load back in. Note that they maintain their internal IDs, so you can't really use this to copy pages
  • And it wouldn't be 5etools without a bit of Robin-Hoodery; there's a button to load content exported straight from Roll20's published adventures. Sadly, there's (so far) only the two that I happen to own, and W:DH which was kindly donated to the cause. I forgot to ask if this person wanted credit, but they're pretty cool.

- If you happen to own adventures other than CoS, SKT, or W:DH, please do drop me a PM with an invite to a minty-fresh copy of whatever module, and we can get this thing filled out. We caught them all. - Removed "The Semicolon" [I think exactly one person had noticed this, but there was a rando semicolon floating in the top-left corner of the screen.]

With regards to the map importer/exporter, more interesting is the fact that, in theory there's no reason the same technique can't be applied to the entire contents of a module (or, indeed, any custom game). Certainly something worth looking into in the (near?) future.

5etools v1.62.6:

  • Added "Environment" to the bottom of statblocks in the Bestiary
  • Fixed link encoding when clicking headers in Adventures/Books 
  • Fixed creature scaling behaving strangely when multiple consecutive scales are done on the same statblock 
  • (Typos/tags)


betteR20 v1.10.0, "Roll20 Enhancement Suite Compatibility (Hopefully)"

See title. It worked on Firefox anyway (I think), but, Chrome users may now enjoy the benefits too Bigups to @ stormy, get his extension here:
It's preeeeetty nice:

5etools v1.62.1; "A Few Formatting Fixes, and Friends":

  •  Formatted Chapters 5+ of W:DH, added some missing content, and added/tidied up some tags EDIT: 5etools v1.62.2; "More of the Same" -
  • See above -
  • Added Roll20 tokens, plus a few extra courtesy of KnilKrad


5etools v1.62.0; "24+ of the Last 36 Hours of My Existence" edition (alt': "No More Coffee in the Flat" edition) -

Added Waterdeep: Dragon Heist - Still TODO: - Format Chapter 5+ properly - Add creature fluff to Bestiary - [Edit] Add all the "creature X with the following statblock modifications" creatures to the Bestiary. If someone would be so kind as to dredge up a list, that'd be much appreciated

  • Added VGM/MM Familiar variants to Variant Rules -
  • Fixed pinned list "subtract" button in the Bestiary -
  • Fixed lifegen parentage rolls for Half-Orcs/Half-Elves/Tieflings -
  • Scientific notation now works in the DM Screen Unit Converter. For example, 10e3 -
  • (Fixed typos/added tags)


betteR20 v1.9.2:

  • Fixed creature conditions importing as HTML
  • Fixed issue with importing text containing tagged skills/actions (was breaking various background/race imports, probably others)
  • And a sneaky bonus feature: "pack" drag-n-drop should now expand the pack to its individual items

Link here:

5etools v1.61.7:

  • Fixed Revised Ranger (and added moar automated testing so similar problems are avoided in future lol)
  • (Fixed typos/added tags)
  • Didn't fix the shitty build bot, hence the non-contiguous versioning

Hopefully, this clears the floor for the impending Dragon Heist. My old man's in town tomorrow night, but once I've wrangled some bux out of him and assured him I'm still my old "disappointment" self, it'll be the next target 

5etools v1.61.3: "Build System Requires Me to Bump the Version at Least Three Times" edition

  • Bestiary:
  • Added MTF Duergar tokens, PSD tokens, WGE tokens (thanks to @ KnilKrad)
  • Shift-clicking to-hit/skill/save rolls now rolls advantage (previously just rolled twice); shift-clicking damage rolls crits
  • CR Scaler now randomly generates spell lists
  • Added "Reset" button to scaled creatures
  • Scaled creatures now work in pinned lists
  • Scaled creatures now have distinct URLs, and can be linked, etc
  • Fixed scaling creature to original CR
  • Fixed spellcaster scaling
  • Added "Max Roll" tooltip to HP
  • Cleaned MTF fluff; added missing MTF regional effects/lair actions
  • Improved layout to better match the books
  • Fixed to-hit dice displaying as "1d20+X" instead of "+X"
  • Quick Reference/Books:
  • Prev/next buttons now change section instead of chapter; various other minor navigation fixes
  • Fixed duplicated content
  • Added chapter title to tab title
  • Variant Rules
  • Added page numbers
  • Skills now have popup explanations where appropriate
  • Actions now have popup explanations, although they're not yet ubiquitous. Soon™
  • Homebrew:
  • Added homebrew management page:
  • Added section for source-less entries
  • Custom skills/actions can be added
  • (Fixed typos/added tags/added missing content/fixed many minor bugs)


betteR20 v1.9.1

  • Compatibility update for main site CR Scaler changes
  • Fixed non-PHB subclass import (as part of class import)
  • Importer now remember the last selected grouping chosen, e.g. "Type" or "Alphabetical"
  • Added config option for basic horizontal UI bar transparency tweaking
  • Made dependency loading retry more often

As always, get it here:

EDIT: creature importing is a bit dicked, fix Soon™


5etools v1.60.0 "Procrastonating Adding the CR Scaler to Roll20" edition:

  • CR Scaler:
    • Added to hover window and DM Screen
    • Improved "prompt" (it's now a slider)
  • Classes page:
    • Added "Source" toggle to subclass buttons
    • DMG subclasses are now hidden by default
  • Added Languages filter, Senses filter, Skills filter, and Saves filter to Bestiary
  • Lootgen:
    • Now handles sub-tables (e.g. Table I's 76 result) visibly (it previously rolled in secret, and didn't display the sub-table).
    • Nicer output text
  • Items:
    • Added Charges filter, Attached Spells filter, and Cost slider
    • Minor performance improvements
  • Improved Demo/Converter nightmode
  • Improved Variant Rule search results; now jumps to the correct header
  • Fixed navigating to same hash not scrolling the page when using F-to-find
  • All Wizard cantrips now list "High Elf" as a potential source
  • DM Screen Initiative tracker:
    • Added "add multiple" options
    • Search is focussed when opening Add Monster
    • Fixed bug where added creatures wouldn't join groups
  • Added "Exclude All UA" button to Blacklist
  • Added AL Eberron guide
  • Added weather/etc as Hazards
  • Invocations page overhauled:
    • Is now "Invocations & Optional Features," to better support homebrew
    • Added Battlemaster Maneuvers and Sorcerer Metamagic
  • Overhauled Dice Roller--now supports multiplication, division, brackets, and exponents
  • (Fixed typos/minor bugs/etc)

Next up: adding the CR scaler to Roll20 :😂: Invocation import will almost certainly be broken; fix for that Soon™

And in case you're wondering why this update took so long, see pic related. The previous update was ~9500 added/7500 deleted, to put that in perspective.


betteR20 v1.8.7; "Trying to Watch TI8" edition

  • Fixed various problems related to changing page/map properties
  • Fixed Spell/Item drag-drop
  • Fixed Monster import failing to respect "Auto-Roll Damage"
  • Made imported tags consistent across all imports; added environment ("env"), size, and NPC tags for imported creatures
  • Compacted rightclick -> Roll <X> options, and added "Skills" mass-roller
  • Added "Forward/Back One Layer " to rightclick menu; hotkeys pending, as they're mysteriously broken
  • Added "Clear" buttons to Mass-Whisper tool

Get it here:

[Note: I was skimming the Roll20 forums earlier, and noticed bug reports of issues which were almost certainly caused by betteR20. If you are going to use the script, please DO NOT post bug reports without first disabling the script and ensuring it's not one of ours.]

Part 2: - Fixed various instances of missing fluff (especially in dragons) - Made converter output editable, and title-casing of names toggle-able - Pinned list data can now be downloaded, as a rightclick option - Added various missing tags to the Demo page - Browsing to the Bestiary/Spells page from a bad URL now selects the first item - (Typo fixes/other hover-link tagging/etc)


5etools v1.59.2; "The City of Fixes" edition:

  • Added UA: Races of Ravnica
  • Fixed Shaped JS creator
  • Fixed CR scaler always failing when attempting to scale creatures with DCs to CR20
  • Fixed CR scaler failing to properly process DPR
  • Fixed nightmode colouration on Bestiary hover/DM Screen entries
  • Added "empty list display current entry" to Spells/Psionics Book View
  • Improved Converter nightmode
  • Slightly improved Converter "senses"/"damage <resistances/immunities/vulnerabilities>" handling
  • (Fixed typos/etc)

And now, I must rest. Will do another Roll20 pass tomorrow.


betteR20 v1.8.5 "Surprisingly Well-Prepared for This Eventuality" edition:

  • Updated script to be compatible with Roll20's "Measured Update"
  • Removed commas from monster XP
  • Custom line thickness now handles negative/fractional values more gracefully
  • Fixed horizontal cone drawing

Edit: A couple of hotkeys changes; Cone ruler is now on Q-C; Circle ruler is on Q-R (because it's internally referred to as [R]adius :😂:). Everything else seems to work alongside the new advanced hotkeys for the rulers.

Get it here:

EDIT: Fake news, seems there's still significant issues. Further fixes Soon™


5etools v1.59.0, "Circumstances Forcing a Release" edition: [Alternatively: "95 Motherfucking Commits" edition]

  • Added version 0.1 of the current (2nd-) highest-voted suggestion (the highest being the Character Creator: "After 2.0's Done™")--the ability to scale creatures by CR Currently: a small button next to the CR on statblocks in the Bestiary. DM Screen/Roll20/etc integration to come Soon™, mainly because I have to unfuck this Roll20 script/do the UA. Highly experimental, please do screw around with it, and see what's lacking. Things I know to be shit: - Doesn't respect enchanted armor - Can give people armor with greater Strength requirements than they can wield - Completely untested vs Homebrew - Doesn't scale spellcasters brilliantly (although I reckon it's passable; feedback appreciated). Besides these known issues, it's generally never going to be perfect, so don't expect it to ever be. We're aiming for "functionally good enough," here.
  • Added optional "Close Tab?" confirmation to DM Screen (option is in the sidebar)
  • Fixed various issues with Bestiary Proficiency Dice toggler
  • Minor Statblock Converter improvements
  • Added Blessed of Corellon variant rule :😂:
  • Fixed Bestiary list sorting; now prefers Name -> Source as a fallback (or Source -> Name if sorted by Source)
  • Scrolling lists with J/K now keeps the selected item in view
  • Made "Recharge X-Y" click/rollable
  • Fixed missing vulnerabilities on Objects
  • Randomising a subclass can no longer randomise the already-selected subclass
  • Added /clear command to Dice Roller
  • Fixed various issues with local homebrew loading
  • Exporting a filter link now includes only the non-defaulted filters, so the links are much smaller
  • Added f and SHIFT-f as hotkeys to place the cursor in search boxes; list search and omnisearch respectively [Character limit]
  • Added "Previous"/"Next"/"Back to Top" buttons to bottom of book pages
  • Classes page now filters homebrew sources as own distinct type
  • Dice Roller placeholder text now contains "drop lowest/highest" examples
  • Bestiary print view defaults to printing the current creature if none are sublisted
  • Fixed Items page sublist sorting in browsers using , as a decimal separator
  • Added @Diety tag
  • (Fixed typos/minor content holes/etc)


5etools v1.58.3 @news, "Fantasy Grounds is Objectively Superior" edition:

  • Added support for homebrew spell schools -- see here for an example
  • Added support for homebrew spell units -- as above
  • Added Plane Shift: Dominaria
  • Fixed point-buy calculator breaking on races with the same name
  • Fixed issue where Search Everywhere wouldn't index homebrew on certain pages
  • Tagged dice in PotA
  • Fixed creatures with strange skill/save scores breaking the Proficiency Dice converter
  • Fixed Night Mode reverting on page change in offline copies of the site
  • (Fixed typos)

betteR20 v1.8.3 (

  • Hard-disabled 3d dice when the script is active. There's surprising complexity involved in the 3d dice system, and after several hours of head-scratching with zero progress, this seemed the only reasonable solution. Sorry folks.
  • Added custom line thickness options
  • Added hotkeys for the upgraded ruler (q-q; q-w; q-e; q-a; q-s -- lines/boxes on top in order of ascending area; circular rulers underneath. If this is dumb and doesn't match Roll20's scheme (they don't have one, as far as I could see, but I didn't look all that hard) do let me know, it's easily changed)
  • Fixed hotkey interaction with the script's extra tools
  • Fixed script tag indentation when chat avatars are disabled
  • Removed restrictions on some ruler inputs (e.g. there's no longer a 5-step on beam thickness)
  • Added flat-edge mode to the cone tool
  • Added "Token" config for players, allowing players to set token bars for NPC tokens they drag onto the table
  • Creature name show/hide in rolls can now be set in the Importer tab of the config
  • Imported creatures now have a "level," fixing certain spell damage calculations
  • Fixed homebrew subclass drag-drop
  • Fixed script failing to load for players


5etools v1.58.1, "Time Consuming Fixes Nobody At Least One Person Asked For" edition:

  • Overhauled the Filter UI. Lots of small changes, a couple of reasonably big changes; you'll see.
  • Filters now remember their shown/hidden state between refreshes
  • Group filters can now be toggled AND/OR across the group, instead of having a locked hidden default. This, too, should be saved between refreshes. More buttons
  • Converted Bestiary CR filter to a slider, and generally re-ordered the filters to have the more useful at the top
  • Changed the way links to pre-filtered lists work, to be more consistent
  • [@Filter tags now default unspecified filters to "white" mode, instead of using the current values]
  • Tweaked list page layout; Manage Homebrew button + pin/etc buttons are now always displayed *
  • Added Book View/Table View to Psionics page
  • Added "collection" homebrew support, for campaign settings etc.
  • Tagged various creatures in TTP (credit to BigJoeDuke)
  • (Typo fixes)
  • My sincerest apologies to the redesign team, I couldn't take it any longer.

EDIT: v1.58.2:

  • Fixed disappearing class filter
  • Fixed giant pinned lists pushing other content off the page


5etools v1.58.0, "Bad at Version Numbers, Good at Friends" edition:

  • Added a Shaped Companion Script data builder: (courtesy of @ herodotus, the author of the Companion Script)
  • Added Wayfarer's Guide to Eberron. Includes items, feats, (more) races, and optional/variant rules. We're (or at least I am, and I know Dusk agrees) categorising the entire book as Unearthed Arcana, for the time being.
  • Added "Lock" button to DM Screen initiative tracker (credit @ BaumMeister)
  • Invocation homebrew now supports custom level requirements
  • Homebrew deletion performance no longer awful (credit @ herodotus)
  • Statblock Converter now displays warning/errors, and handles a slightly greater range of garbage input
  • (Typo fixes/rendering improvements)


betteR20 v1.8.2:


betteR20 v1.8.0, Bad at Vec2 Maths edition:

  • Overhauled the measurement tool
    • Now has multiple modes; Ruler , Radius (colloquially known as a "Circle," but that's lame), Cone, Box, and Line. Please do inform me of any other shapes I forgot to add.
    • Has a "sticky" mode, which will persist the last-drawn ruler to the table, so you can switch tool and do something else without losing your measurement. Press SHIFT while ruler-ing to enable it, or check the box.
    • [Note: I think I managed to get all this to properly sync to anyone else running the script, too. Ergo, with a mere 4 players acting in unison, it should be possible to use the ruler tool to draw dicks.]
  • Added a line-cutter tool . Largely stolen from here: (but instead of drawing a pink line and typing a command, you just click on a line to break it)
  • Added player-only Edit Config button and config options, currently very limited, but includes the ability to toggle half-grid snap
  • Added a Wild Shape Sheet Builder tool, credit to @ Bodrick
  • Fixed missing monster fluff when importing monsters from an adventure
  • Fixed "hidden until edited" monster save/skill import issue

EDIT v1.8.1:

  • Fixed line splitter for Pro users
  • Improved Wildform Builder UI

Get it here:

5etools v1.56.7:

  • (Typo fixes)


5etools v 1.56.6, "who needs lunch anyway" edition:

  • (Most) Lists now have a default sort function which falls back on name (e.g. two entries have the same source; you're sorting by source; they'll be sorted by source and then by name). Some pages had this before, but not all.
  • Stat-Block Converter should properly parse the last trait/action/etc (FYI @KnilKrad)
  • Creatures with 0ft. walking speed now have it displayed correctly
  • Spells with concentration now correctly display "up to X" instead of fixed durations
  • (Fix typos; data cleanup)


betteR20 v1.17.20

  • Overhauled spellcaster importing. It should be a bit more reliable and consistent with Roll20's compendium version (although ours still has better formatting ). As a result of the dubious hacks employed to pull this off, if you open a character sheet of a freshly imported spellcaster (as in, seconds after import) you can watch the spells slowly getting populated.
    • As a result of this, spell descriptions, in general, should be back.
  • Fixed missing spell descriptions
  • Fixed fluff failing to populate on imported creature Bio & Info tab
  • Fixed some probably-harmless-but-annoying errors when importing creatures
  • Edit: the page may have caching issues depending on your area. For now, use this:


5etools v1.56.4

  • Added UA/WGE Eberron races (source tagged as "Wayfarer's Guide to Eberron") [More to come soon™ but I'm rolling on 4 hours sleep as-is, and I have work tomorrow]
  • Added unit converter tool to DM screen
  • Converted a debug "feature" (copying spell names on title click, with specific formatting I needed at the time) to a more user-friendly version
  • Fixed name/encounter gen
  • (Fixed a bunch of data issues in spells/bestiary (thanks to Herodotus of Shaped sheet fame) [Note: a looot of stuff was changed, so there might be a couple of e.g. rollable tables not quite working right. Please report anything you find])
  • (Fixed typos)


5etools v1.56.3:

  • Updated Discord links, and added a banner to the homepage explaining the situation
  • Added DMG versions of non-PHB races which have been playerised in other sources (e.g. DMG Aarakocra)
  • Added Traits and Languages filters to Races page
  • Added Bladesinger Styles insert to Bladesinger subclass
  • Fixed hover windows opening under the mouse, causing immediate flickering
  • Fixed moving DM screen tabbed panels to empty spaces
  • Fixed emptying tabbed DM screen panels containing YouTube/Twitch/dice roller widgets
  • Switched to alternate slider implementation in Bestiary filters, to try to alleviate Firefox being silly. Firefox is still being silly, but this appears to have reduced the lag some.
  • Fixed handling of encoded apostrophes in URLs
  • (Fixed typos)