A static, GitHub Pages-friendly web app that turns a D&D Beyond character-service JSON response into printable spell cards.
- Load a D&D Beyond character-service URL when the browser permits cross-origin access.
- Paste or drag/drop the character JSON as a CORS-safe fallback.
- Extracts spell definitions from the character JSON rather than maintaining a separate spell database.
- Shows spell level, school, casting time, range, duration, components, concentration, ritual status, description, and higher-level text when available.
- Search and filter by spell level.
- Select individual cards or all visible cards.
- Print selected cards as a 3-column tabletop card sheet using the browser's Print / Save as PDF function.
- No server, database, login, or API key required.
- Create a new GitHub repository.
- Upload
index.html,styles.css, andapp.jsto the repository root. - In GitHub, open Settings → Pages.
- Under Build and deployment, choose Deploy from a branch.
- Select your main branch and
/ (root). - Save. GitHub will provide the Pages URL.
The character-service endpoint used by D&D Beyond is not a documented public API. The app therefore does not depend on an authenticated or officially supported API.
A browser may refuse a direct fetch because of CORS headers. If that happens, use the JSON fallback:
- Open the character-service URL in a browser.
- Save the response as a
.jsonfile, or copy the response. - Drop the file onto the app or paste the JSON into the manual input.
The app processes the JSON entirely in the browser.
The app does not bundle a copy of the D&D spell compendium. It uses spell information present in the character data supplied by the user. This keeps the static site simple and avoids redistributing a separate database of copyrighted spell text.
This project is an unofficial fan-made utility and is not affiliated with or endorsed by D&D Beyond or Wizards of the Coast.