Functional 5e spell list by class and level
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 209 commits ahead, 30 commits behind jayrab:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
_data Revert "data/sources.yml: rename 'source' to 'tag'" Nov 16, 2017
_includes styles: use google webfont loader for Linux Libertine Nov 18, 2017
_layouts Moved unordered list of class "post-list jetsContent" in… Aug 3, 2018
_plugins make all the tag pages Aug 26, 2014
_sass fonts: use Linux libertine Nov 16, 2017
css styles: use google webfont loader for Linux Libertine Nov 18, 2017
images Crush logo with zopflipng Jul 26, 2017
js i -> j Nov 16, 2017
.gitignore The real initial commit: jekyll and partial cleric spells Aug 26, 2014
LICENSE LICENSE: add copyright to thebombzen Nov 16, 2017
Rakefile Added shellwords requirement so the rakefile works on Arch with Ruby 2.4 Mar 4, 2017
_config.yml testing something Aug 29, 2014
index.html cosmetic changes Nov 15, 2017


Grimoire is a mobile-friendly 5e spellbook that organizes spell lists by class and level.

See the latest compiled build here:

Grimoire is forked from ephe/grimoire, which has since been taken down (à la DMCA).


Feel free to open pull requests or issues on Github for any defects or suggested enhancements you may find. Alternatively, join my public discord at and chat with me in #software-dev-stuff.

If you'd like to submit a Pull Request or somehow contribute code, I recommend you read the Style Guidelines. If your submissions do not match this style I'll probably request changes rather than merge it.


  • See the commit history. The Grimoire is "done" at this point in that all the spells have been added (as of mid-to-late 2016).

To Do

  • Find a real home for class specializations (e.g. cleric's domains). Currently, to view spells available to a tempest cleric, one must do a tag search for: cleric | cleric (tempest). This is ulgy and needs fixing.


Spells can be found inside _posts/. Each spell gets its own post, written and stored as a Markdown file. The date is arbitrary and never displayed, but still necessary for Jekyll to process the posts properly.

If you'd like to help fill out the rest of the spells from the PHB, for each new spell you make:

  1. Make a new post inside _posts/ for each new spell, and copy the formatting from another spell.
  2. Submit a pull request for the spell(s) when you're finished, and that's it! Thank you so much. :)

Build Instructions

I've edited _config.yml for my own build purposes, but if you've got Jekyll set up locally, the following should create the build from your friendly command line terminal: jekyll serve -Vw --no-watch --baseurl ""


Cleric and wizard spells from the Starter Kit were seeded from this Reddit post.

Thanks to @sethxd for suggesting Jets.js, a CSS search engine that plays nicely with Jekyll.

Thanks to @ephe for writing the original version of this thing in the first place.

Thanks to @Eikrem63 and @duatharben for adding the spells from Xanathar's Guide to Everything.