JSON Against Humanity

Finally, Cards Against Humanity® as plain text and JSON. Open source, curated, and ready for your next project.

Frequently Asked Questions

How many cards are there?
Let me think about it for a second...
Where does the data come from?
The primary source are these Spreadsheets Card Listing Spreadsheet && ManyDecks. The ManyDecks Spreadsheet was created using the public decks from ManyDecks.
What font is CAH?
Cards Against Humanity® cards are printed in Helvetica® Neue. For this site, we use Inter, which looks stunning and is highly readable.
Who maintains this?
FireRat. Feel free to open an issue if you have questions or feedback.

File Formats

Plaintext

Simple and easy to read. One card per line.

White, answer cards.
Putting a new card on each line.
----------
I love it when my _ are in plaintext.

full.json

The most comprehensive format, including pack metadata and descriptions.

[
  {
    "name": "The Base Set",
    "official": true,
    "white": [{ "text": "Answer...", "pack": 0 }],
    "black": [{ "text": "Prompt...", "pick": 1, "pack": 0 }]
  }
]

compact.json

Optimized for file size. Uses a shared pool of cards and references them by index.

{
  "white": ["Answer card..."],
  "black": [{ "text": "Prompt...", "pick": 1 }],
  "packs": {
    "base": { "name": "Base Set", "white": [0], "black": [0] }
  }
}

Integration

Chris Hallberg wrote a small library to handle the compact format: CAHDeck.js.

This website itself is a demonstration of ingesting from compact.json, listing decks, combining selected decks, and exporting files site.js.

Check out the Canvas Deck Sampler for a live demonstration of ingesting the data.

Fine Print

Cards Against Humanity® is distributed under a Creative Commons BY-NC-SA 4.0 license. This project is free, open-source, and provided as-is.