A complete, structured dataset of all 78 tarot cards (22 Major Arcana + 56 Minor Arcana), based on the classic Rider–Waite–Smith tradition. Published by Tarotoo. These are the card meanings that ground the AI-generated readings on Tarotoo.com.
| File | Description |
|---|---|
data/cards.json |
Canonical dataset — array of 78 card objects |
data/cards.jsonl |
One card per line (Hugging Face-friendly) |
data/cards.csv |
Flat CSV mirror |
data/src/ |
Per-suit source files (edit these, then run the build) |
scripts/build.py |
Merges, validates, and regenerates the artifacts |
packages/npm/ |
tarotoo-tarot npm package (data + lookup helpers) |
packages/python/ |
tarotoo-tarot PyPI package (data + lookup helpers) |
huggingface/ |
Dataset card for the Hugging Face mirror |
kaggle/ |
Metadata for the Kaggle mirror |
Each card record has the following fields:
| Field | Type | Description |
|---|---|---|
id |
int | Stable identifier, 0–77 (0–21 Major Arcana, then Wands, Cups, Swords, Pentacles) |
name |
string | Card name, e.g. "The Fool", "Ace of Cups"
|
arcana |
string |
"major" or "minor"
|
suit |
string|null |
null for Major Arcana; "wands", "cups", "swords", "pentacles"
|
number_numerology |
int | Card number for numerology (courts: Page=11, Knight=12, Queen=13, King=14) |
element |
string | Classical element association |
planet |
string/null | Planetary association (Golden Dawn; decan planet for pips) |
zodiac |
string/null | Zodiac association (sign, decan sign, or element's signs for courts) |
yes_no |
string |
"yes", "no", or "maybe" — for yes/no readings |
yes_no_reversed |
string |
"yes", "no", or "maybe" for a reversed card |
keywords_upright |
string[] | 4–5 upright keywords |
keywords_reversed |
string[] | 4–5 reversed keywords |
meaning_upright |
string | Upright meaning as concise keyword phrases |
meaning_reversed |
string | Reversed meaning as concise keyword phrases |
love |
string | Love/relationships context (short phrase) |
love_reversed |
string | Reversed love/relationships context (keyword phrases) |
career |
string | Career/work context (short phrase) |
career_reversed |
string | Reversed career/work context (keyword phrases) |
mood |
string | Mood/emotional tone (short phrase) |
mood_reversed |
string | Reversed mood/emotional tone (keyword phrases) |
spiritual |
string | Spiritual-growth context (short phrase) |
spiritual_reversed |
string | Reversed spiritual-growth context (keyword phrases) |
- Hugging Face: Tarotoo/tarotoo-tarot-card-meanings
- Kaggle: tarotoo/tarotoo-tarot-card-meanings
-
npm:
tarotoo-tarot -
PyPI:
tarotoo-tarot -
MCP server for AI assistants:
tarotoo-mcp-server(official registry:io.github.Tarotoo-com/tarotoo-mcp-server) - Dataset homepage: tarotoo.com/open-data
- Zenodo — dataset (data files + dataset paper): 10.5281/zenodo.21384778
- Zenodo — dataset (concept DOI, always resolves to the latest dataset version; data files + dataset paper): 10.5281/zenodo.21285777
- Zenodo — full repository/archive of this repo (dataset, source files, build scripts, automated validation, software packages, documentation): 10.5281/zenodo.21358505
- Zenodo — full repository/archive of this repo (Concept DOI): 10.5281/zenodo.21268290
Python (PyPI):
pip install tarotoo-tarotfrom tarotoo_tarot import cards, get_card, search_cards, yes_no
get_card("The Fool")["meaning_upright"] # "New beginnings, spontaneity, innocence..."JavaScript / Node (npm):
npm install tarotoo-tarotimport { cards, getCard, searchCards, yesNo } from "tarotoo-tarot";
getCard("The Fool").meaning_upright; // "New beginnings, spontaneity, innocence..."Hugging Face (datasets):
from datasets import load_dataset
cards = load_dataset("Tarotoo/tarotoo-tarot-card-meanings", split="train")Kaggle:
kaggle datasets download tarotoo/tarotoo-tarot-card-meaningsRaw files (no dependencies):
curl -O https://raw.githubusercontent.com/Tarotoo-com/tarotoo-tarot-dataset/main/data/cards.jsonAI assistants (MCP — Claude Desktop, Claude Code, Cursor, etc.):
{
"mcpServers": {
"tarotoo-tarot": { "command": "npx", "args": ["-y", "tarotoo-mcp-server"] }
}
}import json
with open("data/cards.json") as f:
cards = json.load(f)
fool = next(c for c in cards if c["name"] == "The Fool")
print(fool["meaning_upright"])Regenerate artifacts after editing the source files:
python3 scripts/build.pyAll interpretive text was created by Tarotoo within the Rider–Waite–Smith tradition, drawing on established tarot sources — primarily A. E. Waite's The Pictorial Key to the Tarot (1911). Planet and zodiac correspondences follow classical rulerships and the decan system documented in the Golden Dawn's Book T, with widely adopted modern associations used for a small number of cards that do not have traditional planetary assignments. Yes/no values draw on widely used modern interpretive conventions and input from tarot experts Tarotoo have collaborated with, based on each card’s upright meaning. Each card was reviewed for consistency in tone, terminology, and structure across the complete deck.
Card meanings and correspondences are informed by established works associated with the Rider–Waite–Smith tradition and related Western esoteric systems:
- Waite, A. E. (1911). The Pictorial Key to the Tarot. William Rider & Son. — primary source for card meanings
- Hermetic Order of the Golden Dawn (c. 1888–1897). Book T: The Tarot. — astrological and elemental attributions
- Mathers, S. L. MacGregor (1888). The Tarot: Its Occult Signification, Use in Fortune-Telling, and Method of Play.
- Papus (1889). The Tarot of the Bohemians.
- Ouspensky, P. D. (1913). The Symbolism of the Tarot.
- Thierens, A. E. (1930). General Book of the Tarot.
These works were selected for their historical importance and continuing influence on modern tarot interpretation.
When a reading is generated on Tarotoo.com, the meanings of the drawn cards are retrieved from this dataset and included in the model prompt, so interpretations are anchored to these published meanings rather than left entirely to the model. See docs/integration.md for how this works.
Released under the MIT License — free to use, copy, modify, and redistribute, including commercially. Attribution to Tarotoo (tarotoo.com) is appreciated.
Tarotoo. (2026). Tarotoo Tarot Card Meanings: Complete Dataset Repository and Infrastructure (Version 1.7.1) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.21358505
DOI guide:
- 10.5281/zenodo.21358505 — full repository/archive of this repo (dataset, source files, build scripts, automated validation, software packages, documentation)
- 10.5281/zenodo.21268290 — Concept DOI: not a specific version; always resolves to the latest repository archive
- 10.5281/zenodo.21384778 — dataset only (data files + dataset paper)
- 10.5281/zenodo.21285777 — dataset only, concept DOI (data files + dataset paper; always resolves to the latest dataset version)
Version alignment: Zenodo dataset version 1.7.1 was published to add the accompanying readme file. The underlying dataset files are unchanged from GitHub release v1.7.0; no card records or fields were modified.
See also CITATION.cff; a new DOI is issued for each tagged release.
This dataset is intended for educational, research, creative, entertainment, and self-reflection purposes. It should not be used as a substitute for medical, legal, financial, mental-health, or other professional advice.