Lemma
approvedby Sabin Pokharel
An Obsidian plugin for creating and reviewing flashcards powered by the FSRS spaced repetition algorithm. - This plugin has not been manually reviewed by Obsidian staff.
Lemma — Flashcards for Obsidian
A modern, FSRS-powered spaced repetition plugin that lives inside your notes.
No separate app. No manual data export. Write, tag, and study directly where your knowledge lives.
Preview
Desktop and mobile · LaTeX math support · Learning analytics · Custom study sessions
Why Lemma?
Most spaced repetition tools require leaving your knowledge base, exporting notes, and managing a secondary database. Lemma embeds spaced repetition directly in Markdown.
Notes are decks. Add
#flashcardsto any note, write cards in plain Markdown, and let FSRS handle scheduling.
| Feature | Lemma | Anki | Standard SR Plugins |
|---|---|---|---|
| Native Markdown workflow | Yes | No | Yes |
| FSRS scheduling | Yes | Yes (addon) | Partial |
| Mobile support | Yes | Yes | Varies |
| LaTeX / rich Markdown | Yes | Yes | Varies |
| Cross-device sync (CouchDB) | Yes | Yes | No |
| Custom study sessions | Yes | Yes | No |
| Zero file clutter | Yes | N/A | Varies |
| Open source | Yes | Yes | Yes |
Features
FSRS Scheduling
Lemma uses FSRS (Free Spaced Repetition Scheduler), a modern scheduling algorithm developed from cognitive science research. It models memory stability and retrievability based on your individual recall patterns.
Cards Live in Notes
Write flashcards directly in any Markdown note without imports or app switching.
---card--- ^fsrs-abc123
What is the powerhouse of the cell?
---
**Mitochondria** — produces ATP through cellular respiration.
Cloze Deletions
The ==c1::mitochondria== is the powerhouse of the ==c2::cell==.
Each cloze deletion is scheduled independently.
Dashboard View
View all decks in a single overview with due counts, new cards, and total reviewed.
Custom Study Sessions
Filter review queues by tag, card state (new, learning, due), or configure a card limit for targeted study and exam preparation.
Review Statistics
Analyze learning progress with retention curves, card maturity distribution, interval histograms, 30-day activity, and 7-day forecast charts.
Mobile Support
Responsive review interface designed for desktop and mobile, with safe-area insets and touch-optimized navigation.
Optional CouchDB Sync
Connect to self-hosted CouchDB or Cloudant instances to sync review history seamlessly across devices.
Quick Start
- Install from Community Plugins: search for Lemma.
- Add
#flashcardsto any note's frontmatter or inline:
---
tags: [flashcards]
---
- Write a card:
---card--- ^my-first-card
What is spaced repetition?
---
A learning technique that schedules reviews at increasing intervals to maximize long-term retention.
- Open the Lemma dashboard from the status bar or Command Palette (Open dashboard).
Full syntax documentation: FLASHCARD_GUIDE.md
Card Formats
Basic Cards
---card--- ^unique-id
Front content (question)
---
Back content (answer with **Markdown**, $LaTeX$, and images)
Single-Line Cards
Question::Answer ^single-001
Reversed Question:::Reversed Answer ^rev-001
Cloze Deletion Cards
The ==c1::Ebbinghaus== forgetting curve shows memory decays without ==c2::repetition==.
[!TIP] Add a
^block-idto any card so review history persists across content edits.
Keyboard Shortcuts
| Key | Action |
|---|---|
Space / Enter | Reveal answer |
1 | Again |
2 | Hard |
3 | Good |
4 | Easy |
Esc | Exit session |
Commands
| Command | Description |
|---|---|
Add a new flashcard | Insert a card template with a pre-generated block ID |
Add a single-line card | Insert a single-line card template |
Add a reversed card | Insert a bidirectional card template |
Add a cloze card | Insert a cloze deletion template |
Create cloze from selection | Wrap selected text in cloze syntax |
Open dashboard | Open the Lemma deck overview |
Sync now | Trigger a manual CouchDB sync |
Check sync status | View sync connection status |
Review due notes | Start whole-note review session |
Reset all card progress | Reset all scheduling data |
Settings
| Setting | Description |
|---|---|
| Deck tag | Tag identifying deck files (default: flashcards) |
| Max new cards/day | Daily limit on new card introductions |
| Max reviews/day | Daily limit on review cards |
| Review font size | Font size in the review modal |
| FSRS parameters | Algorithm weights and retention target configuration |
| PouchDB storage | IndexedDB storage engine for collections |
| Sync | CouchDB connection and credential settings |
Installation
Community Plugin Directory
- Open Settings → Community plugins
- Click Browse and search for Lemma
- Select Install, then Enable
Manual Installation
- Download
main.js,manifest.json, andstyles.cssfrom the latest release - Copy the files into:
<vault>/.obsidian/plugins/lemma-flashcards/ - Reload Obsidian and enable the plugin under Settings → Community plugins
Contributing
Contributions, bug reports, and feature requests are welcome.
- Issue tracker: GitHub issues
- Pull requests: Open a pull request against
main
License
ISC License — see LICENSE for details.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.