dnd-tools is a set of interactive command-line tools for Dungeons and Dragons 5e.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Geoflly Adonias f85df99b94 Update README.md 7 months ago
scripts Improvements on fuction calling 7 months ago
CONTRIBUTING.md minor clean up and versioning description change 3 years ago
LICENSE initial commit 4 years ago
README.md Update README.md 7 months ago
devnotes.md feature - npc classes 4 years ago
feature_request.md feature: saving throws and ability scores; contirbution and feature request guides 3 years ago
setup.py update version 3 years ago



dnd-tools is a set of interactive command line tools for Dungeons and Dragons 5th Edition. This is a fork of the original dnd-tools repository.

The original repository contains the source code for the python scripts and install functions used to create the dnd-tools AUR package.

The aim of this project, inspired by donjon, is to create an offline, cross-platform, GM/DM tool set.


  • Completely interactive: prompted with start menu after every function
  • Character generator: any or all stat blocks and features can be randomized
  • NPC generator: 35 NPC classes with stat blocks populated as with character creation (fixed NPC stats are in the Monster Manual and many places online)
  • Save generated character: export generated character to text file
  • Dice roller: any number of dice, any number of sides, plus modifiers
  • Encounter calculator: calculates modified experience per party size / level and monster party size (and CR)
  • Loot generator: random loot tables based on CR and number of enemies
  • Initiative roller: random d20 rolls for n number of players with initiative bonus
  • Tarokka card game: tarot card game from Curse of Strahd
  • Wild magic effects: effect roller for Wild Magic sorcerers

Installation / Usage:

Arch-based distros:

yay -S dnd-tools

Other Linux:

$ git clone https://github.com/gtbjj/dnd-tools
$ cd dnd-tools
$ sudo python setup.py install
$ /usr/bin/dnd-tools


To Do / Feature Requests: If you would like a feature added, first check issues tagged as enhancements. If you do not see the feature you are looking for, follow the issue template for feature requests.

Bugs: Please review issues tagged as bugs before making a new issue report. Be as clear and descriptive as possible when making bug reports, including output logs and what steps you've attempted to remedy the problem yourself.

Contributing: See CONTRIBUTING.md.