Skip to content

Anki Review

Anki Icon

Anki is an open source flashcard application with full support for interval study that is available for Mac OS X, Linux, and Windows. Anki ain’t pretty but it has a lot going for it under the lid, offering language learners a powerful environment for reviewing large bodies of vocabulary over the long-term. Other flashcard application developers ought to have a good look at the many features this application has to offer, some of which can be found in more professional Windows flashcard applications but which in many cases have not made their way into OS X flashcard applications.

UPDATE: Anki has gone through many updates since I composed this review in mid 2008. In early 2009 I adopted Anki as my personal flashcard application of choice and later wrote a posting on why I believe it is currently far ahead of its competitors and the Fool’s official favorite. Read more at: Anki All the Way

Anki’s strongest areas are in the many statistics it provides, its tagging features, its strong interval study centered approach, and its “card model” approach. Anki’s biggest weaknesses are to be found in the overall program design, its complete absence of set management features (in favor of a tags-only approach), relatively poor list overview and editing features, and the fact that it does not allow the review of vocabulary on demand. If your goal is long-term mastery of vocabulary and you are willing to get past some of its quirky behavior, this program can serve you very well. If you want a familiar Mac OS X design with a simple “enter and review” interface, then this may not be the best program for you. I would keep an eye on the further development of Anki, which is available under the GPL license, since future versions may resolve many of the issues discussed in this review (bolded text highlights problems). Read on for more details.

Application Name: Anki
Version Reviewed:
Software License: Free, open source (GPL)
Review Date: 2008.04.28
OS Tested: Mac OS X

Note: See the Terms page for an explanation of the technical terms used in these reviews. See the Basics page for a list of basic features found in flashcard applications useful to language learners.

Structure: Deck-Model-Card Model-Card-Fact

Anki takes an interesting and overall effective approach to organizing information for students to study. It uses the word “deck” to refer to a set You can only have one deck open at a time and the last open deck is automatically opened upon launching the application. What I call a card Anki calls a “fact” while what Anki calls a “card” is a particular way of reviewing a “fact” such that the same “fact” can have multiple “cards” depending on its direction of study and the fields displayed on each side.

Each deck contains one or more “models” which corresponds to a field template. It supports more than two fields and has full support for non-Roman script languages. The deck models, in turn, each have one or more “card models” which determines the various directions of study and fields which are displayed when any individual “fact” is reviewed. For example, one card model might show the Chinese pronunciation on one side, and the Chinese character and English on the other side. Another card model might show the English on the front of the card, and the Chinese pronunciation and character on the back. By using this approach, which allows you to automatically create separate “cards” or directions of study for each “fact” you enter into your deck, Anki promotes both active and passive mastery which it calls “production” and “recognition,” respectively.

Deck Properties: Through this menu item you can give a description for your deck, synchronize it online for review online or on another computer, designate certain tags so that cards of matching tags will be given higher or lower priority when being studied (high priority cards appear at the top of a study queue), modify the TTF Schedule, and manage the available models for the deck.

Model Properties:Through this menu item can name your models, assign them comma separated tags, give them a description, and determine delays in seconds between different cards corresponding to the same fact. You can assign it multiple fields, and optionally require these fields to be unique, required, or numeric. You can customize the font and display features of the various models in your deck through the “Display Properties” menu item.

Creating Entries

Although the menu item and button used to add new entries is called “Add Cards” you are actually adding “facts” to your deck. Each time you enter a “fact” into your deck, it may create one or more cards, depending on the model you choose for your new entry. By default, the last chosen model will be used when you add a new card. The new “facts” are entered in a separate editing menu, which allows you to designate the model, the card models (and thus the number of cards created for that fact), and tags for the entry. It has large editing boxes where you can then add information into each of the fields for the fact. Every field is potentially rich text and also supports the import of images, sounds, and latex tagged text. Shortcuts are listed to the right but on the Mac OS X the “Ctrl” shortcuts correspond to the Command key, not the Control key. You can add new entries entirely form the keyboard, adding new entries with Command-Return. The input source is not remembered across cards so you have to constantly change keyboards when working with non-Roman script vocabulary.

The main developer probably has studied Japanese and possibly Chinese as there is automatic lookup of the pronunciation of Japanese and Chinese characters in those included models. The possible pronunciation of words is put into the appropriate field.

Editing Entries

In addition to the separate fact editing window, there is an “Edit Deck” window which offers gives an overview of the card list. Note that the card list shows all cards, not the “facts” they are based on. The fields of a card don’t necessarily have their own column in this table but are shown lumped together as they will appear together on the card in question. A smaller editing window below can be used to make quick edits of existing information. If you edit a “card” that is visible in the list, you are actually editing the original “fact” and all other cards based on the fact will be changed automatically. However, the changes made are not immediately updated in the card list. You have to close the editing window and open it again to reflect the changes in the card list. The card list can be filtered by tag, or sorted by various card fields and statistics. However, the only column shown in the overview besides the fields displayed in any given card is a column showing the time to next review and you must click on a card to view all its information in the corner of the window. There are no column headers, no drag and dropping, and you cannot choose what columns to show or hide. In the editing mode you can add tags to multiple cards or multiple facts (and therefore all of its cards), mark cards for deletion, and reset its interval score. You cannot edit cards while studying them through the graded slideshow, they must be edited in the card list window. It is also difficult to delete cards, you cannot simply press the “delete” key. Instead you must mark a card for deletion and then it will be deleted the next time you close the deck or quit the application.

Reviewing Cards and Interval Study

Anki is developed from the ground up as an interval study application. It implements one of the algorithms found in the pioneering interval study application SuperMemo (SM2). When you launch the application, any cards that are due immediately appear for study. Interval study should indeed be the primary method of study for students in the long-term but often times a language student will want to review a particular group of words in preparation for a test or just to refresh certain vocabulary. As far as I can tell Anki offers no way to study cards on demand. If cards are not due, they don’t appear for study, and if they don’t appear for study you can’t study them unless you reset their interval score. There is also no cycle elimination, so words that are marked incorrect do not immediately continue to cycle through so that they can be quickly reinforced for future reviews. This is a deal-breaker for many users and unless this is fixed in future versions it will be hard to recommend Anki to anyone but the most hard-core interval study fans.

All study in Anki is done through a graded slideshow. This is an excellent choice and best for language learners in the long-run. The fields shown on the front and the back of the card are determined by the card model for that card. To display the back of the card you can press spacebar or return. Sometimes however, the default button becomes deselected and you have to click it with your mouse, an annoying bug. Instead of simply having the option to mark a word correct or incorrect, you can designate a card as “completely forgotten” (the interval score is reset), “Made a mistake,” and three other options which each increment the interval score of a card: “difficult,” “about right,” and “easy.” There are two very interesting aspects of interval study in Anki: 1) The next due date for each is shown to the right of the button and, interestingly, there is not one fixed day in the future, a random day or hour will be chosen within a certain range. This feature helps to spread out cards and not overwhelm the learner when they come back to review in the future. 2) Cards are not all treated as equal. Depending on how easy you marked the card, its next interval is made larger or smaller. This means that some cards can jump very quickly into the higher interval score range while the more difficult words will still increase in interval but at a slower rate. My limited testing shows that this works very well.

Anki offers excellent flexibility in interval study. You can reset the interval score of any card but you cannot tweak the intervals for each card directly like you can in some applications. However, you can set the default starting intervals for “hard,” “medium” and “easy” cards (by default these are .3-.5 days, 3-5 days, and 7-9 days, respectively). You can also set the amount of time until a card marked incorrect is shown again, separately determined for totally forgotten cards, “young” cards that you have gotten correct a few times and “mature” cards you should know well. Intervals thereafter seem to increment at reasonable rates.

If there are multiple cards for a given fact, French to English and English to French, for example, on two separate cards, then these do not get reviewed in close succession, with the delay determined by the model properties. If you have just answered a card from French to English, then you will very likely get the same word correct when asked to go from English to French if you see it very soon after, therefore the feedback you give will not accurately reflect whether or not you really know the word well in the opposite direction. Anki, by default, spaces these cards coming from the same facts out, forcing you to depend less on short-term memory. This is on of Anki’s most interesting and effective features that I have not seen in any other OS X applications.

You can “Suspend” cards by giving them a special suspension tag and this will remove them from the interval study pile until you delete the tag in question. Tags can also be used to force Anki to put high priority words at the top of the queue when you have a lot of words to learn.


Many developers make an attempt to include some statistics on study but they often don’t think through what will be useful to a learner engaged in interval study. There is no other OS X application I have come across which comes anywhere close to the rich amount of statistics available to the learner, displayed both numerically and in colorful charts.

When studying your cards you can see how many words you got wrong, how many are remaining, the estimated time it will take to complete cards in the queue. The main deck window also has two bars which show less useful “daily recall” statistics (% correct answers for today) and a more useful “retention” bar which gives you an overview of how you are doing overall in your interval study. If you click the “Card statistics” button while studying a card, it will show you when it was added, first reviewed, changed, next due, its current interval, the last interval, the current “factor,” the last factor, the review count, the correct count, how many times you repeatedly got it correct, the average time it took to answer the card, and the total time, the state of the card (new, young, mature). Unfortunately a far smaller set of statistics about individual cards is available in the card list overview when you click on a card and I don’t know why the developer doesn’t offer the same rich data there as well.

When you are viewing the deck as a whole you can view a whole range of statistics related to the deck (card counts, correct answer statistics, and average interval, average workload in cards/day, and average cards added per day/month. All of this helps the learner evaluate their long-term language patterns. Students of Japanese have an added bonus feature by choosing “Kanji statistics” from the Tools menu which will show how many Kanji characters of each level of difficulty are included.

The most impressive aspect of the statistical features of Anki, however, are the graphs provided. While they may take a while to load (a minute or more), you can view how many cards are coming due in upcoming days which is great for students wanting to estimate how much time they will need. If a learner is planning to go on vacation for a few weeks, they can also see how many cumulative cards will be due over time assuming no study is done. There are also graphs for card intervals, added cards, card difficulty, etc.


Good flashcard applications all provide a way to quickly get data in and out of the application so that if learners already have a large database of words they can easily adopt the use of the application or if, for example, the software one day becomes obsolete, to abandon the software in favor of a better alternative. Anki provides import from tab or semi-colon delimited files. These can be tied to certain sides of a card model, and optionally tags can be added to all entries imported from a file. The export feature will create tab delimited files and you can choose whether you want to export “facts” or all “cards.”

Extendability and Integration

I haven’t had a chance to try them out but Anki also supports synchronization via an online account and there is freeware Palm pilot software out there for reviewing your Anki cards on the go. It also has a plugin structure which allows the program to be expanded in various ways.

Disadvantages and Criticism

In addition to some of the specific problems mentioned above, there are some major problems that I want to emphasize with Anki. As mentioned above, there are no study on demand capabilities in the application. This is a severely crippling problem that needs to be addressed in future releases to widen the appeal of the software.

Another major weakness of the program is that there are no set management features at all. Increasingly flaschard developers are choosing some version of iTunes style organization system which allows users to easily browse through many sets they have inside a single flaschard file. Some provide the ability to put these sets into folders. Anki has chosen to forgo this ability and rely completely on tags to organize cards. However, while this is an admirable bonus, it is a poor substitute for providing a way to manage seperate sets. If the developer is convinced tags is the way to go, then they should provide a way to view lists of tags just as if they were sets, clicking on them to show the cards that have been given that tag.

Another major complaint I have with this software is its overall poor design. This is partly due to the fact that it looks and feels like a Java application that is targeted for multiple platforms. In general I’m thankful that I have encountered as few issues as I have with Anki since many of these multi-platform applications are prone to all sorts of errors. In this case, it is mostly a design issue rather than a crippling of performance. However, as a result Anki has a lot of GUI elements that do not have the look and feel that users expect in a OS X application. Here are some examples:

1. Show preview in fonts and colors is a regular button but shows and hides a panel
2. Drop down menus for Facts and Cards when they look like regular buttons
3. Columns are sorted by a drop down menu rather than by clicking on the column header (there isn’t one)
4. No select all in edit menu.
5. No copy/paste in edit menu – but it works anyways when editing cards
6. Application quits if you happen to close the main window
7. You can’t get the opening screen options if there are cards to be reviewed without closing the deck.
8. Overall poor handling of table data.

Other minor bugs and annoyances not mentioned above:

1. When you open a file it opens directly into interval study, hiding the opening screen that has various useful options.
2. When you ask for model properties, you get whatever model is on top, rather the model attached to the highlighted card, or an overview of models in the deck.
3. There is no offline help
4. When I reset interval stats for all cards, it told me “The next qeustion will be shown in -55 seconds” when I tried to reset one card, it wasn’t immediately reflected in the main study window. Apparently there are some bugs in the way stats are reflected.

Fool’s Final Word

Anki has an impressive range of features with a solid, advanced, and flexible implementation of interval study. With some attention to design details and the introduction on study on demand, Anki could become a real leader in this field. The fact the application is free and open source is truly commendable and I encourage everyone to make a donation to support their further development. At the very least, it will help set the standard for many features in flashcard study and inspire other developers.

Import: Tab or semi-colon delimited
Export: Tab delimited
Non-Roman Scripts: No problem
Modes of Study: Graded slideshow
Media and Frills: Images, sound, rich text

Entry Creation: 8/10 (Ctrl=command, keyboard input not remembered)
Entry Editing: 5/10 (Poor table interface, no live updating, no edit during study, clunky delete)
Set Organization: 3/10 (Tag organization only, no set organization)
Flashcard Study: 4/10 (Excellent cards, but no study on demand, no cycle elimination)
Interval Study: 9/10 (Powerful and flexible but no direct interval score editing)
Formatting: 9/10 (Slightly clunky and overwhelming but flexible)
Design and Feel: 5/10 (Mac users are all xenophobes. Drop-down menus from rounded buttons? You ain’t from around these parts)
Statistics: 10/10 (Best I’ve seen)

Golden Coxcombs: 7.5/10

Other Substantial Reviews:
Anki vs. Mnemosyne vs. Supermemo


  1. admin wrote:

    I received an email from the developer responding to the review and he gave me permission to post our exchange:

    You’re right when you say that Mac users are xenophobes! I guess that anysoftware which works on a Mac will be judged in comparison to other softwareon a Mac, but I think it’s a bit unfair to say “it feels like a(cross-platform) Java application” and attribute that to bad design.Cross-platform development is difficult as each platform has differentusability guidelines, and the Mac platform is considerably different fromLinux and Win32. Making Anki behave like a single-platform application onevery platform would greatly increase the amount of work I’d have to do, andmy time to work on Anki is limited. Also, I don’t even own a Macintosh.

    I distribute Anki on the Mac as well because people have requested a Macintoshversion. I know it doesn’t meet all the Mac user interface guidelines (thecross-platform GUI toolkit I use is immature on the Mac which doesn’t help),but I figure that having a version with a (in the eyes of a Mac user) clunkyinterface available is better than having no Mac version available at all.

    Some of the other points you bring up:

    – I’m not sure if it’s possible to remember the input source in a cross-platform way.

    – The edit window used to automatically update in real time, but some people complained about flickering, so I disabled it.

    – Cards are deleted when you close the edit window. They’re not deleted immediately to save accidental deletion. Having a ‘del’ shortcut would be nice. File a bug report so I don’t forget 🙂

    – ‘Study on demand’ is against the principles of a spaced repetition system. The whole idea of spaced repetition is that memories strengthen by allowing them to partly fade before they are exercised. Allowing users to study groups of facts they felt a little uncomfortable with would be counter-productive. Rather than let the user do something which won’t help them, Anki doesn’t make it possible. Perhaps better education should go along side this.

    – I don’t agree that there is no ‘cycle elimination’ – that’s exactly how failing cards works. By default there is a 10 or 20 minute delay before the cards show up (again, because waiting actually forces the memories to become stronger), but if you hit the default limit of 20 failed cards, the oldest will be shown again. These numbers are of course all adjustable.

    – I don’t see why users should need to be able to tweak individual card intervals. If they have to manually input intervals the system is not working.

    – The stats in the edit deck window are smaller due to reasons of screen real-estate. If you have a better idea for the layout, mock it up in an image and post to the forum so people can discuss it.

    – You brought up the lack of ‘set management’ and say that a lack of study on demand is crippling. I don’t agree. There are basically two models of flashcard programs out there:

    stacks/vtrain/etc: let the user do what they wantsupermemo: decide what’s best for the user

    Anki errs closer to the latter, because frankly as humans we’re notparticularly good at judging our own memories. It’s hard to suppress thedesire to run over something ‘one more time’ in order to make it stick better,despite the fact that research shows this is pretty ineffective. I’m all forgiving power to the user if I believe it will help them, but I’m reallyunconvinced of the value of “let me choose a group of words to study outsideof the usual spaced repetition system”. The only argument for this is when youare studying under external pressure such as looming exams.


    Wednesday, April 30, 2008 at 8:31 am | Permalink
  2. admin wrote:

    Here was my response to Damien:

    The design issues are of course difficult due in the multi-platform approach. I sympathize, and personally don’t think they are a big deal, but I’m writing from perspective of a mac user comparing the app to other mac apps. Some of your other points are minor disagreements between us on approach but some I feel strongly about.

    You are writing from the perspective of a developer following one approach that is out there in other software. I write as a reviewer from the perspective of someone who has done daily flashcard study for 14 years in three Asian languages, has been surrounded by students doing flashcard study in a dozen different ways, and as someone who wrote an amateur spaced repetition application based on my own method started with regular paper and boxes many years ago.

    From my point of view, whatever frills a flashcard app has these are the absolute minimum expectations:

    -fast and easy entry (Anki is not bad at all)
    -easy editing and organization of entries (Clunky but works)
    -graded slideshow method (Excellent)
    -study on demand (None)
    -interval study (Excellent)
    -cycle elimination supported in both study on demand and interval study (None)

    Until an app has all those features, it isn’t anywhere near ready for prime time and will fail to satisfy the vast majority of language learners, most of whom are taking language classes and are frequently preparing for quizzes, tests, in-class debates and presentations. Most fly-by-night flashcard applications only tend to these short-term needs. Your more advanced program only tends to their very long-term needs and ignores their real and justified desire to review a group of words when they want. Reviewing any group of words, at any time, is never a bad thing. Complementing such necessary short-term study with interval study, makes it much better.

    I’m not going to sit around and wait for my flashcard application to tell me that only now is it ok to review this or that word. If I sit down for my daily study, and interval study only prompts me to study 20 words, then I use the remaining time available to review another 100 or 200 words I’m weak at. Any flashcard app which denies the user this will eventually get tossed by most users or force them, inefficiently, to use more than one app.

    Most students have never heard of spaced repetition or interval study. My goal is to give them a flexible environment where they can study in a familiar way and eventually realize that complementing it by a long-term system of memory management also available in the same software can be great for their future maintenance of language skills.

    Lack of set management is crippling but your tag approach is consistent with denying students study on demand. Denying them study on demand, however, is fatal, no ifs ands or buts.

    Cycle elimination is an absolute MUST – it must only save interval score increments/decrements on the first cycle, then allow them to continue seeing the word as many times as necessary until they get it correct at least once. Then you can do things like delaying 10 minutes or whatever you like. This ain’t rocket science, it is good old fashioned flashcard study and it really works.

    I really admire some of the implementation of features in Anki and look forward to seeing its continued dev!

    Wednesday, April 30, 2008 at 8:32 am | Permalink
  3. John B wrote:

    “Denying them study on demand, however, is fatal, no ifs ands or buts.”

    This entire review smacks me as very conceited. How exactly did you become the final arbiter of what flashcards need or don’t need?

    Given that Anki isn’t commercial software, but rather an open project done by Damien in his spare time, I don’t see the lack of any one feature “killing” Anki — if people really want it they’ll go to some other software that allows for it, or — gasp! — write a plugin that allows it in Anki.

    Why are students trying to use spaced repetition at all if they’re clamoring for inefficient “cram” review sessions anyway? The whole point of the algorithm is so that you don’t need this sort of “study on demand” feature — the timing is taken care of, at intervals that lead to maximum retention with minimum work.

    Tuesday, May 13, 2008 at 4:29 pm | Permalink
  4. K. M. Lawson wrote:

    I’m sorry you found my review of Anki at Fool’s Flashcard Review to be “conceited.” Writing reviews of software and making judgments about it, even when it is by someone qualified to do so will always be an exercise in a form of arrogance.

    Ironically, you have criticized my being the “final arbiter” in my criticism of Anki’s lack of a crucial feature that my research and experience as a teacher and learner show is essential for the application to appeal to most language learners: study on demand. In a sense, not including that feature made Anki the “final arbiter” on how students should study. Asking users to write a plugin for it is disingenuous. Being able to modify the software doesn’t make it immune from criticism for its existing deficiencies or somehow exempt from review by other people who stack it up against competing software for the same group of learners.

    I’m happy if Anki meets your needs, much worse software without any spaced repetition has met the needs of many learners. However, I’m writing reviews for language learners based on what my experience and own research in this topic suggest are a basic feature set that will appeal to the largest number of students. My goal is to spur developers to improve their product and thereby give language learners the benefits of that development.

    Oh, you may notice that Anki has, as of this writing, the highest scores I have given out so far in a review. It has a lot of promise!

    Tuesday, May 13, 2008 at 7:31 pm | Permalink
  5. Larry wrote:

    I have to agree w/ Lawson. As a student and teacher for over 50 years, I usually have a pretty good clue of what I need to study and when. And my students are usually also good at that determination.

    Monday, May 19, 2008 at 8:43 pm | Permalink
  6. Hey Lawson,

    A nice coincidence to run into you at Starbucks. I am so glad to have found a site like this– definitely an important source of wisdom for language learners. Anyway, thought I would chip in my two cents:

    I started using Anki 3 months ago, and now have input roughly ~2000 facts (4000 cards). I have never used any other software. The vast majority (~80%) of these facts were not added in order to prepare for a quiz or test. Rather, they were words I ran into during conversation with my Chinese roomate or friends, words I came across in literature, or words I saw in movies/on television. In fact, I often neglected classwork in order to review this ‘random’ assortment of vocabulary. For learners who attach a great deal of importance to the grades they earn while studying, this method is less than ideal. However, I personally believe that grades are unworthy of emphasis, particularly when studying a language. I have faith that with abundant enthusiasm and dedication, mastery will come naturally (and then so will grades). For me, it is difficult to conjure up said enthusiasm when confronting the words which the creator of my class textbook happened to decide I should study. Which isn’t to say that I don’t study them. I do– but just not with any special emphasis. And so I find no need to have study on demand. I believe that all the words in my database are equally important. Also, spaced repetition has thus far proven to be an excellent and reliable method for learning all of them. I don’t get the feeling that I need to micro-manage my study content– Anki’s algorithm seems to work wonderfully.

    With regards to input methods– I don’t know whether mine is rather unusual. I first input the words in Wenlin, (hanzi and pinyin with tone marks (I can’t tolerate numbers for tones)), and then once I am ready, which may not be right away, I copy them over into Anki and begin reviewing. This process of copying and pasting may be slightly slow– but I like it a lot– especially because Wenlin is my primary source for definitions. Do most people just read the definitions out of their class text books?

    I’m not sure I fully understand what you mean by ‘cycle elimination.’ Are you saying you want to be presented the same exact card repeatedly (instead of every 10 minutes) until you feel like you can say ‘yes i know it?’ If so, I haven’t tried this– but it seems like It would be impossible to forget a card when no time has elapsed… Yah maybe I don’t understand what you are saying…

    Finally, I may very well be naive in saying this– but I have no major complaints about Anki. It has worked really well for me– and I don’t find myself wanting any of the features you describe it as missing. All I want is an iPhone/Touch version.

    Look forward to your thoughts/criticisms!

    Monday, June 9, 2008 at 7:20 am | Permalink
  7. K. M. Lawson wrote:

    Hey Andrew,

    I’m really glad Anki is working well for you. Wenlin is certainly the best software tool out there (despite the ancient look) for Chinese language learners to work with. I have been a faithful user of Wenlin since 1999.

    I see that the program meets your needs, which is fine. Keep in mind that Anki has gotten the highest praise of any review so far so my criticism is in the hope that it will continue to improve in future. However, I would venture to say that you are probably in the minority in terms of the way you do things. Think of the thousands of students in language programs around the world who are learning out of textbooks who are inputting terms directly from a glossary, etc. In my case, I type them directly from books I read in Korean, Chinese, or Japanese into my vocab software. In the case of Chinese, I often copy and paste from Wenlin, but when a student inputs from a glossary they will probably type directly from a textbook (there are numerous ways of inputting tones without the numbers).

    You (and I) may not care about grades and tests because we are not affected by them, but a great many students, if not the vast majority, are learning words as they go along in a class and must also think about their immediate study needs. I strongly believe a good flashcard program should make an effort to meet their needs, or accept its place as meeting a small niche of the potential demand for the product.

    I fully agree spaced repetition is a must and should be the primary mode of study (I have done it almost every day for most of the past decade, in three languages), which is why I practically dismiss any software that fails to include it. However, for broader appeal, a flashcard program really should not neglect the vast majority of students who are in classes/programs where short-term needs for review on demand are also required.

    Cycle elimination is a must and one of the big things missing from Anki. When you go through, say, 50 cards, and you had forgotten 10 of those cards – do you remember all ten of those cards after being shown the answer just once? If so, you have a remarkable memory. Even after being shown the answer, I will forget many of them, especially if there are many forgotten words out of the total reviewed, and need to continue “cycling” through the cards I got incorrect until I remember them all. You aren’t being shown a card over and over again immediately after, but each time you have “cycled through” all the remaining incorrect cards. This is borderline common sense and almost all flashcard programs (even the worst) do this. I’m really shocked at this absence in Anki.

    Think about how you memorize a group of paper flashcards: you cycle through the cards practicing them and, as you memorize them, you put the card to one side. Eventually you have put all the cards aside and you remember them all. That is cycle elimination. You eliminate known cards each time you cycle through, repeating only unknown cards. I don’t want to wait 10 minutes! I want to learn an unkown card now, not in 10 minutes! How many times am I supposed to boot up my flashcard program? If I don’t remember it now, why should I remember it in 10 minutes?

    Anki has some great things going for it and I’m very happy it works for you, but it will not meet the needs of a very large number of language students without cycle elimination and study on demand.

    Monday, June 9, 2008 at 9:01 am | Permalink
  8. Damien Elmes wrote:

    Just returning to this review, I’m perplexed at why you’re still claiming Anki doesn’t have ‘cycle elimination’. It will launch into this automatically if you have more than the set number of failed cards, and will also do this when you run out of other things to study.

    Thursday, August 21, 2008 at 3:49 pm | Permalink
  9. Dennis Huang wrote:

    I think both Damien and Lawson have valid points. I have been using iFlash (MacOS), and I am trying to find a cross-platform flashcard program. I like Anki, for its detailed statistics, as well as its implementation of spaced repetition.

    I agree with Damien in that “Cycle elimination” feature is indeed present in Anki, although it is not specifically named in anyway. Basically when you learn a new card, and if you didn’t answer correctly (your response is graded 0 or 1), you will be asked again at the end.

    However, I would have to agree with Lawson that “study on request” functionality would be very useful, and probably one of the most essential features that I would expect from a flashcard program. Like now, I’ve got a bit of time on my hand and I’d like to review the cards again… but Anki won’t let me!! That IS frustrating! Of all the features that are present in iFlash but absent in Anki, the lack of “study on request” functionality is the most significant and almost a deal-breaker.

    iFlash’s use of category is similar to tags (a card can be in more than one category, much like tags), except the GUI is a lot more intuitive and easier to organise. iFlash displays a list of categories as well as the number of cards under each category. Also, one can drag and drop multiple cards to/from categories, or rename categories easily.

    Also, iFlash’s input interface is a lot easier and I can add a lot of new cards quickly. Anki’s input interface is usable, though a little confusing at first.

    iFlash, unlike Anki, offers three different kind of memorization methods: simple, score, and interval. Its interval method is very similar to Anki. In score method, iFlash assigns a score to each card, and the score changes depending on the student’s success, and cards with lower scores are shown more often. Simple is exactly that… a card is either memorized or not memorized.

    Anyway, Anki does seem to be a very solid program. I intend to give Anki a fair go and will keep at using it for a few weeks. But meanwhile, I will have to iFlash around just for the study on request functionality.

    While I applaud the author’s belief in the Spaced repetition methodology, I wonder if other memorization methods could still be incorporated as optional features. That way, when a student is done with short term cramming, he can switch to the spaced repetition method and keep his memory fresh. That’s what I’ve been doing with iFlash… I would keep using iFlash if I have to, but I would prefer open-source softwares, just in case I decide to switch back to Linux in a few years time.

    Just my 2 cent. Thanks for the great review, Lawson, and a great piece of software, Damien.

    Saturday, November 1, 2008 at 7:18 pm | Permalink
  10. Damien Elmes wrote:

    Recent versions of Anki include a ‘cram’ feature which allow you to study cards matching a given tag on demand. This should largely address the complaints about lack of study on demand.

    Dennis: thanks for your detailed reply.

    Saturday, November 8, 2008 at 7:30 am | Permalink
  11. Mark wrote:

    I think study on demand is extremely important. The idea that the best way to learn is to only wait for the exact moment when memory will benefit most efficiently from repetition is nonsense. Real life isn’t like this – I live in China and am studying Chinese. I use lots of words everyday as I go about my business – without question these bits of language are the ones most easily remembered even though I’m effectively reviewing them all the time simply by using them. Spaced repetition is good for words that one hardly ever uses, but as you develops language skills what you’ve learnt becomes part of everyday conversation – how can Anki know if I’ve used a particular word in the normal context of living and take it into account for perfect spaced repetition? This applies to any knowledge – how do you avoid coming into contact with knowledge so as to keep Anki at peak efficiency?
    Also my attempts to use Anki were very frustrating – I’m sure it’s very powerful, but it seems to have quite a steep learning curve and I became too frustrated with it too quickly.
    I think most learners have their own sense of what works for them and have developed their own learning strategies to meet their own challenges. Any piece of software that aids learning should be designed with an understanding that people won’t just be using that program for their entire learning – it’s just another tool in the learners arsenal.

    Friday, April 10, 2009 at 6:22 am | Permalink
  12. Michael wrote:

    Mark, I think you may have serious misconceptions about how spaced repetition works.

    If you are using words “in normal context of living” then great; the next time you review those words in Anki you’ll grade them “easy” and Anki will take account of them. It’s that simple.

    Spaced repetition doesn’t need or force you to “avoid coming into contact with knowledge” for peak efficiency. That’s just nonsense.

    I also live in China and having programs like Anki and Mnemosyne to help me memorize plus automatically organize thousands of hanzi in my studies has been fantastic.

    Wednesday, April 15, 2009 at 5:52 pm | Permalink
  13. Mark wrote:

    Michael: I understand that spaced repetitions is very powerful, and I’m constantly looking for a piece of software that can help me organise myself in this way, but I’ve yet to find anything that works in the way I’d like to. As I understand it Anki forces the user to study on it’s learning curve a limited number of cards per day. This doesn’t work for me (I’ve tried Anki and found it too fiddly – I can’t imagine using a piece of clunky software like this every day).
    I currently use iFlipr on my iPod touch. I can create sets as I please with this and take control of them. There is a Leitner type system for organising the learning process which works well over the short term. It has lots of limitations however, but is so simple to use, and I’m in control of the process, so I’m more than happy with it (though it does lack a long term forgetting curve system using spaced repetition).

    Friday, April 17, 2009 at 11:10 pm | Permalink
  14. Ed Bradburn wrote:

    I just wanted to add my 2 cents (or, indeed, roubles) after using Anki for a few days for my Russian language learning.

    It has one killer feature that Mnemosyne (and maybe iFlash?) lacks: you can type in the answer to have it checked.

    This is a huge timesaver, since it eliminates having a second app (like Notepad++) open all the time, plus you really can see whether you missed something (like the tricky soft sign in Russian) instantly and without error.

    If Anki only had advanced field spec’ing/card layout facilities like Dingsbums it would be nearly perfect.

    Wednesday, April 22, 2009 at 5:19 am | Permalink
  15. K. M. Lawson wrote:

    Mark – As my review probably suggests, there are many things about the interface in Anki that really frustrate me too and are the reason I still favor iFlash in many ways (to be reviewed), but I think you will find Anki is much more flexible than you think. You can, for example, set the “new words per day” to be extremely high, effectively removing that concern.

    Wednesday, April 22, 2009 at 7:25 am | Permalink
  16. Michelle wrote:

    I have the new version of Anki downloaded ( and was a bit shocked. It’s been a while since I used Anki the last time. And ever since the developer has done a lot of work on it. I was not shocked about the functionality, but about the interface. Back then when I first used Anki, it already was a very confusing interface, but somehow I finally worked my way through it. And now it’s like I have to re-learn the interface structure again. A lot of things are extremly hidden and placed in menus where they don’t belong at all. I guess the main issue about Anki is its usability. The functionality itself is great — when you find out where it’s hidden and how it works…

    Wednesday, April 22, 2009 at 4:15 pm | Permalink
  17. K. M. Lawson wrote:

    Hi Michelle,

    It is true there are some serious design and usability issues with Anki. As you say the functionality itself is great.

    On the other hand, as you note, he has worked a lot on it and he is very responsive to user input. I urge you to email the developer and make clear some of your frustrations so that he knows there are potential users out there who also feel the way I feel. It is a shame because this is truly the most powerful app out there (for Mac at least).

    Wednesday, April 22, 2009 at 8:37 pm | Permalink
  18. Argancel wrote:

    Hi Lawson, just wanted to give you a big thank you for your review. I can see that you have a lot of experience in the “spaced repetition systems” area and was delighted to come up with a site entirely dedicated to flash cards.

    I made a link to this article on my own review of Anki that you can find on my blog here. It is in french site so you might not understand it all. But it has pagerank 4 so I guess it will help to raise your audience.

    I will check out the rest of your articles when I’ll have some time.


    Friday, August 21, 2009 at 12:18 pm | Permalink
  19. K. M. Lawson wrote:

    Thanks for the link and the kind words!

    Monday, August 24, 2009 at 8:09 pm | Permalink
  20. John wrote:

    I tried various flashcard programs before discovering Anki, which I now consider to be by far the best of any I have tried. I love Anki, and it is free!

    My concern is, however, that with all the criticisms that Damien receives from people who (perhaps) do not understand as well as he does how memory retention works, is that he will be tempted to lose his focus. That he will attempt to have Anki address these criticisms, and in the process make it a less effective memory learning tool.

    “Study on demand,” sounds like a good idea, but my own experience in trying to memorize things by incessantly repeating them, is that it is frustratingly ineffective. I remember repeating a new word I was trying to learn for an entire hour — only to have completely forgotten it anyway by the next day. (I tried this with several different words, with the same result.) Very ineffective use of time, I discovered. Of course, “Study on demand” is not nearly that extreme, but it seems to be a step in that direction, and, to my perspective, would not fit into Anki’s approach. (Just my two cents.)

    Thanks so much for all the hard work you have put into Anki, Damien!


    Saturday, September 12, 2009 at 8:30 am | Permalink
  21. midonnay wrote:

    thanks alot Damien for making such an awesome program….

    I’ve been using flash card programs for year for learning….

    first JFC for japanese, then stackz….

    been hearing about ANKI for yonks and finally tried it about a year ago…

    it has been a revelation…

    now I use it to study everything

    physics, electronics, java/python/c++ programming, operating systems etc as well as languages

    the cram function btw is useful for studying just before exams….

    sometimes you get anxious that you haven’t learnt everything properly and the cram function puts you at rest by letting you quickly go through all your notes.

    Friday, December 11, 2009 at 7:12 pm | Permalink
  22. Richard Hill wrote:

    This is the best flashcard program I have used. Thanks Damien.

    Tuesday, January 18, 2011 at 2:51 am | Permalink
  23. Michael wrote:

    Has anything changed since Anki’s new versions? Maybe this article is now slightly outdated.

    BTW. Anki really rocks and I think you’re really missing the point about what Anki is supposed to do.

    Monday, February 21, 2011 at 4:54 am | Permalink
  24. K. M. Lawson wrote:

    Hello Michael. Anki does rock. You may not have noticed the link to the newer posting on Anki (also now somewhat outdated). Here again is the link:

    Wednesday, February 23, 2011 at 9:28 pm | Permalink