{"id":25629292,"url":"https://github.com/crhallberg/json-against-humanity","last_synced_at":"2026-02-19T22:35:46.497Z","repository":{"id":49204526,"uuid":"94161870","full_name":"crhallberg/json-against-humanity","owner":"crhallberg","description":"Finally, Cards Against Humanity as plain text and JSON.","archived":false,"fork":false,"pushed_at":"2024-12-28T02:21:53.000Z","size":9458,"stargazers_count":183,"open_issues_count":9,"forks_count":38,"subscribers_count":9,"default_branch":"latest","last_synced_at":"2025-10-11T23:22:42.539Z","etag":null,"topics":["cards-against-humanity","hacktoberfest","json"],"latest_commit_sha":null,"homepage":"https://crhallberg.com/cah/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/crhallberg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-06-13T02:47:45.000Z","updated_at":"2025-09-24T12:25:03.000Z","dependencies_parsed_at":"2022-08-12T20:01:08.307Z","dependency_job_id":null,"html_url":"https://github.com/crhallberg/json-against-humanity","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/crhallberg/json-against-humanity","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crhallberg%2Fjson-against-humanity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crhallberg%2Fjson-against-humanity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crhallberg%2Fjson-against-humanity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crhallberg%2Fjson-against-humanity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/crhallberg","download_url":"https://codeload.github.com/crhallberg/json-against-humanity/tar.gz/refs/heads/latest","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crhallberg%2Fjson-against-humanity/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29635814,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T22:32:43.237Z","status":"ssl_error","status_checked_at":"2026-02-19T22:32:38.330Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cards-against-humanity","hacktoberfest","json"],"created_at":"2025-02-22T19:17:10.710Z","updated_at":"2026-02-19T22:35:46.472Z","avatar_url":"https://github.com/crhallberg.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"[![CC BY-NC-SA 4.0][cc-by-nc-sa-shield]][cc-by-nc-sa]\n\n[cc-by-nc-sa]: http://creativecommons.org/licenses/by-nc-sa/4.0/\n[cc-by-nc-sa-shield]: https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg\n\n# JSON Against Humanity\n\nFinally, [Cards Against Humanity](https://cardsagainsthumanity.com/) as plain text and JSON.\n\n## FAQ\n\n### How many cards are there?\n\nThere are 31,700 cards available from 205 different packs and boxes.\n\n- That's all 5,702 official cards from 71 different products\n- Plus 25,998 even worse cards from fans around the world\n\n### Wha— where the heck did you find all those cards??\n\nThe primary source is [this Google Sheet](https://docs.google.com/spreadsheet/ccc?key=0Ajv9fdKngBJ_dHFvZjBzZDBjTE16T3JwNC0tRlp6Wnc\u0026usp=sharing#gid=55) I found through [Board Game Geek](https://boardgamegeek.com/). Previous sources included [Hangouts Against Humanity](https://github.com/samurailink3/hangouts-against-humanity), [Pretend You're Xyzzy](http://pyx-3.pretendyoure.xyz/zy/viewcards.jsp), and contributions from viewers like you.\n\n### What font is CAH?\n\nCards Against Humanity® cards are printed in [Helvetica® Neue](https://www.myfonts.com/fonts/linotype/neue-helvetica/). It's not free. I use [Inter Medium](https://rsms.me/inter/). You're looking at it now.\n\n### Who are you?\n\n[Chris Hallberg](https://crhallberg.com).\n\n### I'm just getting started and I have a lot of questions\n\nYou can reach me by [opening an Issue on GitHub](https://github.com/crhallberg/json-against-humanity/issues) or by email at chris.hallberg@hey.com. I'd love to hear from you!\n\n### I have the best feature idea! Can you add this?\n\nSure! [Open a pull request](https://github.com/crhallberg/json-against-humanity/blob/latest/CONTRIBUTING.md).\n\n### I want to give you money.\n\nThat's very nice of you but you legally can't. [More on that later](#fine-print). You should instead donate to [local community bail funds](https://secure.actblue.com/donate/bail_funds_george_floyd).\n\n## File formats\n\n### Plaintext\n\n```\nWhite, answer cards.\nPutting a new card on each line.\nAdding a divider after the white cards.\n----------\nI love it when my _ are in plaintext.\nHow are these cards styled?\nAre **you** telling **me** that _these cards_ are styled with Markdown and _?\n```\n\n### full.json\n\n```json\n[\n  {\n    \"name\": \"The Base Set\",\n    \"description\": \"Sweet dirty vanilla\",\n    \"official\": true,\n    \"white\": [\n      {\n        \"text\": \"Answer cards in plain text, formatted with **Markdown**\",\n        \"pack\": 0\n      }\n    ],\n    \"black\": [\n      {\n        \"text\": \"_Prompt_ cards\\nwith _ for blanks!\",\n        \"pick\": 1,\n        \"pack\": {pack index}\n      }\n    ]\n  },\n  { \"white\": [ { \"pack\": 1 }, ... ], ... },\n  { \"white\": [ { \"pack\": 2 }, ... ], ... }\n]\n```\n\n### compact.json\n\nI wrote a small library to take advantage of this concise format: [CAHDeck.js](https://github.com/crhallberg/json-against-humanity/blob/latest/web/CAHDeck.js).\n\n```json\n{\n  \"white\": [\"Answer cards in plain text, formatted with **Markdown**\"],\n  \"black\": [\n    { \"text\": \"_Prompt_ cards\\nformatted with _.\", \"pick\": 1 },\n    { \"text\": \"I want a _ **and** _ sandwich! No corners!\", \"pick\": 2 }\n  ],\n  \"packs\": {\n    \"abbreviation\": {\n      \"name\": \"The Base Set\",\n      \"description\": \"Sweet dirty vanilla\",\n      \"official\": true,\n      \"white\": [0, 1, 2, \"indexes for every white card in this pack\"],\n      \"black\": [0, 1, 2, \"indexes for every black card in this pack\"]\n    }\n  }\n}\n```\n\n## Examples\n\n**[Canvas Deck Sampler](./examples/canvas).** Demonstration of ingesting the [cah-all-compact.json](https://github.com/crhallberg/json-against-humanity/blob/latest/cah-all-compact.json) file with the [basic Javascript library](https://github.com/crhallberg/json-against-humanity/blob/latest/web/CAHDeck.js) and displaying cards on a canvas element.\n\n**[This Very Webpage](https://github.com/crhallberg/json-against-humanity/tree/latest/web).** [Ingesting from compact.json](https://github.com/crhallberg/json-against-humanity/blob/latest/web/site.js#L249-L253), listing decks, [combining selected decks](https://github.com/crhallberg/json-against-humanity/blob/latest/web/site.js#L178-L182), and [exporting files](https://github.com/crhallberg/json-against-humanity/blob/latest/web/site.js#L163-L174).\n\n## Fine Print\n\n### Is this legal?\n\nYes. Cards Against Humanity® is distributed under a [Creative Commons BY-NC-SA 4.0 license](https://creativecommons.org/licenses/by-nc-sa/4.0/). I think their website puts it best:\n\n\u003e We give you permission to use the Cards Against Humanity® writing under a limited Creative Commons BY-NC-SA 4.0 license. That means you can use our writing if (and only if) you do all of these things:\n\u003e\n\u003e 1.  Make your work available totally for free.\n\u003e 2.  Share your work with others under the same Creative Commons license that we use.\n\u003e 3.  Give us credit in your project.\n\nIf you have questions or paperwork that says otherwise, contact me, we can work this out.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrhallberg%2Fjson-against-humanity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrhallberg%2Fjson-against-humanity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrhallberg%2Fjson-against-humanity/lists"}