LearnKit

by William Guy
5
4
3
2
1
Score: 55/100

Description

The LearnKit plugin turns notes into a study system with flashcards, note review, tests and spaced repetition built directly into the vault. It supports multiple card types including cloze, reversed cards, multiple choice and image occlusion, while FSRS scheduling adapts review timing over time. The plugin also adds note review mode, text to speech and audio playback, reading view study controls and analytics such as charts, heatmaps and retention trends. Its Companion layer can answer questions from a note, generate flashcards and tests, give feedback on note quality and help rewrite or restructure content. LearnKit also supports Anki import and export, so study material can move between workflows without leaving Markdown behind.

Reviews

  • Lee Reynolds
    Reviewed on Jun 17th, 2026
    great plugin, probably could have benefited from a little wait before releasing it to the public, as it has a few bugs but overall its actually excellent! loads of features and editing anki cards as a singular md file is amazing!!!

Stats

164
stars
20,517
downloads
8
forks
116
days
65
days
116
days
100
total PRs
10
open PRs
36
closed PRs
54
merged PRs
97
total issues
6
open issues
91
closed issues
565
commits

Latest Version

4 months ago

Changelog

Patch release — lint compliance hotfixes only. No functional changes.

Hotfixes

  • Replaced direct innerHTML assignments with sanitized replaceChildrenWithHTML across cloze and code-fence rendering paths.
  • Switched bare document references to activeDocument in chart color resolution for popout window compatibility.
  • Replaced instanceof HTMLElement checks with cross-window-safe nodeType comparisons.
  • Fixed bare setTimeout usage in browser preferences persistence.
  • Resolved TypeScript unsafe-type warnings in the docs site content config.

README file from

Github

LearnKit

GitHub Release GitHub issues GitHub Downloads (all assets, all releases) CI Docs

LearnKit Banner One - Welcome LearnKit helps you remember what you write. With flashcards, note review, tests, and AI-assisted study tools built into Obsidian, your vault becomes a place to actively learn, not just store information.

Flashcards were where LearnKit began, but the goal was always bigger: to connect notes, review, and long-term retention in one workflow.

Why LearnKit

Obsidian is great for capturing knowledge. LearnKit is built for retaining it. Instead of splitting your workflow across multiple study apps, LearnKit keeps learning inside your vault.

Start learning from your vault

LearnKit is easiest to understand once you use it. Install it, create a flashcard, run a review, or generate a test to see how it fits your study workflow.

Install from Community Plugins

  1. Open Obsidian → Settings → Community Plugins
  2. Browse Community Plugins and search for LearnKit
  3. Install and enable LearnKit

Manual install from Releases

  1. Go to Releases and download the latest release

  2. Copy main.js, styles.css, and manifest.json into:

    <Vault folder>/.obsidian/plugins/learnkit/
    
  3. Restart Obsidian → Settings → Community Plugins → Enable LearnKit

Guides & Support

💡 Need help in-app? Open the built-in LearnKit guide inside Obsidian.

💬 Have questions or ideas? Ask in LearnKit Discussions →

🌐 Want to contribute or help translate LearnKit? See the Contributing Guide →

Key features

  • FSRS scheduling — adaptive spaced repetition so every review counts.
  • Rich flashcard types — cloze, basic, reversed, multiple choice, image occlusion, and more.
  • Text-to-speech & audio — built-in playback for language learning and listening practice.
  • Study analytics — charts, heatmaps, and retention trends at a glance.
  • Markdown-first — flashcards live inside your notes, linked to the knowledge they came from.
  • Reading view customisation — keep notes clean and distraction-free while studying.
  • Note review mode — spaced repetition for your notes, not just flashcards.
  • Study coach — personalised study plans and coaching for your exams.
  • Test mode — AI-generated quizzes straight from your notes.

Companion — AI learning assistant

Companion is LearnKit's built-in AI study assistant for working directly with the notes you already have.

  • Ask anything — get instant answers grounded in the note you're reading.
  • Generate flashcards and tests — turn any note into study-ready material in seconds.
  • Review and improve — get targeted feedback that makes your notes clearer and more complete.
  • Edit with AI — Companion can rewrite, restructure, and refine your notes for you, right where you work.

Turn notes into study-ready material without leaving Obsidian.

Feature highlights

LearnKit Banner Two - Rich Flashcard Types LearnKit Banner Three - FSRS Algorithm LearnKit Banner Four - Meet Companion LearnKit Banner Six - Reminders & Gatekeeper LearnKit Banner Seven - Card Creation LearnKit Banner Five - Audio Functionality LearnKit Banner Eight - Data Analysis LearnKit Banner Nine - Anki Compatibility

FAQ

If you are deciding whether LearnKit fits your workflow, start here.

  • Can I use LearnKit with my existing notes? Yes. LearnKit is designed to work with the notes you already have in Obsidian, so you can turn existing material into flashcards, reviews, and tests instead of starting from scratch.
  • Does it work with Anki? Yes. LearnKit supports Anki import and export for decks, media, and scheduling-related data where supported. Image Occlusion flashcards are currently skipped on import and are not exported.
  • Does it work on mobile? Yes. LearnKit is not desktop-only, though some workflows may feel better on larger screens. Check the docs for current platform notes and limitations.
  • What is planned for Companion? Companion now supports agentic note editing alongside chat, flashcard generation, and test generation. Custom skills are planned for future updates.
  • Do I need AI to use LearnKit? No. AI is an optional layer in LearnKit, not a requirement. You can use the main study workflow without connecting any model provider.
  • Is LearnKit free? Yes. LearnKit itself is free and open source. Companion does not add a subscription layer, but external model providers may charge depending on the API you use.
  • How does Companion work? Companion uses your own API key, so there are no subscriptions or markups from LearnKit. It works with providers including Google, OpenRouter, Anthropic, OpenAI, and Perplexity.
  • Can Companion access my whole vault by default? No. Companion only receives the note content you send in a given workflow, such as asking about a note, generating flashcards, or generating a test. Depending on the feature and your settings, that can also include extra context such as note attachments or linked notes for context.
  • Do all AI models support every Companion feature? No. Free models are a good way to get started, but capability varies by model. Premium models generally perform better for more demanding tasks such as working with attachments.
  • How do I report a Companion issue? If you run into a Companion issue, please file an AI issue report so we can track problematic models and providers.
  • Where can I check which models support each Companion feature? We maintain a Companion Model Compatibility table showing which AI features work on each provider and model. If you have tested a provider or model, please submit a PR to update the table and help other users.

Privacy & Disclosures

One review warning is accepted rather than fixed, and it is worth stating plainly:

  • "Plugin assembles domain names at runtime - split/join domain assembly." The charts are drawn with Recharts, which uses Redux Toolkit internally (Recharts -> @reduxjs/toolkit -> redux, immer, react-redux). LearnKit imports Redux nowhere. The one string in the bundle matching that pattern is Redux's own random action-token generator - Math.random().toString(36).substring(7).split("").join(".") - which decorates a random word with dots. It is not a domain, and no endpoint is assembled at runtime: every host listed above is a literal string in the source. Patching vendored library code was rejected deliberately, because it would silently stop applying on the next Recharts or Redux bump; removing the warning for good would mean rendering charts with a library that has no Redux inside it.

Everything below is what Obsidian's automated review asks plugins to declare. LearnKit is local-first: none of its features require an account, and no data leaves your machine unless you switch on an AI provider, TTS, or an online image source yourself.

  • Vault read and write. LearnKit indexes the notes you point it at so it can find, render, sync and schedule flashcards. It can read any file in the vault, and it writes only the files a feature needs: card blocks and anchors in the notes you card, its own generated images, audio cache files, and backups.
  • External requests. Nothing is sent anywhere until you ask for it. The complete list of hosts LearnKit can contact:
    • AI providers, only when you have configured one and used a Companion feature: generativelanguage.googleapis.com (Google), openrouter.ai, api.anthropic.com, api.openai.com, api.deepseek.com, api.x.ai (xAI), api.perplexity.ai, or a custom OpenAI-compatible base URL that you enter yourself. That custom endpoint is why the review reports "assembles domain names at runtime": the request host comes from your settings.
    • Text to speech, only when you play audio and have chosen a provider: texttospeech.googleapis.com (Google) or api.elevenlabs.io.
    • Circle flag images in card text, fetched from hatscripts.github.io and cached in your plugin data file (with a bundled fallback, so reading cards works offline).
    • This plugin's own repository, for the release notes and About page: api.github.com, raw.githubusercontent.com, cdn.jsdelivr.net.
    • The About page also has links you may click (github.com, buymeacoffee.com, linkedin.com); it does not fetch them.
  • Clipboard. Used in two places: pasting an image into the Image Occlusion editor or the card creator (the paste event's own clipboard data), and the About page's copy button. Nothing is read from the clipboard in the background.
  • Plugin data file, not browser storage. LearnKit stores its settings, caches and preferences in its own data.json through Obsidian's plugin data API. It no longer touches localStorage / sessionStorage, so nothing is kept in the renderer's web storage.
  • Base64 and an inline WASM blob. The Anki importer and exporter run on SQLite compiled to WebAssembly (sql.js). An Obsidian plugin may only ship main.js, manifest.json and styles.css, so that module and its WASM are embedded in main.js and decoded at runtime (base64 + zlib). The WASM exports its linear memory, as Emscripten modules do. Nothing here is obfuscation: the source is in this repository and the built file is built by CI from it.
  • AI providers. Companion sends only the content a workflow needs (the note you asked about, plus any context a feature documents). API keys are stored in your plugin data file.
  • No telemetry, no analytics, no ads, no tracking. LearnKit does not phone home.

License & Credits

License

LearnKit is released under the MIT License.

See the full license for more details.

Credits

FSRS scheduling in LearnKit is powered by FSRS-6 via open-spaced-repetition/ts-fsrs.

This project also uses Circle Flags assets from HatScripts/circle-flags, licensed under MIT.

Thanks to everyone who has contributed ideas, bug reports, and feedback. Special thanks to sevenRevy for code contributions.

See here for additional third-party attributions and license notices.

Our Commitment

LearnKit is open source and always free. Your notes, your data, your control — no paywalls, no lock-in.

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
braincache
4 years ago by XSPGMike
braincache obsidian plugin
Aosr
4 years ago by linanwx
Aosr is Another Obsidian plugin for Spaced Repetition.
Note Synchronizer
4 years ago by Songchen Tan
Synchronizes Obsidian notes to Anki in a breeze 💨️
Repeat
4 years ago by Andre Perunicic
Review notes using periodic or spaced repetition.
Awesome Flashcard
4 years ago by AwesomeDog
Handy Anki integration for Obsidian.
Flashcard Learning
3 years ago by Gaétan Muck
Obsidian plugin. Uses flashcard system to learn things across own notes.
Ring a secretary
3 years ago by vorotamoroz
Copilot
3 years ago by Logan Yang
THE Copilot in Obsidian
Pieces for Developers
3 years ago by Pieces For Developers
Pieces' powerful extension for Obsidian-MD that allows users to access their code snippets directly within the Obsidian workspace
Auto Anki
3 years ago by ad2969
Using AI to automate card creation for Spaced Repetion in Anki
Flashcards LLM
3 years ago by Marco Pampaloni
Use Large Language Models (such as ChatGPT) to automatically generate flashcards from obsidian notes
Memorization
3 years ago by Joseph Cochran
Flashcard Generator
3 years ago by ChloeDia
Obsidian Plug-in to automatically create a set of questions/answers on your notes !
QB Reader Parser
3 years ago by Jacob Barta
QBReader parsing for quiz bowl answerlines
Vocabulary Cards
3 years ago by Eugene Myazin
An easy way to display vocabulary words as flashcards and as a list
Mochi Cards Pro
3 years ago by Hayden Carpenter
Create flashcards on Mochi.cards using the API provided by Mochi's Pro subscription in Obsidian.
Augmented Canvas
3 years ago by Léopold Szabatura
Supercharge your Obsidian canvas experience with AI features.
MantouAI
3 years ago by Morino Pan
MantouAI—— 让Obsidian变身智能助手
The Queue
2 years ago by Kolja Sam Pluemer
An Obsidian.md plugin randomly exposing you to your cards. Supports habits, to-dos, spaced repetition flashcards, iterative reading and more.
Rapid AI
2 years ago by Rapid AI
AI Assistant for selected text and generating content with Markdown. Shortcuts and quick action buttons provide instant AI assistance. It provides a high availability API for unlimited Chat GPT request rates, so you can ensure smooth work for any workload.
Yanki
2 years ago by Eric Mika
An Obsidian plugin that syncs flashcards from a folder in your vault to Anki. Pure Markdown syntax. No fuss.
Better Recall
2 years ago by FlorianWoelki
A better spaced repetition and recall plugin for Obsidian inspired by Anki.
Learnie
2 years ago by tankh99
Learnie is an Obsidian plugin that helps to enhance your learning with active recall and spaced repetition.
Review
6 years ago by ryanjamurphy
Add the current note to a future daily note to remember to review it.
Flashcards
6 years ago by Alex Colucci
🎴 An Anki plugin for Obsidian.md
Mochi Cards Exporter
6 years ago by kalbetre
Mochi Cards Exporter Plugin for Obsidian
Spaced Repetition
6 years ago by Stephen Mwangi
Fight the forgetting curve by reviewing flashcards & entire notes on Obsidian
Incremental Writing
5 years ago by Jamesb | Experimental Learning
An incremental writing plugin for Obsidian where you add notes and blocks to prioritized queues and review them incrementally over time, spaced repetition style.
Recall
5 years ago by Martin Jirlow
A spaced repetition system for Obsidian!
Anki Sync
5 years ago by debanjandhar12
Obsidian plugin to make flashcards and sync them to Anki
Spaced everything
2 years ago by Zach Mueller
Obsidian plugin to apply spaced repetition to incrementally develop your notes.
Blue Star
2 years ago by Wang Guoshi
A plugin for Obsidian that generates Anki flashcards in various ways.
Simple Quiz
2 years ago by Ivan Kalmar
Creating simple quizzes.
AI-AnkiSync
2 years ago by goev
Memodack
2 years ago by Pavlo Kobyliatskyi
Your second language memory tool
CAO
2 years ago by Godot
Claude AI for Obsidian
hello nemesis
2 years ago by Dian
Spaced Repetition AI
2 years ago by Belinda Mo, Athena Leong
AI + Spaced Repetition Plugin for Obsidian
HiNote
2 years ago by Kai
Add comments to highlighted notes, use AI for thinking, and flashcards for memory.
Anki Integration
2 years ago by Noah Boos AKA Rift
Create flashcards from your notes with a seamless interface, structuring them with metadata and syncing effortlessly via AnkiConnect.
Zhongwen Reader
a year ago by natipt
This is a Chinese hover dictionary and vocabulary-building plugin for ObsidianMD.
Come Through
a year ago by mntno
An Obsidian plugin for creating and reviewing flashcards.
Vault LLM Assistant
a year ago by Brians Tjipto
An obsidian notebook plugin that uses LLM (OpenAI or Gemini) to answer questions and create new notes about your vault
OpenWords
a year ago by insile
用于英语学习中背单词与单词管理的 Obsidian 插件
Simple Anki Sync
a year ago by Lukas Mayr
deepseek-ai-assistant
a year ago by algernon
Publish Note to Mowen Note
a year ago by ziyou
This is a mowen plugin for Obsidian (https://obsidian.md)
AI Companion
10 months ago by Kowshik
An Obsidian plugin that provides AI assistance using OpenAI's API, triggered by the `/ai` slash command.
Dictionary Lexicon
8 months ago by Alvin
Look up words and improve vocabulary by using flash card style cards.
Anki Helper
8 months ago by Dusk
Decks
8 months ago by Xherdi Lika
An Obsidian Flashcards plugin
Cornell Marginalia
5 months ago by Latazadehomero
A lightweight Obsidian plugin designed for students who use the Cornell Note-taking System.
Agent Client
5 months ago by rait-09
Bring AI agents into Obsidian via Agent Client Protocol (ACP), such as Claude Code, Codex and Gemini CLI.
SystemSculpt AI
4 months ago by systemsculpt
Enhance your Obsidian App experience with AI-powered tools for note-taking, task management, and much, MUCH more.
Codex Panel
3 months ago by murashit
Codex in your sidebar. ChatGPT Work for your Obsidian vault.
LLM Hub
3 months ago by TAKESHI MORITA
Obsidian plugin for AI chat, workflow automation, and semantic search — supports Gemini, OpenAI, OpenRouter, Grok, Ollama, and CLI backends
Claudian Plus
3 months ago by wuyifan-code
Gemini Helper
3 months ago by TAKESHI MORITA
AI chat, workflow automation, semantic search (RAG), LLM Wiki (OKF) powered by Google Gemini. Works on both desktop and mobile.
Easy Recall
2 months ago by Geno Zhou