_meta
, and why is it necessary?The _meta
tag contains all the metadata of your homebrew file, which describes how the data inside it should work. It holds all the information required to properly identify and link your homebrew to other content, as well as prevent it from conflicting with other files.
A _meta
is always required in a homebrew file. Homebrew added without it will be added to the default Brew
source, but this can easily cause bugs, reduce quality-of-life (especially for filters), and—at worst—break the website. The homebrew repostitory will never accept files without a _meta
, so please do use it!
Take a look at the following example, and read the explanation below. You can copy the block and edit the values as appropriate.
"_meta": {
"sources": [
{
"json": "smithbrew97",
"full": "Smith's Basket of Miscellany",
"abbreviation": "SBMisc",
"color": "92b233",
"authors": [
"John Smith"
],
"convertedBy": [
"Joe Bloggs"
],
"version": "1.0",
"url": "https://example.com/smith-basket-brew(1)_copy.pdf",
"status": "ready",
"edition": "classic"
}
],
"dateAdded": 1729973698,
"dateLastModified": 1757175607
}
"sources"
: an array of objects, with each object describing a homebrew source. This means a single file can contain several different sources. While it is possible to hold hundreds of different sources in a single file, it is smart to avoid this. Keep your brews organized in different files, and only join those that are related.
"json"
: a unique identifier for the source. It won’t ever be displayed, so it can be as long or weird as you like. This is the string you use for your brew content’s "source"
field (e.g. in a monster), and also what you use for @tag
s."full"
: the full name or title of the homebrew you’re creating. This is displayed when you hover over the abbreviation, in the source filters, and occasionally in the footer of some statblocks."abbreviation"
: a short name, such as “PHB” for the Player’s Handbook, that’s displayed in the left-hand list and in the top-right of statblocks."color"
: a hexadecimal colour code. This is primarily used to colour the abbreviation
where it’s displayed. Remember that the colour should be visible on both the night- and day-theme—make sure it’s visible on both! Typically, a prominent colour is chosen from the book’s cover or interior design, although anything goes if you think it looks good."authors"
: an array of the authors of the brew source. If there is more than one, you can add more strings separated by commas."convertedBy"
: a list of people who converted the brew to 5eTools’ format. This is useful to mark who to contact if typos or errors are found."version"
: the version of the brew source. Any string can go in here—could also be an errata date or descriptive tag—but try to keep it short, meaningful, and to-the-point. The purpose of this is to disambiguate which release of a given brew you’re presenting, in case there’s been multiple waves of errata or reworking."url"
: a link to the original homebrew. For free brews, link to the official repository for it. For commercial ones, just link to the storepage."status"
: how ‘usable’ your file is. Options include: ready
(complete and suitable for general use), wip
(work in progress), invalid
(try not to use this one!), deprecated
(for when another brew file supersedes yours)"edition"
: which edition of D&D 5e your brew officially supports. For brew intended for the original 2014 release, or brew that works with either 2014 or 2024 content (e.g. it relies on 2014 PHB classes), use "classic"
. For brew that only supports the 2024-era rules (e.g. it relies on 2024 PHB classes), use "one"
."dateAdded"
: the Unix epoch time at which the brew file was first created and added to the homebrew repository."dateLastModified"
: the Unix epoch time when the brew was last modified. This is required by the auto-updater.Unix epoch time is the number of seconds that have passed since 00:00:00 UTC, 1st January 1970. It’s a simple way computers use to keep track of time. To get the current Unix time or convert dates, you can use sites such as www.epochconverter.com.
If you add your file to the homebrew repository, some extra fields might get automatically added. Don’t worry about missing those—they’re automatically generated!
There is much more to _meta
than just the above, but it’s enough to get you started. Remember you can always reference other files in the homebrew repository to learn examples.