If you're building a tarot app, chatbot, or any divination-related project, you need structured card data. I put together a complete JSON dataset of all 78 tarot cards with
meanings, elements, and zodiac associations.
## The Dataset
The dataset includes all 78 cards with these fields:
-
card_name— Full card name -
arcana— Major or Minor -
suit— Wands, Cups, Swords, Pentacles -
element— Fire, Water, Air, Earth -
upright_meaning— Keywords for upright position -
reversed_meaning— Keywords for reversed position -
love_meaning— Relationship interpretation -
career_meaning— Career interpretation -
yes_or_no— Yes/No/Maybe for simple readings -
zodiac_sign— Associated zodiac or planet
## Quick Example
Here's what a single card looks like in JSON:
{
"card_name": "The Star",
"arcana": "Major",
"element": "Air",
"upright_meaning": "Hope, renewal, spirituality, inspiration",
"reversed_meaning": "Despair, lack of faith, disconnection",
"love_meaning": "Healing love, renewed hope",
"career_meaning": "Creative inspiration, dream career",
"yes_or_no": "Yes",
"zodiac_sign": "Aquarius",
"guide_url": "https://deckaura.com/blogs/guide/star-tarot-meaning"
}
## Where to Get the Data
I've published the full dataset on multiple platforms:
- Kaggle: Complete Tarot Card Meanings - All 78 Cards
- Hugging Face: tarot-card-meanings-78
- Full card guide source: Deckaura Tarot Card Meanings
## Use Cases
Here are some project ideas using this data:
1. Tarot Reading Chatbot
Build a Discord or Telegram bot that pulls random cards and returns meanings. The yes_or_no field makes it easy to implement simple yes/no readings.
2. Daily Card Widget
Create a web widget that shows a random tarot card each day. You can see an example of this at Deckaura's Daily Tarot Card.
3. Birth Card Calculator
Use numerology to calculate someone's tarot birth card from their birthday. Add all digits until you get 1-22, then map to the Major Arcana. Working example: Tarot Birth Card
Calculator
4. Tarot + Numerology App
Combine the zodiac and element data with a numerology calculator to create personalized readings.
5. NLP Sentiment Analysis
Run sentiment analysis on the upright vs reversed meanings. Interesting patterns emerge — Major Arcana reversals tend to be more intense than Minor Arcana.
## Simple Implementation
Here's a basic JavaScript implementation:
const cards = await fetch('tarot_card_meanings.json')
.then(r => r.json());
const randomCard = cards[Math.floor(Math.random() * cards.length)];
const isReversed = Math.random() > 0.5;
console.log(`${randomCard.card_name} ${isReversed ? '(Reversed)' : ''}`);
console.log(`Element: ${randomCard.element}`);
console.log(`Meaning: ${isReversed ? randomCard.reversed_meaning : randomCard.upright_meaning}`);
console.log(`Full guide: ${randomCard.guide_url}`);
## Oracle Cards vs Tarot
If you're considering adding oracle card support, note that oracle cards have no standardized structure — each deck is unique. Read more about the differences: What Are Oracle
Cards?
## Links
- Dataset source: Deckaura Tarot Guide
- Free interactive reading: Deckaura Free Tarot Reading
- NPM package: tarot-card-meanings
If you build something with this data, drop a link in the comments!
Top comments (0)