Tim Rae edited this page Aug 13, 2018 · 64 revisions

This document contains a list of frequently asked questions, it is intended to give

Installing AnkiDroid

After installing the latest version of AnkiDroid, it starts crashing

Please first try uninstalling / re-installing the application, as this often fixes such problems. If the issue persists, see the bug reports help page.

I cannot find AnkiDroid on Google Play. Is the app restricted in some way?

No AnkiDroid is not restricted in any way, see the installation guide for help with installing.

I don't like the last update of AnkiDroid, how can I return to a previous version?

All versions are available as APK files, see the installation guide. Don't forget to let us know what bothers you, and we will try to fix it.

Is there a version for Android Wear?

Yes, there is an open source 3rd party app called AnkiWear for AnkiDroid that offers support for Android Wear.

How do I upgrade from version 1.x?

If you wish to upgrade from an old (2012 and older) 1.x version of AnkiDroid, please read these 1.x upgrading instructions.

Using AnkiDroid

Is there a manual?

Yes, starting from v2.3, tap the "Help" item in the side drawer in AnkiDroid to open the manual on your device, or you can open it directly here

How can I swap the front and back of my flashcards?

See the AnkiDroid user manual

How can I study my cards exactly when I want to?!

By design, AnkiDroid uses a spaced repetition algorithm to minimize the amount of wasted study time. You can create custom study sessions in AnkiDroid, where you can do extra study in addition to the cards recommended by the scheduling algorithm (for example if you have an upcoming test that you want to cram for), however if you find yourself using these features too often, you are probably not fully utilizing the power of spaced repetition.

From the Anki website:

The main purpose of a simple flashcard program is to allow you to enter some content and then flip through the cards, like you could with paper flashcards.

People looking for a simple flashcard program to help them study a few cards sometimes stumble across Anki. But Anki doesn't really fit the description of a simple flashcard program. Anki is built to implement spaced repetition, a system of scheduling the next reviews of information right before the information is likely to be forgotten, making learning much more efficient. It happens that flashcards are the best way to study using spaced repetition.

People who are only looking for the “flashcards” part and not the “spaced repetition” part are likely to be frustrated by Anki. Spaced repetition is fairly simple on its face, but studying with Anki is different from what most people are used to, and the additional complexity will probably be unwelcome at first.

Read more here

Is there an auto-sync feature?

Yes, it's disabled by default though so please see the section in the manual about the automatic synchronization preference.

Why do my cards display incorrectly?

The most common reason for this is an incorrect card template. This might happen if a user inadvertently edits an existing template, the wrong template is used at the time of card creation, or in rare cases a user's database might get corrupted.

A basic understanding of how Anki works is required to fix this problem, as editing card templates is not particularly beginner friendly. The actual editing is most easily done using Anki Desktop, so please carefully check through the basics section and the intro videos in the Anki Desktop manual. If you don't have a computer handy where you can install Anki Desktop, it is also possible to edit your templates from AnkiDroid, but it might be difficult on a small handheld device.

Note: If you are simply having issues showing foreign characters or images, see the custom fonts and media section instead.

Why do I get an error about the timezone when I try to sync?

AnkiWeb requires both the time and the timezone to be set correctly in order to synchronize properly. For most users, enabling "Automatic date & time" and "Automatic time zone" in the main Android date & time settings is enough to ensure that sync works correctly.

If you have automatic time & timezone enabled and are still getting an error message like "the time of your device is different than that of the server by xxx sec", it probably means that the timezone definitions on your device are out of date. Updating your device to the latest available version of Android may fix this issue; if not there are two possible solutions:

Use 3rd party tool to automatically update timezone definitions (root required)

If you are willing to root your device, you can use this TimeZone Fixer tool which should automatically fix the issue.

Manually set the time on your device

If you are unable to update the timezone definitions on your device, you'll have to manually set the time on your device. To do this, go to the main Android date & time settings, and disable automatic date & time as well as automatic timezone. Now manually change the time by the amount specified in the message (e.g. if the message says 3560 seconds, try changing the time by +/- 1hr) and then try syncing again with this new (but incorrect) time. Once syncing is working again with the incorrect time, you can find a timezone which gives you the correct time while still allowing you to sync.

Do I need Anki Desktop too?

AnkiDroid is designed primarily as a tool for reviewing cards created with Anki Desktop, rather than as a complete replacement for it. As such you will need Anki Desktop to perform some tasks, especially if you want to perform operations on multiple cards at once, like change the deck, apply tags, etc

See the FAQ on how to sync Anki Desktop with AnkiDroid if you are unsure how to use Anki Desktop.

How can I add pictures and sounds to my deck?

See the Media section below.

How can I use selective study, e.g. to review certain chapters of a textbook?

The easiest way is to organize your material into subdecks using the browser in Anki Desktop. You can create a new subdeck in AnkiDroid by clicking "create deck" then using the syntax "PARENTDECKNAME::NEWSUBDECKNAME", or alternatively create the deck on Anki Desktop and drag and drop it onto an existing deck.

Alternatively, in AnkiDroid you can study cards of only a particular tag by opening a deck, tapping the "custom study" button, and choosing "Limit to particular tags". This will automatically create a new filtered deck with the cards of the tag you specified.

Changing the study options of a deck changes the options of my other decks?!

Anki has an "option grouping feature" which allows you to share options between multiple decks, and by default all decks share the same option group. If you want different decks to have different study options, you need to change the option group assigned to each deck by going to the "Group management" section in the deck options.

We realize that this is quite unintuitive for new users, but unfortunately this is currently the way that Anki Desktop works, and consistency with Anki Desktop is a very high priority for AnkiDroid.

How do I type the answer, not type the answer, hide the correct answer?

See the AnkiDroid user manual

My AnkiDroid files are stored on a SD card, how can I point AnkiDroid to them?

External SD cards are not officially supported by AnkiDroid, and we highly recommend using the storage built into your device. If you really must use an external SD card, this workaround may work for you. Also see this issue on github.

How do I make changes to my collection with Anki Desktop?

See the AnkiDroid user manual

How can I remove unwanted tags from AnkiDroid?

You can remove tags that are not currently in use by any card by running "check database" from the overflow menu in the AnkiDroid deck list. If you want to remove tags that are used by some cards, you'll need to remove the tags from those cards before running check database. See this forum thread for more information on doing that.

I cannot change preferences / they get reset after some time

This is an Android problem and AnkiDroid needs to be reset. Go to system preferences --> applications --> manager applications --> AnkiDroid and choose "delete data".

How to use different Anki profiles

On Anki desktop, if several people want to use the same computer (or if one person wants to separate their collection into several groups), they can use different profiles. AnkiDroid doesn't currently officially support using Anki profiles (though it's a commonly requested feature), however you can achieve a similar effect by installing several parallel versions of AnkiDroid besides the normal AnkiDroid and setting a unique collection path in each one.

Parallel versions of AnkiDroid are not officially maintained, but can be built from source code fairly easily with a build script, as described in the Development Wiki. The settings, sync account, and decks will be kept separate in each build (after changing the path of the AnkiDroid folder). If you are unable to make your own builds, you can use the semi-official pre-built apks for v2.5beta16 in the releases section.

Note that we will not provide any support for these pre-built parallel versions, they are only given as a proof of concept for the build script.

Lost my cards

Does it appear like your cards have disappeared? Don't burn your phone yet: AnkiDroid saves regular backups to your device, so you should be able to recover everything in the unlikely event that this occurs. If you know the reason why your cards are gone, please see the manual for info on how to restore from a backup. Otherwise you should check below to understand some common reasons why users may mistakenly think that their cards have been 'deleted' by the app:

  1. Misunderstanding of how spaced repetition works

Some users that are unfamiliar with how Anki's spaced repetition algorithm works may mistake the fact that the cards stop appearing in the study screen to mean that their cards have been 'deleted' by the app. Before assuming that your cards have disappeared, please open the card browser, make sure that 'all decks' is selected and confirm there that your cards are really not there. If the cards are in fact there, you may like to read about the spaced repetition scheduling algorithm in the Anki manual and this FAQ.

  1. User error when using the cloud sync service

Sometimes when using the AnkiWeb cloud sync service, situations can arise where Anki is unable to automatically resolve conflicts between your local and online collections. In this case AnkiDroid may ask you to manually resolve the conflict by downloading from or uploading to AnkiWeb. If you accidentally pushed the wrong button and lost some cards then you should restore the previous version from a backup and refer to the section in the manual about resolving conflicts.

  1. Data corruption

In some very rare cases the AnkiDroid database can get corrupted, usually due to some error with the file system, or users trying to use a removable SD card (which is not officially supported). In such cases AnkiDroid will guide you through the steps that you can take to restore your data, but if you make a mistake here by choosing the wrong option you can always restore from one of the automatic backups.

  1. Change in device storage configuration

By default, AnkiDroid stores its data in your device's default user storage area (the same place where your photos and downloads go). Note that this location is different from where your applications are installed, so uninstalling and reinstalling AnkiDroid will generally not have any effect on your flashcard data. In the event that the AnkiDroid directory is changed to a new place without any existing flashcard data, a new empty collection will be created there, which may appear to you as if all of your flashcards have been lost.

While unlikely, it's possible that somehow the storage configuration on your device was changed such that the default storage location mentioned above changed, and that your flashcard data is still remaining in the old location. You may also have inadvertently manually changed the AnkiDroid directory in the past (e.g. to a removable SD card?), which could be causing you problems now.

In any case, if you have multiple partitions in your device, you might like to take a look around with a file explorer to see if you can find two folders in different locations named "AnkiDroid". If you do find a second location, it may have your flashcard data in it, and you can restore one of the backups from there. Note that we strongly recommend not to change it, but you can find the current location that AnkiDroid expects to find your data in AnkiDroid settings > Advanced > AnkiDroid directory.

Help! My collection is corrupted!

Database corruption can occasionally happen for a small minority of users for reasons unknown to us. If this happens to you, we recommend taking the following course of action:

  1. Make a backup copy of the AnkiDroid folder on your device ASAP. Copy it to your PC and/or Google Drive so that our support team can still help you if the below steps fail.

  2. Choose the "Restore from backup" option from the menu in the main deck list and select the newest backup which has a time stamp before the problem started occurring.

  3. If the restore completed successfully, run "check database" and see if that also completes successfully. If so, you are done. If not, try restoring from an even older backup.

If restoring from a backup is not possible, you can try to manually "fix" the database by copying the collection.anki2 file in the AnkiDroid folder to your computer, and following the instructions in the main Anki documentation.

How can I copy my decks from an old device to a new device?

Method 1: Use AnkiWeb cloud sync (recommended)

Follow the instructions in the manual for syncing existing decks (on your old Android device) into a new AnkiDroid install.

Method 2: Export > Import

Export your collection as a .apkg file from your old device, copy it to your new device using any method you like, and then import this file into your new device according to the importing instructions in the manual.

How can I use Zeemote?

While we do not officially support the Zeemote JS1 Controller, some users have noted that they could successfully pair AnkiDroid with the Zeemote using a 3rd party app called Bluez IME.

A very old development version of AnkiDroid did once have native support for Zeemote, however it was removed as the libraries were not open source, and therefore incompatible with AnkiDroid's GPL License. There was an effort to add support for Zeemote and other controllers via plugins. Unfortunately at the time it involved some work merging with the new version, which never got done due to time constraints, and now it's slipped even further away.

If someone would like to continue that work: Here is the unmerged commit for the plugin interface for controllers and here is the plugin for the Zeemote controller

Can I use a hardware controller?

Basic keyboard shortcuts that exist on Anki Desktop should already work with a bluetooth keyboard. It should be possible to use other controllers by using a third party app to remap the controller buttons to keyboard events. See here and here for more information.

Why do I get an error message about the size limit for a String in a database?

Unfortunately Android puts a 1MB limit on the size that a String can take in an sqlite database (the format used to store Anki collections). On AnkiDroid version 2.6+ we detect when this limit is exceeded and show an error message. The default limit on other platforms in 2GB, so it's very much an Android specific issue. (note, this may be fixed in 2.9+ with this commit)

Since all note types are stored together as one big string in the database, it's possible to exceed this limit if you have a large number of note types with a lot of formatting. The same limit applies to the deck descriptions, though this is far less likely to be the culprit. If you run into this limit, the solution is to delete some of the note types in your collection using Anki desktop, sync it with AnkiWeb, and then choose "full sync from server" in AnkiDroid, which should resolve the error.


How can I use media files on AnkiDroid?

The recommended way is to use Anki Desktop, which has a comprehensive media editor function. Please see the above FAQ on how to edit your collection on Anki Desktop.

Starting from AnkiDroid v2.2, it is also possible to add pictures and sounds to your deck directly from AnkiDroid, by editing a card and tapping the media button on the right of a field. Although the video is a bit outdated, some of the main features of this new media editor are shown in this youtube video.

Note that when you attach media to a card on Anki Desktop, the program puts the media files into the collection.media folder (see Anki Desktop manual for more info). It is therefore necessary to ensure the option "Synchronize audio and images too" is enabled in both Anki and AnkiDroid if using Anki Web.

How can I add pictures from Google Images?

Since November 2015, Google have disabled their free image search API that we were using. There is no free replacement API from Google that we could use, and the paid "custom search" API which they offer is not feasible for us to use in AnkiDroid. Unfortunately there's nothing that we can do about this.

Until we find a better solution, you'll have to manually add the images as following:

  1. Open images.google.com in your browser
  2. Search for the image that you want to add and open it
  3. Long tap on the image and choose save
  4. From AnkiDroid add a new image from the gallery and select the image that you just downloaded

Note: you may need to configure your gallery app to show images that you downloaded in addition to your photos.

After updating my Android version, Image Occlusion is no longer working

Old versions of the image occlusion plugin for Anki desktop had a bug that generated invalid .svg images. These invalid images were displayed without issue in older versions of Android, however newer versions of Android (or the Android system Webview in particular) are no longer able to display these invalid images.

Please uninstall / re-install the plugin in order to update to the latest version and ensure that new images generated by the plugin are displayed correctly on Android.

In order to fix existing images, there is a python script created by Matt Restko which you can run. Please ensure that you have python installed (version 2.7.x is recommended), and follow the instructions in his github repository. When the script finishes, it should say:

Found m Image Occlusion files
Fixed n files

If m and n are both greater than 0 then the script has worked, and it's just a matter of copying the files to your Android device. Please kindly understand that we cannot directly provide support on the image occlusion add-on or fixing broken svg images.

I have too many media files and can't copy them all to my device

Unfortunately there is a limitation on the number of files which can be stored in one folder on the FAT filesystem used by default on most Android devices.

The best solution, if your device supports it, is to format your SD card as ExFAT. You may need to take the SD card out and format it on your PC.

If your device does not support ExFAT, one possible workaround for this problem (requires root access), is to use a 3rd party app capable of mounting a different filesystem (for example from Paragon). NTFS and Ext4 formats should also work.

While not officially supported, another possible solution may be to organize your media files into subfolders. Of course it is also necessary to update your notes to include the reference to the subfolder.

Why doesn't my sound or image work on AnkiDroid

The most likely reason is that the media files are not in the main AnkiDroid collection.media folder. If you are using sync then please make sure that the "fetch media on sync" preference is enabled in all of your Anki clients, and if not then re-sync from all your clients.

If that doesn't work then please check if the media works correctly on both AnkiWeb and Anki Desktop. If you synced correctly with media sync enabled, and the media does not play on either AnkiWeb or Anki Desktop, then there is probably a problem with the cards themselves. Please read the Anki Desktop manual, or ask on the Anki Desktop support site for help resolving this problem.

If you have checked that you have correctly done a media sync, and that the media is playing correctly on both Anki Desktop and AnkiWeb but not on AnkiDroid, then use a file manager (see below) to check that the media files exist in your AnkiDroid/collection.media folder. If the media files do not exist then obviously AnkiDroid cannot play them. You can try manually copying them from Anki Desktop as a last resort.

Which file manager should I use?

Most devices using Android 6 and above come with a built-in file explorer (something like: settings -> storage and memory -> Explore). If your device does not have a built-in explorer, you can use any file manager that you like, for example see here for a list of various recommended file explorers. We personally recommend using a free and open source (FOSS) file manager like Simple Explorer.

But still AnkiDroid does not play my media!

The Android platform has built-in support for the following image formats:

JPEG (.jpg), GIF (.gif), PNG (.png) and BMP (.bmp)

the following audio formats:

3GPP (.3gp), MPEG-4 (.mp4, .m4a), 3GPP (.3gp), MP3 (.mp3), Type 0 and 1 (.mid, .xmf, .mxmf), RTTTL/RTX (.rtttl, .rtx), OTA (.ota), iMelody (.imy), Ogg (.ogg) and WAVE (.wav). 

and the following video formats (example video deck can be found here):

.3gp files with H.263 or MPEG-4 SP codec, .mp4 files with H.263 codec

The format of your media file has to be one of these, or be in the list of Android Core Media Formats for your device.

If you have verified that the media files are physically on your device, that they are in one of the supported formats, and that they are playing properly on Anki Desktop, one possibility is that you are using an unsupported feature of Anki Desktop, where you code a pattern for the path of the file into the template -- i.e. if you have something like [sound:{{Word}}] in your template, this will probably not work on AnkiDroid, where it's necessary to explicitly have [sound:pathtosoundfile] in the field itself.

If you must use media references to fields, for example if you have a large number of notes and use a specific naming convention based on the content of certain fields, you should use the search and replace feature, or alternatively there is an add-on available for Anki Desktop which allows you to batch render an expression such as [sound:{{Word}}.mp3] into a new field. Be sure to backup before attempting to use this add-on.

Instead of the correct character to display, a square is shown. Why is that?

Because, by default, Android does not have complete support of the full Unicode character set so it does not know how to display these characters. The part of Unicode that Android supports depends on the specific device and on where that device is distributed. If you would like to add support for some specific language, see the custom fonts section below.

How can I use custom fonts?

See the AnkiDroid manual for the new method of adding fonts.

The old method of using custom fonts from AnkiDroid 1.x is no longer officially suppported because it is not robust, however it does generally still work, and users who wish to use it may continue to do so.

I followed the instructions in the manual but I still can't get my custom font to work

Here are some tips for debugging your custom font issue.

  1. Use Android version 4.4+ without any custom ROM for best results
  2. Make sure that you are using the latest version of the Android System Webview (46.x at the time of writing)
  3. Use the method recommended in the manual (not the alternative method)
  4. Go to AnkiDroid settings > Fonts and ensure that "Default font" is set to "System default", and "Default font applicability" is set to "When no font specified on flashcard"
  5. Check that the font shows correctly on both Anki Desktop and AnkiWeb
  6. Check that the font file correctly exists in your AnkiDroid/collection.media folder and that it has the same name as the one in your collection.media folder in Anki Desktop (if you have disabled "fetch media on sync" on either client then your font will not be automatically copied to AnkiDroid)
  7. Some fonts may have the extension .ttf, but are in fact in a different format such as .ttc, which has been found to not work on some devices. We recommend only using official open source fonts, such as Google Noto.
  8. Try uninstalling and reinstalling AnkiDroid
  9. Try using a different font for testing purposes, especially an official Google font like Google Noto
  10. If you can get Google Noto working, but not your custom font, then it means that your font is not supported by your device. You can try to edit your font to make it compatible using this trick. If that doesn't work, you probably need to use a different font.

If you tried all of the above and still couldn't get it to work, then please post a new issue here or on the support forum including the following information:

  1. Your AnkiDroid version, Android version, Android system webview version, phone model number, and details of any modifications that you have made to it
  2. A sample deck (.apkg file) exported from Anki Desktop including one card that reproduces the issue you're having
  3. The name and a link to the font that you are trying to use
  4. The result of each step in the above process, preferably with some screenshots

Advanced formatting tips

The formatting wiki page gives examples of how to achieve advanced flashcard formatting such as:

  • Center align cards
  • Hide replay audio button
  • Customize colors in night-mode
  • and much more

Other questions

Please refer to the main Help page.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.