|Initial release||5 October 2006|
2.1.49 / 26 October 2021
|Written in||Python, Rust|
|Operating system||Windows, macOS, Linux, FreeBSD; Android and iOS (special versions)|
|Available in||48 (desktop)/14 (AnkiMobile) languages|
|Type||Flashcard spaced repetition|
Anki (/ˈɒŋkiː/; Japanese: [aŋki]) is a free and open-source flashcard program using spaced repetition, a technique from cognitive science for fast and long-lasting memorization. "Anki" (暗記) is the Japanese word for "memorization".
The SM-2 algorithm, created for SuperMemo in the late 1980s, forms the basis of the spaced repetition methods employed in the program. Anki's implementation of the algorithm has been modified to allow priorities on cards and to show flashcards in order of their urgency.
The cards are presented using HTML and may include text, images, sounds, videos, and LaTeX equations. The decks of cards, along with the user's statistics, are stored in the open SQLite format.
Cards are generated from information stored as "notes". Notes are analogous to database entries and can have an arbitrary number of fields. For example, with respect to learning a language, a note may have the following fields and example entries:
This example illustrates what some programs call a three-sided flashcard, but Anki's model is more general and allows any number of fields to be combined in various cards.
The user can design cards that test the information contained in each note. One card may have a question (expression) and an answer (pronunciation, meaning).
By keeping the separate cards linked to the same fact, spelling mistakes can be adjusted against all cards at the same time, and Anki can ensure that related cards are not shown in too short a spacing.
A special note type allows generation of cloze deletion cards (in Anki 1.2.x, those were ordinary cards with cloze markup added using a tool in the fact editor).
Anki supports synchronization with a free (but proprietary) online service called AnkiWeb. This allows users to keep decks synchronized across multiple computers and to study online or on a cell phone.
There also is a third-party open-source (AGPLv3) AnkiWeb alternative, called ankisyncd, which users can run on their own local computers or servers.
Anki can automatically fill in the reading of Japanese and Chinese text. Since version 0.9.9.8.2, these features are in separate plug-ins.
More than 750 add-ons for Anki are available, often written by third-party developers. They provide support for speech synthesis, enhanced user statistics, image occlusion, incremental reading, more efficient editing and creation of cards through batch editing, modifying the GUI, simplifying import of flashcards from other digital sources, adding an element of gamification, etc.
While Anki's user manual encourages the creation of one's own decks for most material, there is still a large and active database of shared decks that users can download and use. Available decks range from foreign-language decks (often constructed with frequency tables) to geography, physics, biology, chemistry and more. Various medical science decks, often made by multiple users in collaboration, are also available.
Anki's current scheduling algorithm is derived from SM-2 (an older version of the SuperMemo algorithm), though the algorithm has been significantly changed from SM-2 and is also far more configurable. One of the most apparent differences is that while SuperMemo provides users a 6-point grading system (0 through 5, inclusive), Anki only provides at most 4 grades (again, hard, good, and easy). Anki also has significantly changed how review intervals grow and shrink (making many of these aspects of the scheduler configurable through deck options), though the core algorithm is still based on SM-2's concept of ease factors as the primary mechanism of evolving card review intervals.
Anki was originally based on the SM-5 algorithm, but the implementation was found to have seemingly incorrect behaviour (harder cards would have their intervals grow more quickly than easier cards in certain circumstances) leading the authors to switch Anki's algorithm to SM-2 (which was further evolved into the modern Anki algorithm). At the time, this led Elmes to claim that SM-5 and later algorithms were flawed which was strongly rebutted by Piotr Woźniak, the author of SuperMemo. Since then, Elmes has clarified that it is possible that the flaw was due to a bug in their implementation of SM-5 (the SuperMemo website does not describe SM-5 in complete detail), but added that due to licensing requirements Anki will not use any newer versions of the SuperMemo algorithm. The latest SuperMemo algorithm in 2019 is SM-18.
Some Anki users who have experimented with the Anki algorithm and its settings have published configuration recommendations, made add-ons to modify Anki's algorithm, or developed their own separate software.
The following smartphone/tablet and Web clients are available as companions to the desktop version:
The flashcards and learning progress can be synchronized both ways with Anki using AnkiWeb. With AnkiDroid it is possible to have the flashcards read in several languages using text-to-speech (TTS). If a language does not exist in the Android TTS engine (e.g. Russian in the Android version Ice Cream Sandwich), a different TTS engine such as SVOX TTS Classic can be used.
The oldest mention of Anki that the developer Damien Elmes could find in 2011 was dated 5 October 2006, which was thus declared Anki's birthdate.
Version 2.0 was released on 6 October 2012.
Version 2.1 was released on 6 August 2018.
While Anki may primarily be used for language learning or a classroom setting, many have reported other uses for Anki: scientist Michael Nielsen is using it to remember complex topics in a fast-moving field, others are using it to remember memorable quotes, the faces of business partners or medical residents, or to remember business interviewing strategies.
In 2010, Roger Craig obtained the then-all-time record for single-day winnings on the quiz show Jeopardy! after using Anki to memorize a vast number of facts.
Anki is quickly becoming an important resource for many medical students in the US. A study in 2015 at Washington University School of Medicine found that 31% of students who responded to a medical education survey reported using Anki as a study resource. The same study found a positive relationship between the number of unique Anki cards studied and USMLE Step 1 scores in a multi-variate analysis. Some third-party resources, such as Boards and Beyond, have Anki decks based on them.
An unrelated flashcard program called Anki for Palm OS was created by Copera, Inc. (formerly known as Cooperative Computers, Inc.) and released at the PalmSource conference in February 2002. Anki for Palm OS was sold from 2002 to 2006 as a commercial product. In late 2007, Copera, Inc. decided to release Anki for Palm OS as freeware.
AnkiMobile is a paid companion to the free computer program,
AnkiDroid is designed primarily as a tool for reviewing cards created with Anki Desktop, rather than as a complete replacement for it.
AnkiWeb is intended to be used in conjunction with the computer version of Anki. While it is possible to create basic text-only cards and review them using only AnkiWeb,