Decks

Importing Data into I Love Cards

Learn how to import your existing content from spreadsheets and JSON files to create card decks quickly.

I Love Cards offers two ways to import your existing content: Spreadsheet Paste for quick imports and JSON Upload for content-heavy cards. Both methods use AI-powered field detection to map your data automatically.

When to Use Each Method

MethodBest For
Spreadsheet PasteSimple cards with short text fields
JSON UploadCards with markdown, bullet points, multi-paragraph content

Spreadsheet Import (Copy & Paste)

The fastest way to import simple card content:

  1. Copy your data from Excel or Google Sheets (Ctrl+C / Cmd+C)
  2. Click Import in the deck builder toolbar
  3. Paste into the text area
  4. Click Next — AI analyzes your columns and suggests field mappings
  5. Review the preview, adjust mappings if needed
  6. Click Import

Tips for Spreadsheet Import

  • Include a header row with column names (Title, Description, Category, etc.)
  • The AI detects your language and column types automatically
  • You can import into a new deck or add to an existing one

JSON Import (File Upload)

Better for cards with rich, structured content like markdown formatting:

  1. Click Import in the deck builder toolbar
  2. Click Upload JSON tab
  3. Drag & drop your .json file or click to browse
  4. The data preview shows your imported rows
  5. Click Next — AI maps fields just like spreadsheet import
  6. Review and import

JSON Format

Your JSON should be a flat array of card objects:

[
  {
    "title": "Card Title",
    "type": "intro",
    "one_liner": "A short tagline",
    "description": "Detailed content with **markdown** support"
  },
  {
    "title": "Another Card",
    "type": "concept",
    "description": "- Bullet point 1\n- Bullet point 2"
  }
]

Or wrapped with metadata:

{
  "deck_name": "My Deck",
  "cards": [
    { "title": "Card 1", ... },
    { "title": "Card 2", ... }
  ]
}

Why JSON for Content-Heavy Cards?

When your cards contain:

  • Markdown formatting (headers, bold, lists)
  • Multi-line descriptions with paragraphs
  • Bullet points or numbered lists
  • Special characters that break in spreadsheets

JSON preserves all of this perfectly. Spreadsheet copy/paste often breaks newlines and special characters. Also, AI is really good at generating this JSON format from a text description, so you can use ChatGPT to generate the JSON for you.

Requirements

  • Flat objects only — no nested objects or arrays within cards
  • At least one field per card object
  • Field names can be anything — AI will map them to card fields

Field Mapping

Both import methods use the same AI-powered mapping:

Your Field NamesMaps To
title, name, card_titleTitle
description, detail, contentDetailed Content
one_liner, tagline, subtitleOne Liner
short_description, summaryShort Content
category, type, groupCategory
icon, emojiIcon

The AI detects these automatically, but you can always override the suggested mappings before importing.

Importing into Existing Decks

When you import from within a deck you're already editing:

  • New cards are added to your existing deck
  • Categories with matching names are merged (fuzzy matching handles minor spelling differences)
  • You can choose whether to create new categories or add to existing ones

Next Steps

After importing:

  1. Review your cards in the deck builder
  2. Assign templates to your cards
  3. Set up your color palette
  4. Generate AI illustrations if needed