Anki - ArchWiki

Jump to content

# Anki

From ArchWiki

Anki is a spaced repetition system (SRS), a program which allows you to create, manage and review flashcards. Anki is very flexible and also allows the creation of templates. Apps for Android and iOS as well as a web interface can be used to interact with the user's flashcard database. Anki supports addons, written in Python.

## Installation

Install the anki package.

By default, cards are synchronized using Anki's web server. Anki 2.1.57+ includes a built-in sync server.

## Flashcards

Flashcards can be obtained by:

- Creating them inside Anki, organized in decks and possibly tagged. Cards can contain audio, pictures and even TeX formulas;
- Downloading them, grouped in an existing shared deck (e.g. top 1000 words in a language);
- Generating them as a .csv file that will be imported in Anki.

## Addons

Anki makes many addons available, which can perform a variety of functions, expanding and personalizing your use of Anki or even setting collaborative decks with AnkiHub. These are third-party and are not checked or vetted by Anki, so only use addons you trust. To install an addon, copy the code from the addon page, go to Tools > Add-ons > Get Add-ons... and paste the code. To manually install an addon file (with a `.ankiaddon` extension) from sources like github, go to Tools > Add-ons > Install from file.... Some popular addons include Image Occlusion Enhanced and Review Heatmap.

## Tips and tricks

### Free Spaced Repetition Scheduler algorithm (FSRS)

Since version 23.10, Anki natively supports the use of a new scheduling algorithm, based on a variant of the DSR (Difficulty, Stability, Retrievability) model, which is used to predict memory states.

The default FSRS parameters are based on 738 million reviews from 20.000 users and are more accurate in comparison to the standard SM2 algorithm, according to benchmarks.

You can find more information about FSRS in the following GitHub repository Open Spaced Repetition

### Kanji stroke support

Install the ttf-kanjistrokeordersAUR package if you want to display kanji stroke orders in Anki. You have to select this font inside Anki in your deck properties after installation.

### Asian language support

Install the mecab-ipadicAUR package and the kakasi package.

Launch Anki, and inside Anki use File > Download > Shared Plugin to download and install the "Japanese Support" plugin, restart.

After creating a new deck, you need to select "Japanese" as the deck model in "deck properties" to have Japanese support. Make sure that the Japanese Support plugin is installed, otherwise you cannot select "Japanese" as the model.

### Self-hosted sync server

AnkiWeb is a proprietary service. If you prefer a self-hosted free (as in freedom) alternative, you can host your own anki-sync server.

Install anki-sync-serverAUR and configure it through the `/etc/default/anki-sync-server` file, according to the instructions at https://docs.ankiweb.net/sync-server.html.

Start and enable `anki-sync-server.service`.

Configure the Anki client in Tools > Preferences > Syncing. At the bottom of the page enter the URL which your service is listening on.

### Dark theme

Anki UI may be unreadable with dark GTK theme. You may want to enable night mode to fix that (Tools > Preferences... > Night mode).

If you have an older version you may need to install an addon (e.g. 1496166067 and View > Night mode > Enable night mode).

## Troubleshooting

### Unable to launch

The display driver can be adjusted by writing either `auto` or `software` to `~/.local/share/Anki2/gldriver6` (Qt6) or `~/.local/share/Anki2/gldriver` (Qt5). If Anki core dumps at launch with error qt: No suitable graphics backend found then setting it to `auto` may resolve:

    $ echo auto > ~/.local/share/Anki2/gldriver

When using the Nouveau driver, only `software` is supported and it is known to be buggy (see [1]).

### Wayland

Wayland support is available in Anki since v2.1.48. However it is not stable yet and disabled by default. If you want to use it in Wayland anyway, then set some environment variables.

    QT_QPA_PLATFORM=wayland
    ANKI_WAYLAND=1

It may also be necessary to install the qt6-wayland package.

Related bug report: Github issue #1767

### Images falsely showing up in unused media

Anki has a feature to check for unused media and delete them to free up space. When copying images from webpages and pasting them into the card editor, the image is often pasted along with an `alt` attribute inside the `<img>` tag. If this or any other attribute which is placed before the `src` attribute contains a `>` character, this image will show up in unused media and might get accidentally deleted even if it is still being used.

For example, this image will show up in unused media:

    <img alt="bad>text" src="image.jpg">

To prevent this, remove any `>` characters or place the `alt` attribute after the `src` attribute:

    <img src="image.jpg" alt="bad>text">

See the bug report and forum post.

Tip Press `Ctrl+Shift+x` to open the HTML editor inside the card editor.

## See also

### Official

- Anki manual
- FAQs
- Forums
- Old forums archive
- Knowledge base

### Other

- Guide for creating good cards
- Mnemosyne - Another open-source flashcard program using spaced repetition.
- org-drill - A spaced repetition extension for Emacs org-mode.

Category:

- Applications

Anki
Add topic