Change Log

From 5etools Community Wiki
Revision as of 04:04, 15 September 2020 by Modnar (talk | contribs) (5etools v 1.64.5: - Overhauled Lootgen page (thanks largely to JeffreyStocker on GitHub))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The following items have been identified and confirmed as problems that are currently being worked upon but are not resolved due as yet.

If you would like to



Change Log

The 5eTools Change Log will no longer be maintained on the wiki, it has moved here.

5etools v1.7.11; "Logging Changes" edition:

  • Added Changelog page
  • Added "Counter" widget to DM Screen
  • Added optional column/row labels to DM Screen (Clock)/Calendar, which show "day name" and "week of year" respectively
  • Added weather randomiser to DM Screen Clock/Calendar
  • Added +/- 15/30 sec/minute; +/- 12 hour modes to DM Screen (Clock)/Calendar nav buttons, thanks to @ Forecaster
  • Added "Roll Initiative?" toggle to DM Screen Initiative Tracker
  • Night Mode is now auto-set if e.g. you have your OS theme set to "Dark Mode" (fresh/first load only)
  • Added dynamic "Help" link to Wiki page in header (under "Utilities"). Help content at least partially pending; feel free to help edit our nice wiki
  • Added toggle to switch some slider filters into "dropdown" mode, e.g. the Bestiary's CR filter can now be used as a pair of min/max dropdowns
  • Split Downtime Activities optional/variant rule into multiple rules, one per activity
  • Fixed DM Screen Initiative Tracker failing to load encounters in some cases
  • Fixed Spell Builder failing to convert dice in the "At Higher Levels..." text
  • Fixed "Deck of X" dice/card rollers
  • Fixed Spells page "Misc/Components" filter rendering/functionality
  • (Fixed typos/added tags)

Meanwhile, work continues* on the character builder, which you can follow by subbing to my Patreon :^) Following advice from my lawyers, the link to that is now |

  • Although not really, because my weekends keep getting cannibalised by IRL things. Hopefully, this weekend should be the last instance of that for a while.

5etools v1.79.10:

  • Added "[Add Event/Encounter] At Time..." buttons to DM Screen Clock/Calendar day view, which allows the time to be chosen as either an exact point during the current day, or an offset from the current time
  • Fixed broken spell rendering in the presence of "Royalty" components
  • Fixed broken psionics rendering (oops lol)
  • (Fixed typos/added tags)

betteR20 v1.16.5:

  • Added "propSum" operation to the Token Animator tool. This functions much like "prop" (aka "SetProperty"), but will sum any value provided with the existing value on the token instead of overwriting it.
  • Added "DEX tiebreaker" import option
  • Fixed spell component parsing
  • Fixed homebrew creatures failing to import due to mis-formatted senses/languages
  • Reverted foreground layer changes to combat player token appearing over foreground--that part worked, but the change also made every foreground element visible regardless of Dynamic Lighting. You'll just have to live with the floating tokens instead.
  • Restored missing "Sort Alphabetically" button in Transmogrifier

Get it here:, or see the pinned post in #better20-issues

Additionally, I would like to take this opportunity to remind you that betteR20 development is in "maintenance only" mode. The real party is happening over in #foundry-general, where the greatest VTT to have ever not been Fantasy Grounds just announced a big update with the final piece of their puzzle; drawing tools. Join the revolution here:


5etools v1.79.8:

  • Added UA: Barbarian and Monk. Click the "Official Sources" cycler to have it show UA.
  • Fixed "table" files failing to appear in the Homebrew Manager browser
  • Fixed "cursed" generic variant items not showing up when "Cursed" filter was applied
  • Fixed CSV table export producing garbage in the presence of nested tables
  • Fixed clicking on search results in books/adventures not jumping to the header if the result was in the same chapter as the currently visible one

5etools v1.79.1; "A Wizard Is Never Late" edition:

  • Homebrew Builder:
    • Added Spell builder (top-right in the sidebar menu)
    • Added "Data" tab, which shows the current JSON data
    • Improved loading time
  • DM Screen Clock/Calendar
    • Added "Browse" mode to calendar, allowing you to freely look around without changing the date
    • SHIFT-clicking a day in the calendar now sets it as the current day
    • Added "Go to Day" button to calendar day summary modal
    • Events and encounter can now be moved
    • Events and encounters can now be renamed from the summary modal
    • Events and encounters can now have times
    • Added current day events and encounters display to clock screen
  • (Hopefully) made ads more tolerable on small screen desktop resolutions for list pages (can now scroll past the ad)
  • Added "outdated browser" check
  • Fixed Encounter Builder failing to generate random encounters
  • Fixed Initiative Tracker Player View failing to load
  • Fixed This Is Your Life generator generating strange sibling ranges
  • Fixed items page sort ordering
  • Removed padding; borders; etc from DM Screen embedded iframes
  • Fixed Optional Feature filtering by Spell Prerequisite
  • (Fixed typos/added tags)
  • (Homebrew/@Dusk Reworked ability score data format for races and feats)

betteR20 v1.16.4:

  • Compatibility update for main site changes.

5etools v1.79.0:

  • Added Stranger Things adventure content ("Hunt for the Thessalhydra")
  • DM Screen Initiative Tracker:
    • Additional Columns may now be put in "player visible for player entries only," hiding monster attributes, but showing player ones
    • Imported Bestiary encounters with advanced columns will now attempt to find and link monster attributes with matching names (e.g. when creating an "AC" column in the encounter builder and filling it with player ACs, the column will now automatically contain monster ACs for monster rows when imported to the tracker)
    • Fixed bug preventing generation of server tokens
  • Fixed bug when navigating via sidebar item in full-book adventure/book view where the first header with a given name would always be scrolled into view
  • Minor speed optimisations to sidebar navigation in book/adventures
  • (Homebrew: fixed local homebrew failing to assign classes/subclasses to spells in Spells page until after refresh)
  • (Fixed typos/added tags)

betteR20 v1.16.2:

  • Overhauled script initialisation; is now much faster, and should produce useful errors when it doesn't work. Also less likely to spew random elements all over the screen if/when things go wrong.
  • Fixed importing creatures with no CR (seems to be the cause of most "can't import monsters" issues)
  • Fixed Shapeshifter Token Builder tool tokens not auto-resizing when changing their side
  • Fixed text tool de-selecting the text when releasing LMB
  • Fixed foreground objects being rendered underneath selected player tokens (I think)
  • Fixed chat box teleporting around during load (hopefully)

Get it here:, or see the pinned post in #better20-issues v.2, fixing chatbox


5etools v1.78.3, "Not So Hot Fix":

  • Fixed crash when opening "Add Creature" modal in Initiative Tracker
  • Clock/Calendar
    • Added quick-select buttons for cardinal directions in Wind Bearing modal
    • Added support for named years and named eras
    • Improved and expanded date adjustment controls
    • Made setting sections collapsible
  • Homebrew:
    • Added syntax to prereqSpell names to add "... cantrip" suffix, e.g. "fire bolt#c" vs. "fireball"

5etools v1.78.2:

  • Added "Stranger Things Starter Set" Roll20 module, thanks to @ sebastianmx2 for the dump

5etools v1.78.0; "Big Fat Clock" edition:

  • DM Screen
    • Added "In-Game Clock/Calendar" widget to DM Screen (in the "Special" tab)
    • Fixed case where Initiative Tracker buttons could desync their lock/unlock state
    • Fixed case where "Add" panel button could become unresponsive

    • Fixed Book/Adventure page scrolling to certain headers in full-book reading mode
    • Renamed Ships page to "Vehicles," because flying mecha-beholders
    • Added "Duration" column to Spells page table view
    • Fixed filter breaking when attempting to load certain URLs
    • Fixed filter failing to properly reset grouped AND/OR state (i.e. Bestiary's Ability Score filter)
  • Homebrew:
    • Added @color tags, allowing you to color text (see the Renderer Demo, and remember to reset it)
    • @ship is now @vehicle, and the JSON property is changed to match
    • Fixed Optional Features breaking when multiple prerequisites of the same type are specified

  • (Fixed typos/added tags)

And a friendly reminder that I now have a Patreon: If you wish to prevent me from disappearing to work on something that actually provides an income, consider supporting further development :upside_down:

betteR20 v1.15.18:

  • Fixed module importer "Select All" (now called "Select Everything," to better represent what it does) breaking import
  • Compatibility updates for main site changes

Get it here:, or see the pinned post in #better20-issues


5etools v1.77.0; "CJ_meme.jpg" edition

(- Fixed typos/added tags)


5etools v1.76.0; "Acquiring Acquisitions" edition:

  • Added Acquisitions Incorporated (AI) content -- the book part is under "Rules," and the adventure part is under Adventures ("The Orrery of the Wanderer")
    • Still to be done: making a distinct "Factions/etc" page to better house the "Company Positions" content (this page will also package up and other faction/rank levels, e.g. those from Ravnica content)
  • Added "Preview Token" button to homebrew builder
  • Added "Base Race" filter to Races page
  • Added randomly generated cache-busting string to the betteR20 link on the homepage :wokejoy:
  • Moved GoS sea/etc rules to Variant Rules page
  • Improved text converter Warlock spellcaster handling
  • Fixed/reverted change where lists would hide their scrollbars when not being hovered
  • Fixed file downloads on Firefox
  • DM Screen tab titles now have a max width, and hide their overflow
  • Fixed DM Screen renamed tabs reverting after multiple page reloads
  • Empty filters (e.g. the Spells page "Subschool" filter) now auto-hide when empty
  • Homebrew:
    • Fixed Backgrounds page using non-standard link format
    • Fixed missing source coloring on Items page
  • (Fixed typos/added tags)


  • By (un)popular request, overhauled donations page; now contains nice links to my personal crypto addresses. I would still recommend you do better things with your time and money, but I'll not say no to some bux :heart:

betteR20 v1.15.17:

  • Compatibility update for Roll20's latest changes (fixes rulers; dynamic lighting)

Get it here, or see the pinned post in #better20-issues


5etools v1.75.13; "Conspicuously Light on Content" edition:

  • Classes page:
    • Added show/hide toggle to sidebar
    • Made Outline show/hide toggle more visible
    • Fixed filter box overflowing on narrow displays
    • Fixed "X Sources" cycler failing to display anything on "Most Recent" mode
  • Homebrew
    • Added @loader render tag, which displays a clickable link that loads homebrew (see the Demo for an example)
    • Creature "skill" object now accepts a "special" property, for entering free text ("save" did this already)
    • Added support for homebrew "baseitem"s, i.e. those that have "magicvariant"s applied
    • Homebrew builder item/spell searches now include currently loaded homebrew items/spells in the results
    • Homebrew sources may now specify a hex (HTML) color code as part of their metadata. See the "Farmer" sample background in the homebrew repo for an example.
    • Fixed locally loaded homebrew being filtered out
    • Fixed homebrew magic variant items being un-hoverable
    • Fixed bug where homebrew manager would infinitely loop a text replace, secretly overheating your CPU :^)
  • CR Scaling now handles Warlock casting traits sensibly
  • Added "Custom" combining mode for filters, which allows you to chose which filters are combined as AND and which as OR. For example, if you want creatures from the Monster Manual/Volo's Guide to Monsters, which are Large or have a fly speed, you can set "Source" to "AND," "Size" to "OR," and "Speed Type" to "OR." The logic is (a1 & a2 & ... aN) & (o1 | o2 | ... oN) where as are set to AND, and os are set to OR. Y'get me?
  • Added hoverable "Image" hotzone to encounter builder rows, allowing you to preview the strange creature you just added to the encounter
  • Improved list cell positioning; should now actually match the headers
  • Classes/subclasses in spell description footers are now links to the appropriate class/subclass
  • Fixed case where filters could get stuck attempting to display deleted homebrew, producing a blank list
  • Fixed page-specific (settings not being saved to the tracker for Settings -> Save State to File
  • Fixed Optional Feature prerequisite rendering bugs in list (missing dashes; |sources showing)
  • Fixed DM Screen displaying a blank page on Mobile
  • Fixed print/book view displaying items which had been removed from the pinned list
  • (Fixed typos/added tags)

betteR20 v1.15.1516:

  • Compatibility update for main site changes
  • Fixed tokenaction import options not using their defaults, but showing the options as active/ticked in the config

Get it here, or see the pinned post in #better20-issues

[EDIT] v14, fixing Spell page filtering [EDIT2] v15, fixing Druid Wild Shape links [EDIT3] v16, fixing some cache issues/speeding up page loads slightly


betteR20 v1.15.14:

- Fixed stuff, probably

Get it here, or see the pinned post in | #better20-issues


betteR20 v1.15.13:

- Fixed players having their tokens vanish when dynamic lightning is enabled - Fixed token/creature editor "controlled by"/etc. select boxes being styled strangely

Get it here, or see the pinned post in #better20-issues


betteR20 v1.15.12:

- Fixed Fog of War/Dynamic Lighting (hopefully) - Fixed AoE rulers - Split "Skill" and "Perception" tokenaction import options - Added link to [[1]] in "script outdated" notification

Get it here, or see the pinned instructions in #better20-issues


betteR20 v1.15.10:

- Added "Background" layer, underneath objects but above the map. The original idea was for use with this, I think: - Fixed script failing to initialise (compatibility for latest main site update)

Slightly delayed because I forgot I'd half-written that background thing, and decided to finish it instead of removing it. My apologies.

Get it here: (change v=1.15.10 to something random to force it to give you a fresh copy, as required)

betteR20 v1.15.11:

- Split save/skill/check/etc tokenaction generation options into own checkboxes - Moved "on import" token settings from "Token" config tab to "Import" tab [resetting your config to default in the process :^)] - Paths can now be entangled with the Quantum Token Entangler - Reworked item "modifier" field import, fixing it and adding many more item modifiers - Chat text area can now be resized in an effective manner - Fixed case where rollable table importer could crash on some inputs - Fixed "Choose Side" picker not displaying token images

Get it here, if you're lucky:


5etools v1.75.4 5 6 7; "Nothing of Interest" edition:

  • Added page numbers to virtually everything that didn't have them
  • Added GoS "Open Water" encounters to Encounter Generator page
  • Added "Random" button to point-buy Statgen
  • Improved menu layout on mobile (hopefully)
  • Added "Random" option to Charisma score in This Is Your Life generator
  • Randomly generated people in This Is Your Life generator are now given races (as per Supplemental Race) table; names (as per XGE name tables). Both are "unofficial" inclusions, and so are italicised
  • Added "Uncommon Race" filter option to Races page
  • Moved "Class Feature Options" from "Player Options" to "References;" renamed to "Other Options and Features"
  • Added GoS Ship Upgrades to Other Options and Features
  • Fixed certain filters failing to set from links (notably CR filters)
  • Fixed subclass entries being duplicated in Omnisearch results
  • Fixed classes page "Toggle [Subclass] Sources" button
  • Fixed header ad space from changing size after page load (and thus causing the page to randomly scroll around)
  • (Fixed typos/added tags)


  • Added autocomplete for Homebrew Builder creature type tags
  • Fixed bug where Passive Perception would fail to auto-update in Homebrew Builder
  • DM Screen Initiative Tracker creatures can now be renamed
  • "Fixed" Bestiary Source filter hiding creatures from excluded sources which were not originally from that book (e.g. hiding WDMM would previous hide all MM creatures found in WDMM)
  • Fixed additional columns failing to populate when loading Bestiary encounters into the DM Screen Initiative Tracker
  • (Fixed typos/added tags)

betteR20 v1.15.9, "Channel Clutter" edition:

  • Fixed attack actions showing as regular actions, despite working as attacks when clicked
  • Fixed case where script could repeatedly fail to fully initialise, resulting in tripled UI elements

Get it here:


5etools v1.75.3, "Cleanup Detail" edition:

- Added "Has Alt Token" filter to bestiary - Added various GoS NPCs; added creatures from other sources to the set displayed when filtering for GoS - Fixed table rolling results when unrelated dice rolls in header are clicked - Fixed point-buy races with predefined stats and "choose" stats breaking the totals output (-Fixed typos/added tags)

betteR20 v1.15.8:

  • Added button to "Select All [from module contents]" when importing modules
  • Fixed every importer creature action being an attack

Enjoy another round of Tampermonkey being bad at updating things; get it here:


betteR20 v1.15.7:

  • Fixed token edits failing to save
  • Fixed tokens failing to flip when animating
  • Fixed animator accepting spaces in animation names
  • Fixed some log error spam (a[n].getReceiver us not a function)

Get it here:

EDIT: Due to some malfunctioning robots, the usual channels are broken. Get it here, instead: 5etools version:!nxoyQahb!eP6tMIkRoB9WmSMe3DdwDJxzM5KPfAwZRLpugBKON68 core version:!OxhylCLC!6JGjMpjackqWlKMYLRnitRaze1UTCmNmvfTtD8CU89A


5etools v1.75.1; "No Rest for the Wicked" edition:

** Includes new backgrounds, and slightly-improved ships (from those in the UA) in addition to the usual gubbins.
  • Added "label" support to the dice roller; e.g. My Cool Spell: 100d10 will print "My Cool Spell" as a label before the result.
  • Text Converter now allows missing spaces in saving throws
  • Fixed Shaped JS converter dying on various inputs

Still some things to be done, like picking cool tables out of Appendix A, and adding all the odd creatures. But for now, I need to sleep. :wave:

[EDIT1]: Whoops, images might not quite be ready. Ctrl-F5 it in like 2 minutes. (v.1)

[EDIT2]: Fixed caching issue probably responsible for breaking everything at random (v.2)


5etools v1.74.6:

  • GoS Roll20 module is now available for import in the Module Importer; thanks to @ Artemis#9979 for the donation

5etools v1.74.0, "One time, let it be a bad bitch sweeping" edition:


  • Added hundreds (~400?) of NPCs/alt creatures from various adventures
  • Added alternate art for creatures, where available (i.e. Roll20 has special tokens, e.g. Bandit Captain). Visible by hovering the token in the bestiary and pressing the left/right buttons
  • Creatures from bestiary books (e.g. the humble Monster Manual) are now displayed when filtering for an adventure in which they can be found.
  • Added the following options to the "Miscellaneous" filter: "Has Areas of Effect", "Has Melee Weapon Attacks", "Has Ranged Weapon Attacks", "Has Ranged Weapons", "Has Reach Attacks", "Has Thrown Weapons"
  • Encounter Builder
    • Fixed various XP calculations
    • Added button to copy the current encounter as a text summary

Homebrew Builder:

  • Improved layout on Firefox
  • JSON properties are now always presented in the same order (+Text Converter)
  • Now @tags conditions (+Text Converter)

DM Screen:

  • Menu burger is now hidden in fullscreen (the menu still opens if you mouse over the left edge of the screen)
  • Fixed initiative tracker "Roll HP" not being respected
  • Class/subclass features can now be viewed

Filters -- completely overhauled internally:

  • Improved performance (shaved about 8 seconds off loading the entire Bestiary, on my machine) and stability
  • Changed link format to be more compact/extensible (old links will not work)
  • Added ability to show/hide "summary" per-filter (e.g. hiding the 20 blue "source X" buttons when one has all the sources enabled)
  • Number of results vs. total available is now visible in the search bar, rather than hidden in the filter modal
  • Fixed everyone's favourite 1-pixel mis-alignment in various search boxes/sort columns on list pages [we finally have the technology]
  • Fixed many, many minor bugs
  • Added background filter to Spells page
  • Class/subclass features searched in Omnisearch can now be hover'd
  • Magic item variants (e.g. "+3 weapon") can now be blacklisted
  • Added the ability to embed spells inline (see the renderer demo
  • Added missing OotA appendix
  • Added "Open Page" button to sticky'd hover windows, in title bar
  • Updated Roll20 SKT and CoS modules
  • Improved statgen column use clarity [the "User" column is for houserule/other stat bumps, and is not a bug, ty]

  • Fixed various CR-based calculations in CR calculator (had been broken by a previous update)
  • Fixed Classes page sidebar failing to show all some features; added missing colouring for homebrew features
  • Omnisearch load time improvements
  • Fixed Omnisearch sometimes searching when you were in the middle of typing [still sucked less than D&D Beyond's "no you can't type here lol" search box]
  • Fixed Feat ASIs not showing in hover windows
  • Fixed layout bug where a scrollbar could appear on fixed-size pages
  • Disabled image lazy-loading when not supported by the browser (e.g. in older iOS)
  • (Fixed typos/added tags)

betteR20 v1.15.6:

  • Compatibility for main site updates above

5etools v1.73.6:

  • Added UA (Artificer Returns) content

In other news, I'm hoping to finish off an unrelated update this weekend, then start work on adding Ghosts of Saltmarsh. However, as some maniac decided it should be released on a Tuesday, don't expect that to be live before the following weekend. We thank you for your patience.


betteR20 v1.15.0; "At Your Own Risk" edition:

  • Added token animator, accessible in the Tools menu
  • Added jukebox widget, accessible in the Jukebox tab, courtesy of @ Rich#1839
    • Includes ALT+(1-9) hotkeys to toggle playback
  • Fixed subclasses importer failing to locate base class when attempting to import homebrew

EDIT: T'was broken, but now t'is fixed. EDIT2: couple minor bugfixes EDIT3: repeat on last, v1.15.4 live; get it 'ere:

R20 animations.gif


5etools v1.73.4; "It's Fucking Nothing" edition:

  • Text Converter:
    • Improved damage tagging in the presence of bracketed text
    • Improved trait/action name detection
    • Improved handling for unicode dashes
  • Homebrew builder:
    • Improved layout for Ability Scores/Saving Throws/Skills
    • Added auto-calculation toggles for Saving Throw proficiency; Skill proficiency/expertise; Proficiency Bonus; (simple) Hit Points; Passive Perception
  • Fixed some layout bugs affecting lists
  • Styling improvements to Night Mode; CR Calculator; Filter (fixed common header layout bug)
  • Filter "Combine As OR" now behaves more intuitively
  • (Fixed typos/added tags)

5etools 1.73.5:

  • Homebrew Builder
    • Skill/Saves are now cleared when disabling proficiency
    • Fixed bug where old cached data would break loading
    • Creatures can now be scaled when being "Load Existing"'d
  • Fixed various Text Converter trait/action name false-positives


betteR20 v1.14.22

Get it here:


5etools v1.73.1; "Brexit Waiting Room" edition

  • Homebrew builder:
    • Added fluff support
    • Attack generator no longer resets when being accidently closed (now has a reset button)
    • Actions/etc can now be dragged to re-order
    • Fixed editing/saving existing homebrew
    • Fixed incorrect JSON meta output structure
  • DM Screen:
    • Panel tab bar is now hidden where possible (e.g. after closing the second-last tab)
    • Fixed bug where names in top-left of panels wouldn't update on tab change
  • Bestiary:
    • Added "Damage Inflicted" filter
    • Added ability to save/load multiple encounters (thanks to JeffreyStocker for the original implementation)
    • Can also be loaded into DM Screen tracker
  • Items:
    • Added "Found On" filter to Items page, showing Magic Item tables
    • Items show the Magic Item tables they can be found on as part of their entries
  • Added ability to save/load entire site state (homebrew, blacklists, etc...) to/from files
    • In the new "Settings" dropdown in the navbar, which also contains the nightmode toggle
    • Will only work for newly-saved data; load some homebrew or add a panel to the DM Screen to ensure they get registered
  • Added "Save as Homebrew" button to Text Converter (statblocks only)
    • Text Converter now uses the same source input as the Homebrew Builder
  • Added Ravnica backgrounds as sources to appropriate spells
  • Fixed display of Artificer Infusions in omnisearch results
  • (Fixed typos/added tags)

betteR20 v1.14.21:

  • Fixed double-printed "Concentration" in spell cards
  • Compatibility for main-site changes

5etools v1.73.2:

  • Text converter now deduplicates entries on saving to homebrew
  • Homebrew builder:
    • Damage tags are now added automatically
    • Added option to display JSON for a saved creature
    • Images can now be reordered
    • Added ability to specify custom environments
  • Fixed Shaped JS failing in the presence of valid homebrew
  • Fixed various rendering bugs

betteR20 v1.14.19:

  • Added master volume slider for jukebox tracks (courtesy of @ Rich)
  • Renaming a monster now attempts to rename it in traits/actions/etc
  • Fixed imported creatures having bonus damage applied to crits
  • Added config option to use token as character portrait (instead of fluff image) on import
  • Added option to whisper token name to GM when doing mass-rolls
  • Fixed page settings using outdated layout
  • Fixed art browser downloads failing


5etools v1.72.2; "No Such Thing as a Free Lunch" edition

  • Homebrew Builder:
    • Is now split into tabs
    • Now has a proficiency input, and along with it...
      • Buttons to quick-calculate skill modifiers
      • Buttons to quick-calculate save modifiers
    • Added confirmation prompt when deleting traits/actions if they contain text
    • Fixed bug where damage res/immunes etc couldn't be removed
  • Encounter Builder:
    • Fixed bug where removing a creature wouldn't update difficulty
    • Fixed bug where scaling a creature wouldn't update difficulty
  • "Checkbox" columns can now be added to DM Screen Initiative Tracker, with options to have them set/reset at start of turn
  • DM Screen embedded adventures/books now have "next/previous chapter" navigation controls
  • Adventure/book images now "lazy load" as you scroll, rather than all at once at the start (should make giant chapters/entire books smoother)
  • Artisan tools now have additional XGE info when shown in hover windows, etc
  • (Fixed typos/added tags)


And with the fun part out the way, some meta-news.

We're once again going to be dabbling with advertisements. This time, however, a compromise has been negotiated between the involved parties, such that:

I've been told the usage split is around 60-40 (favouring .com), so this should provide a reasonable means to pay for current upkeep/future development (infrastructure for an account system/character creator, anyone?) without shitting all over everything. As such, if you wish to "donate" to the site, whitelist .com and use that. If you value your privacy and slightly faster load times, use .tools.

This won't be happening right away, but said involved parties likely wish to start scraping in pennies as soon as possible. Expect more in the near future.


5etools v1.71.2:

  • Fixed Text Converter handling of e.g. "Melee Weapon Attack"
  • Fixed dice roller subtraction/exponentiation
  • Homebrew Builder:
    • Added UI to move entry between sources
    • Added "Add Predefined Trait" button
    • Added "Generate Attack" button + attack builder UI
    • Improved language input
  • (Fixed typos/added tags)

5etools v1.71.1; "Sponsored by Apex Legends" edition,:

  • Added Artificer Revisited content
  • Added Homebrew Builder, currently only supports creatures, and should be considered "beta" (i.e. likely full of bugs); find it here:
    • The text-editing part (e.g. for action descriptions) is "placeholder" at best, and has a hidden rule: indented text (e.g. one or more leading spaces/tabs) is treated as raw JSON data.
  • Bestiary
    • Fixed CR scaled creatures breaking add/subtract buttons
    • Fixed some broken encounter XP calculations
    • Fixed filtering bug where entries could be hidden on re-filtering
    • Fixed filtering bug where all shapeshifters/a few others were always hidden
  • Items:
    • Added hover links to beneficial/detrimental property tables to artifacts
  • DM Screen
    • All tab types may now be renamed
    • Initiative Tracker can now load pinned lists exported from Bestiary
    • Fixed additional column layout in player view
  • Books/Adventures
    • Fixed "view entire book" button layout when zooming via browser
  • Text Converter
    • Added caption support to MD table converter
    • Fixed bug where certain line-endings weren't handled correctly
    • Statblock converter now handles a few additional alignments
  • Fixed some nightmode styling issues (toggle buttons; focused elements)
  • Changed hover window functionality on some touchscreens (single tap now opens the hover window; long tap to do the usual link behaviour)
  • Fixed some inconsistencies in loading local homebrew
  • Fixed some wording in the CR Calculator, and added a confirmation prompt when clicking the stats-at-CR-X table
  • (Fixed typos/added tags, including a major pass on all rollable tables to hopefully ensure their validity)


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)

Website turn.gif


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) [2] -
  • 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 [[3]] 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)