Google Sheets to Anki

AnkiWeb addon 1871608121

1 other version of this addon exists. Compare versions ↓

Synchronizes Anki decks one-way from a published Google Sheets CSV, creating, updating, and removing Basic or Cloze cards and assigning tags, without reverse syncing.
AI-generated summary; may contain mistakes.

card-creationimportsync-integrationtaggingbeta

Open on AnkiWeb GitHub Find alternatives

AnkiWeb

Votes
7 (πŸ‘ 6 Β· πŸ‘Ž 1)
Updated
2025-03-13
Anki versions
2.1.1~
License
MIT (from the license file in the package)
Virus scan
No ClamAV match A match does not prove malware. No match does not prove that the code is safe.
Languages
Python, HTML, CSV, JavaScript, XML, CMake, JSON
Description language
en

Maintenance

stale

  • Last update or commit: 2025-03-13 (598 days before the snapshot).
  • Test files: 16.
  • Commits in the last year: 0.
  • Issues: 7 open, 1 closed.
  • Pull requests: 1 open, 0 merged.
  • Median first response: 5314 hours (1 answered issues and pull requests).
  • Outside pull requests: 0% of 1 merged.
  • Forks that may still be maintained: "Sheets2Anki - Sync GoogleSheets with Anki database." (271833721).

Will it work on my Anki?

Version branches
Min AnkiMax AnkiUpdated
2.1.1+2025-03-13
History across monthly snapshots

Loading…

Compare versions

The original addon and its forks. The best value in each column is in bold.

VersionWorks on Anki 26.09.3MaintenanceLast activity VotesApprovalGitHub starsNotes
Google Sheets to Anki this addon original supported stale 13 Mar 2025 πŸ‘ 6 Β· πŸ‘Ž 1 49% 17 beta
↳ Sheets2Anki - Sync GoogleSheets with Anki database. supported active 5 Jun 2026 πŸ‘ 0 Β· πŸ‘Ž 0 – 9

Forks can add features or work in a different way. Read the description before you change to another version. Fork detection is incomplete, so other versions can exist.

Similar addons

CSV Import Plus

Imports CSV or pasted text into Anki with auto-detected delimiters and note types, searchable deck selection, quick imports, subdeck creation, tag handling, and session history browsing or deletion.

card-creationimporttaggingdeck-management

8 votes 53% approval πŸ‘ 7 Β· πŸ‘Ž 1 ⭐ 1 Anki 25.09.4~ Updated 2026-10-22
Spreadsheet Import Plus

Imports XLSX spreadsheets directly into Anki, auto-matching field names and letting each field be processed as text, HTML, or Markdown.

card-creationimport

10 votes 60% approval πŸ‘ 9 Β· πŸ‘Ž 1 ⭐ 10 Anki 2.1.49~ Updated 2022-01-19

Description

Sheets2Anki is an add-on that synchronizes your Anki decks with a Google Sheets document published as CSV.

Features

  • Basic & Cloze Support
    Automatically detects Cloze formatting ({{c1::...}}) to create Cloze cards, otherwise creates Basic cards.
  • Tag Assignment
    If you include a tags column, those tags are assigned to each card in Anki.
  • Removes Deleted Cards
    Cards removed in Google Sheets are also removed in Anki. (No reverse sync: removing a card in Anki doesn't delete it in Sheets.)

Usage

Check out this template Google Sheets document to see different examples and the format you can use with Sheets2Anki.

  1. Publish a Google Sheet as CSV
    • In Google Sheets: File > Publish to the web (select "CSV").
    • Copy the published CSV URL.
  2. Add a New Remote Deck in Anki
    • Tools > Manage Remote Deck > Add New Remote Deck.
    • Paste the URL and name the deck.
  3. Sync Decks
    • Tools > Manage Remote Deck > Sync Remote Decks.
    • Any changes in the sheet (added, updated, or removed cards) will appear in Anki.

Important Notes

  • No Reverse Sync
    Deletions and edits in Anki won't affect the Google Sheet. For permanent removal of a card, delete it in the sheet first.
  • Beta Status
    Sheets2Anki is in beta. Expect further updates and improvements.

Requirements

  • Anki 2.1.x
  • Basic model with fields Front, Back
  • Cloze model with fields Text, Extra

Further Info

For documentation, examples, or to report issues, please visit the GitHub repository.

README

Sheets2Anki

Sheets2Anki is an Anki add-on that synchronizes your Anki decks with a published Google Sheets CSV. Your Google Sheets document serves as the source of truth: when you sync, cards are created, updated, or removed in your Anki deck to reflect the sheet’s contents. This add-on is currently in beta, so features and behavior may still change.

Features

  • Google Sheets as Source of Truth:
    Your published Google Sheet determines the cards present in Anki.
  • Supports Both Basic and Cloze Cards:
    Automatically detects Cloze formatting ({{c1::...}}) in the question field for Cloze cards. Other questions become Basic cards.
  • Automatic Tag Assignment:
    If you have a tags column in your sheet, those tags will be assigned to the cards in Anki.
  • Deck Maintenance:
    • Removed in Sheet β†’ Removed in Anki: If a card disappears from the sheet, it is removed from Anki on the next sync.
    • Removed in Anki β†’ Not Removed in Sheet: There is no reverse sync. Deleting a card in Anki does not affect the sheet; the card may reappear if you sync again unless it’s removed from the sheet.

Important: This add-on is in beta and currently supports only Basic and Cloze note types. Future updates may improve or extend functionality.

No Reverse Sync & Deck Disconnection

  • No Reverse Sync:
    All changes flow from Google Sheets to Anki. If you delete or modify a card in Anki, it will not update the sheet. To permanently remove a card, remove it from the sheet before syncing again.

  • Syncing vs. Disconnecting a Remote Deck:

    • Sync Once and Disconnect:
      You can sync a deck once, and then if you prefer to manage cards locally without further remote updates, go to Tools > Manage Remote Deck > Disconnect Remote Deck. This "unlinks" Anki from the sheet. The local deck remains and can be edited freely in Anki as a normal deck.
    • Continuous Syncing:
      Alternatively, you can keep the deck connected and continue updating your Google Sheets document. Upon each sync, Anki updates to match the sheet. If you want a card gone, you must remove it from the sheet, as deletions in Anki alone won't persist after a resync.

Example Google Sheets Document

Use this example Google Sheets document as a starting template.
imagen

  • Just copy and paste: question, answer, and tags columns as needed.
  • Add Cloze-formatted questions (e.g., {{c1::essential}}) for Cloze cards.
  • After finalizing, publish the sheet as a CSV (File > Publish to the Web) and copy the CSV URL.

Installation

  1. Download the .ankiaddon File:

    • Go to the Releases page of this repository.
    • Download the latest .ankiaddon.
  2. Install in Anki:

    • In Anki, go to Tools > Add-ons > Install from file....
    • Select the downloaded .ankiaddon file.
    • Restart Anki when prompted.

Usage

  1. Add a New Remote Deck:

    • Tools > Manage Remote Deck > Add New Remote Deck.
    • Paste the published CSV URL from your Google Sheet.
    • Enter a deck name and confirm.
  2. Sync Decks:

    • Tools > Manage Remote Deck > Sync Remote Decks to update Anki from the sheet.
  3. Disconnect a Remote Deck:

    • Tools > Manage Remote Deck > Remove Remote Deck.
    • This unlinks the remote sheet. The local deck remains, allowing you to manage it entirely in Anki going forward.

Requirements

  • Anki Version: Compatible with Anki 2.1.x.
  • Note Models Needed:
    • Basic: Fields Front and Back.
    • Cloze: Fields Text and Extra.

Confirm these models exist before syncing.

Troubleshooting

  • No Cards Imported?
    Check CSV headers (question, answer, tags) and ensure required note models exist.
  • Changes Not Updating?
    Wait a few minutes after editing the sheet or verify the correct published CSV URL.
  • Cloze Cards Not Forming?
    Ensure Cloze syntax ({{c1::...}}) is correct and the Cloze model has Text and Extra fields, see Example Google Sheets Document above.
  • Cards Reappearing After Deletion in Anki?
    Remember there’s no reverse sync. Remove the card from the sheet if you want it gone permanently.

Beta Status and Future Plans

Sheets2Anki is in beta. Basic and Cloze types are supported now, but more features and improvements may follow as the project evolves. Keep an eye on this repository for updates.