LearnKit

by William Guy
5
4
3
2
1
Score: 60/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

  • Ana Rosa Amorim
    Reviewed on Oct 27th, 2026
    The best plugin for studying and learning.
  • 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

183
stars
29,495
downloads
13
forks
142
days
13
days
28
days
104
total PRs
10
open PRs
39
closed PRs
55
merged PRs
116
total issues
10
open issues
106
closed issues
634
commits

Latest Version

a month ago

Changelog

Release Date

2026-10-16

Summary

Version 1.8.6 fixes Anki import for exports made by Anki 2.1.62 and later, removes !important from the stylesheet in favour of a LearnKit-owned blur token, keeps preferences out of browser storage, and finishes the Sprout -> LearnKit rename across the UI, translations and payload markers. It also carries a large amount of internal work from the community-plugin review: the accessibility/API findings, the bundle size, and the build verification.


What's Changed

1.8.6 is 1.8.5 re-released under a fresh version number. 1.8.5's release was re-pointed while it was being set up, which left the community scan reading an inconsistent release; 1.8.6 gives it a clean target with the tag, manifest version and title all agreeing. No functional change.

Fixed

  • Anki import of a modern .apkg. An export from Anki 2.1.62+ carries the real collection in collection.anki21b (zstd-compressed SQLite) alongside a legacy collection.anki2 that contains only Anki's placeholder note ("Please update to the latest Anki version, then import the .colpkg/.apkg file again."). The importer read the first collection-like name in ZIP order, so that placeholder imported as one card. Databases are now ranked newest-first and the zstd container is inflated; a collection whose only note is Anki's placeholder is refused with an explanation instead of being imported.
  • Blur in translucent windows no longer needs !important. Every LearnKit surface reads var(--learnkit-blur, var(--blur-m, blur(14px))), and body.is-translucent switches --learnkit-blur to none. Identical result to 1.8.4, without an override flag that host themes would have to fight.
  • Nothing is written to browser storage. Preferences and caches moved fully into the plugin's own data file.
  • The custom-CSS hint in all seven languages pointed at .sprout-pretty-card.sprout-macro-custom, which no longer exists. It now names the real hooks: .learnkit-pretty-card.learnkit-macro-custom.

Changed

  • The last of the "Sprout" naming is gone from identifiers, UI text, CSS classes, translation keys and internal markers. Markers that match data written by older versions (sprout- card anchors, IO image filenames, legacy view types, pre-rebrand storage keys) are intentionally kept so existing vaults keep resolving.
  • npm ci installs cleanly again, and the release build verifies from the source archive exactly as the review builds it.

Notes

  • Full changelog: CHANGELOG.md.
  • 1.8.5 failed the Obsidian testing so this is a resubmission. 1.8.5 has subsequently been archived.

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.
Copilot
4 years ago by Logan Yang
Run agents in Obsidian - OpenCode, Codex, Claude Code etc.
Spaced Repetition
6 years ago by Stephen Mwangi
Fight the forgetting curve by reviewing flashcards & entire notes on Obsidian
Agent Client
6 months ago by rait-09
Bring AI agents into Obsidian via Agent Client Protocol (ACP), such as Claude Code, Codex and Gemini CLI.
Flashcards
6 years ago by Alex Colucci
🎴 An Anki plugin for Obsidian.md
Review
6 years ago by ryanjamurphy
Add the current note to a future daily note to remember to review it.
HiNote
2 years ago by Kai
Add comments to highlighted notes, use AI for thinking, and flashcards for memory.
SystemSculpt AI
5 months ago by systemsculpt
Chat with your Obsidian vault using your own Claude Code or Codex on desktop, or hosted AI. Edit notes with approval modes, transcribe audio and find related notes. Free to start.
Cornell Marginalia
6 months ago by Latazadehomero
A lightweight Obsidian plugin designed for students who use the Cornell Note-taking System.
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
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.
Codex Panel
4 months ago by murashit
Codex in your sidebar. ChatGPT Work for your Obsidian vault.
Aosr
4 years ago by linanwx
Aosr is Another Obsidian plugin for Spaced Repetition.
Yanki
2 years ago by Eric Mika
Obsidian plugin to sync flashcards from a folder in your vault to Anki. Pure Markdown syntax. No fuss.
Incremental Writing
6 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.
Repeat
4 years ago by Andre Perunicic
Review notes using periodic or spaced repetition.
Anki Sync
5 years ago by debanjandhar12
Obsidian plugin to make flashcards and sync them to Anki
Recall
6 years ago by Martin Jirlow
A spaced repetition system for Obsidian!
Decks
9 months ago by Xherdi Lika
An Obsidian Flashcards plugin
LLM Hub
4 months ago by TAKESHI MORITA
Obsidian plugin for AI chat, workflow automation, and semantic search — supports Gemini, OpenAI, OpenRouter, Grok, Ollama, and CLI backends
deepseek-ai-assistant
a year ago by algernon
Flashcards LLM
3 years ago by Marco Pampaloni
Use Large Language Models (such as ChatGPT) to automatically generate flashcards from obsidian notes
Note Synchronizer
4 years ago by Songchen Tan
Synchronizes Obsidian notes to Anki in a breeze 💨️
Augmented Canvas
3 years ago by Léopold Szabatura
Supercharge your Obsidian canvas experience with AI features.
Awesome Flashcard
4 years ago by AwesomeDog
Handy Anki integration for Obsidian.
Auto Anki
3 years ago by ad2969
Using AI to automate card creation for Spaced Repetion in Anki
Vocabulary Cards
3 years ago by Eugene Myazin
An easy way to display vocabulary words as flashcards and as a list
braincache
4 years ago by XSPGMike
braincache obsidian plugin
Flashcard Learning
4 years ago by Gaétan Muck
Obsidian plugin. Uses flashcard system to learn things across own notes.
Claudian Plus
3 months ago by wuyifan-code
QB Reader Parser
3 years ago by Jacob Barta
QBReader parsing for quiz bowl answerlines
Flashcard Generator
3 years ago by ChloeDia
Obsidian Plug-in to automatically create a set of questions/answers on your notes !
CAO
2 years ago by Godot
Claude AI for Obsidian
Mochi Cards Exporter
6 years ago by kalbetre
Mochi Cards Exporter Plugin for Obsidian
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
Memorization
3 years ago by Joseph Cochran
Learnie
2 years ago by tankh99
Learnie is an Obsidian plugin that helps to enhance your learning with active recall and spaced repetition.
Ring a secretary
4 years ago by vorotamoroz
Better Recall
2 years ago by FlorianWoelki
A better spaced repetition and recall plugin for Obsidian inspired by Anki.
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.
Simple Anki Sync
a year ago by Lukas Mayr
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.
Spaced everything
2 years ago by Zach Mueller
Obsidian plugin to apply spaced repetition to incrementally develop your notes.
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.
Blue Star
2 years ago by Wang Guoshi
A plugin for Obsidian that generates Anki flashcards in various ways.
MantouAI
3 years ago by Morino Pan
MantouAI—— 让Obsidian变身智能助手
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.
Language Made Easy
a month ago by PandoraReads
Language Made Easy — Immersive language learning for Obsidian. 沉浸式英语学习工作台:阅读时即时查词、FSRS 间隔重复闪卡、字幕同步的视频跟读、AI 智能解析——全部在同一个地方完成
Pick Me
2 months ago by seanishoo
Annotate and ask questions about what you select — in notes and in PDFs — without leaving the page. Annotations live in their own Markdown files; the original document is never modified.
Memodack
2 years ago by Pavlo Kobyliatskyi
Your second language memory tool
Spaced Repetition AI
2 years ago by Belinda Mo, Athena Leong
AI + Spaced Repetition Plugin for Obsidian
Dictionary Lexicon
9 months ago by Alvin
Look up words and improve vocabulary by using flash card style cards.
Deck To Anki
a month ago by 熊猫别熬夜
Deck To Anki 是 Obsidian 中用来快速制作成Anki牌组的插件,通过 AnkiConnect 将笔记推送到 Anki。可以单向同步、更新、修改卡片,以及反向定位到 Obsidian 卡片所在的笔记、标题、块。
FleurPDF
3 months ago by JC5
Smart PDF reading and annotation plugin for Obsidian with AI-powered features
Simple Quiz
2 years ago by Ivan Kalmar
Creating simple quizzes.
Publish Note to Mowen Note
a year ago by ziyou
This is a mowen plugin for Obsidian (https://obsidian.md)
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.
AI Companion
a year ago by Kowshik
An Obsidian plugin that provides AI assistance using OpenAI's API, triggered by the `/ai` slash command.
FleurEPUB
2 months ago by JC5
AI-AnkiSync
2 years ago by goev
OpenWords
a year ago by insile
用于英语学习中背单词与单词管理的 Obsidian 插件
MCQ Tracker
19 days ago by Isaac Friedenson
Extract practice questions from .pdfs into individual .md files, practice questions from your notes, grade answers, and track time, confidence and spaced review in note properties.
Easy Recall
3 months ago by Geno Zhou
Anki Helper
9 months ago by Dusk
hello nemesis
2 years ago by Dian
OsyC
2 months ago by 3yesore