A native Obsidian plugin for creating and reviewing flashcards using plain Markdown files.
This plugin provides lightweight spaced repetition, deck-based organization, and fast review workflows without relying on external databases or proprietary formats.
- Obsidian-native
- Markdown-only storage
- Minimal but effective spaced repetition
- No external dependencies
- Easy to extend and customize
- Markdown-first flashcards (one file per card)
- Folder and metadata-based decks
- Minimal spaced repetition system
- Command-based creation and review
- Modal-based review experience
- Right-side panel with deck and review overview
- Fully transparent data stored in frontmatter
Create flashcard- Creates a new blank flashcard Markdown file using the default deck and template.Create flashcard selection- Creates a new flashcard with the current editor selection inserted into the Back section and the cursor placed in the Front section.
Review flashcards- Review all flashcards across all decks.Review flashcards due- Review all flashcards that are currently due across all decks.
Each flashcard is a standalone Markdown file with frontmatter metadata and clearly separated front and back sections.
---
type: flashcard
deck: networks
lastReviewed: 2026-02-10T16:31:35.506Z
due: 2026-02-11T16:31:35.506Z
interval: 1
---
## Front
What is a network?
## Back
A group of two ore more devices connected together through wires or witelessly to communicate and/or share resources.
| Property | Type | Description |
|---|---|---|
type |
string | Must be flashcard |
deck |
string | Deck name |
lastReviewed |
datetime | Last review date |
due |
datetime | Next scheduled review |
interval |
number | Review interval in days |
All scheduling logic is stored directly in frontmatter for transparency and manual editing if desired.
- Flashcards are loaded into a review queue
- Due cards are prioritized
- Cards are randomized within their priority group
- The Front is shown first
- The card can be flipped to reveal the Back
- The user selects a difficulty rating
- The card’s interval and due date are updated
Intervals are selected on the Back side only.
| Difficulty | Interval |
|---|---|
| Hard | 1 day |
| Medium | 3 days |
| Easy | 7 days |
Selecting a difficulty updates:
- interval
- due
- lastReviewed
The plugin provides an optional right-side panel with an overview of flashcard activity and list of decks.
- Total number of flashcards
- Total number of flashcards due
- Total number of decks
- List of decks with total cards and total due
- Deck name button - start reviewing all cards in deck
- Rename button - rename deck
- Delete Button - delete deck
The plugin includes a settings tab for configuration.
- Decks root folder - containing all flashcards
- Default deck name - newly created cards are saved
interface FlashcardSettings {
decksRootFolder: string;
defaultDeck: string;
}MIT
