This tool is used to generate a person either NPC or other Edit

Usage no npm install needed!

<script type="module">
  import opendndPersonae from 'https://cdn.skypack.dev/@opendnd/personae';



This tool is used to generate a person either NPC or playable characters for D&D.


Build Status


You will need node and npm installed. Then run the command:

npm install -g personae

Generate a Person from CLI


Follow the prompts, choosing: PC, NPC, culture, name, etc (all optional), and personae will generate a description of the person as well as abilities. You can save the person, or start over.

Module Usage

Require personae into your file and create a new Personae class.

const Personae = require('personae');

const person = new Personae();

const options = {
  name: 'Dan',
  alignment: 'Chaotic Neutral',
  klass: 'Ranger',
  age: '300',
  race: 'Dwarf',
  theme: 'classical',

const brotherOpts = {
  name: 'Li',
  gender: 'male',

const dan = person.generate(options);

const parentsOfDan = person.generateParents(dan);
const brother = person.generateChild(brotherOpts, parentsOfDan.mother, parentsOfDan.father);

While configuring your character's options please note that in JavaScript 'class' is a special keyword, so personae uses 'klass'.


Personae can create a NPC or PC for Dungeons and Dragons, as well as abilities, children and parents for your character.


To develop personae,

git clone https://github.com/opendnd/personae.git
cd personae/
npm install


If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are welcome!

Personae use the Airbnb javascript style.