Anki is a spaced repetition flashcard program. It schedules reviews of flashcards based on an algorithm that spaces out repetitions as you demonstrate you know the material, so you spend less time re-reviewing things you already remember well. This repo holds the source code for the desktop version, built with a Rust backend and used by students, language learners, medical professionals, and anyone memorizing large amounts of factual material.
The project has been around for years and has a large ecosystem of add-ons, shared decks, and companion apps (AnkiDroid, AnkiMobile, AnkiWeb) built around the same card format and scheduling logic. If you're evaluating Anki as a developer, this repo is where the core scheduler, card rendering, and sync logic live.
Anki fits anyone who needs to memorize discrete facts over the long term: language vocabulary, medical or legal terminology, exam content, or trivia. It's also a reasonable base if you want to build a custom study tool and need a proven spaced repetition engine rather than writing your own.
It's not a good fit if you're looking for a general note-taking or knowledge-management tool, or if your material doesn't break down into discrete question/answer style facts. If you want something with a polished, drag-and-drop deck builder out of the box and no interest in code, downloading the pre-built app from the Anki website is a better fit than working with this source repo directly.
Developers who want to modify scheduling behavior, build custom sync servers, or contribute add-ons will get the most value from this repository. Casual users who just want the app should install the compiled binaries instead of building from source.
This repository is the source code for the desktop client, aimed at contributors and developers who want to build Anki themselves. The README points to two docs for setup:
If you just want to use Anki without building it, download a pre-built release from the Anki website or try a development build if you want newer features before they're finalized.
For building from source, you'll generally need:
# Clone the repository
git clone https://github.com/ankitects/anki.git
cd anki
# Follow the detailed build steps in docs/development.md,
# which cover the Rust toolchain, Python requirements,
# and platform-specific dependencies.
Check docs/development.md in the repo for the exact toolchain versions and platform notes, since build requirements vary by OS.