Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Awesome Flashcard

awesomedogawesomedog5k downloads

Handy Anki integration.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates7

Plugin to sync flashcards in your Obsidian notes to Anki.

Design philosophy

  • Single source of truth. Synchronizes flashcards only in one direction: from your Obsidian notes to Anki.
  • Simplicity matters. Only one simple way to define flashcard.
  • Stick to openness. Standard Markdown as flashcard format, Introduces zero private syntax.
  • Minimal footprint. Stores no private data on your notes. Does not affect your Anki learning progress.

Features

  • ♳ Synchronizes all flashcards in your vault to Anki, in one direction
  • ✍ Preserves Anki learning progress
  • ✒ Full Markdown syntax support: 🖼️image, 🎤audio, 🎞️video, 📟code block, 🔢LaTeX, 📋table...
  • 🎴 Supports defining deck names both vault-wide and file-wide
  • #️⃣ Supports defining tags both flashcard-wide and file-wide
  • ⚡ Decent speed for incremental scanning
  • 🔗 Quick link to corresponding Obsidian note

Flashcard example

In your Obsidian note:

---
A simple flashcard: Question in the front #flashcard
Answer in the back
---

will generate an Anki flashcard like this:

A simple flashcard: Question in the front
Answer in the back

see more examples in sample.md

One time setup

These steps only need to be done once.
After that ensuring Anki running would suffice to scan vault with the plugin.

  1. Start up Anki, and navigate to your desired profile.
  2. Ensure that you've installed AnkiConnect.
  3. Have Obsidian installed
  4. Search the 'Community plugins' list for this plugin
  5. Install the plugin.
  6. In Anki, navigate to Tools->Addons->AnkiConnect->Config, and change it to look like this, then restart Anki to apply the changes:
{
    "apiKey": null,
    "apiLogPath": null,
    "webBindAddress": "127.0.0.1",
    "webBindPort": 8765,
    "webCorsOrigin": "http://localhost",
    "webCorsOriginList": [
        "http://localhost",
        "app://obsidian.md"
    ]
}

How to use

Make sure Anki is running, on left sidebar's Ribbon there is an Anki icon like this:

Click it and the plugin will do the rest for you. Progress is shown in Obsidian notices.

Synchronization mechanism clarified

To fulfill these goals:

  • One-way synchronization from your Obsidian notes to Anki, and not vice versa. Auto adds new, removes deleted and updates obsolete flashcards
  • Does not affect your own flashcards (which are not from your Obsidian notes)
  • Stores no private data on your notes.

The synchronization is designed as follows:

  • Flashcard's deck name and front text are combined to get a unique hash
  • Each flashcard from Obsidian is tagged with the hash to tell from your own flashcards
  • When scanning vault, it will diff flashcards in Obsidian (computed dynamically) and Anki based on unique hash, create decks and CRUD flashcards accordingly

Development

Install the dependencies and build the plugin bundle:

npm install
npm run build

Run npm run check before submitting changes to execute linting, tests, and type checking together.

To deploy the built plugin directly into an Obsidian vault, pass the vault path to the deploy command:

npm run deploy -- "/path/to/vault"

The command copies main.js, manifest.json, and styles.css to .obsidian/plugins/obsidian-awesome-flashcard. You can also set the OBSIDIAN_VAULT environment variable and omit the path. After deployment, enable Awesome Flashcard under Obsidian's community plugins. Restart Obsidian after changing manifest.json; for source-only changes, rebuild and reload the plugin.

Release

Use npm's version command to update package.json, package-lock.json, manifest.json, and versions.json, then push the generated commit and tag (tags intentionally have no v prefix):

npm version patch
git push origin main --follow-tags

Pushing the tag starts the release workflow. It checks the version, builds the plugin, and creates a draft GitHub release containing main.js, manifest.json, and styles.css for review and publication.

HealthExcellent
ReviewPassed
About
Sync flashcards written in standard Markdown from your Obsidian vault to Anki in one direction while preserving existing Anki learning progress. Support images, audio, video, code blocks, LaTeX and tables, plus deck and tag assignment per file or per card. Scan incrementally for speed and add quick links back to the source note.
FlashcardsIntegrations
Details
Current version
0.1.7
Last updated
3 weeks ago
Created
4 years ago
Updates
7 releases
Downloads
5k
Compatible with
Obsidian 0.15.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
awesomedogawesomedog
github.com/AwesomeDog/
GitHubawesomedog
  1. Community
  2. Plugins
  3. Flashcards
  4. Awesome Flashcard

Related plugins

Yanki

Sync flashcards from a folder in your vault to Anki. Pure Markdown syntax. No fuss.

BRAT

Easily install a beta version of a plugin for testing.

LanguageTool Integration

Advanced grammar and spell checking, powered by LanguageTool.

Self-hosted LiveSync

Sync vaults securely to self-hosted servers or WEBRTC.

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.

Custom Frames

Turn web apps into panes using iframes with custom styling. Also comes with presets for Google Keep, Todoist and more.

Local REST API with MCP

Unlock your automation needs by interacting with your notes over a secure REST API.

Maps

Adds a map layout to bases so you can display notes as an interactive map view.

Google Drive Sync

Syncs a vault into Google Drive for cross-platform use (works for iOS).

Agent Client

Chat with Claude Code, Codex, Gemini CLI, and more via the Agent Client Protocol — right from your vault.