-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
This document contains a list of frequently asked questions.
Please first try uninstalling / re-installing the application, as this often fixes such problems. If the issue persists, see the bug reports help page.
No, AnkiDroid is not restricted in any way, see the installation guide for help with installing.
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.
Our current release series is 2.17.x, but you may install a "parallel" version of the previous stable release 2.16.5 if you are experiencing a problem and we are working on a fix for you. We suggest parallel "A" side by side which you will find here: https://github.com/ankidroid/Anki-Android/releases/tag/v2.16.5
Yes, there is an open source 3rd party app called AnkiWear for AnkiDroid that offers support for Android Wear.
Yes, tap the "Help" item in the side drawer in AnkiDroid to open the manual on your device, or you can open it directly here
See the AnkiDroid user manual
To study only reverse cards, you can create a filtered deck. Tap the menu button in the upper right corner > Create filtered deck > choose a name > Seach > type deck:your_deck_name card:2
.
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.
You can also select "Card Browser", then "Preview" to quickly view all of the cards in your collection.
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.
Yes, it's disabled by default though so please see the section in the manual about the automatic synchronization preference.
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.
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:
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.
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.
See the Media section below.
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.
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.
See the AnkiDroid user manual
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.
See the AnkiDroid user manual
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.
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.
Official parallel versions of AnkiDroid are made available from time to time, with most stable release versions having a set of parallel releases attached. You may find them below:
- Latest Stable parallel release: https://github.com/ankidroid/Anki-Android/releases/latest
- Unstable parallel releases: https://github.com/ankidroid/Anki-Android/releases
Note that you need to update these manually and we will not provide any support for these pre-built parallel versions, but they should work well and are in daily use by many.
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:
- 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.
- 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.
- 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.
- 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
.
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:
-
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.
-
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.
-
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.
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.
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
Keyboard shortcuts which exist on Anki Desktop work with a bluetooth keyboard. Gamepad buttons can be mapped in the settings
Edit a card and tap the media button on the right of a field. Some of the main features of this new media editor are shown in this (somewhat outdated) 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 AnkiWeb.
AnkiDroid 2.17 has built-in support for creating image occlusions
Anki Doodle hasn't been updated for years. As of December 11, 2023, it is not compatible with AnkiDroid on the Google Play Store (unless AnkiDroid has been updated from an older version and the storage migration has not been completed).
For now, if you install AnkiDroid from F-Droid (preferred), or -full
or .parallel
APK from GitHub, Anki Doodle and its cards should continue to work. For more information, see here.
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.
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 older Android devices and many removable storage cards. You may notice this if you have many thousand media files in your collection.
The best solution, if your device supports it and you have an external storage card, 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.
If you have a large number of media files where syncing through AnkiWeb takes too long, it is possible to manually sync the media collection files in AnkiDroid with the following process:
- Temporarily disable syncing media in AnkiDroid via
Settings
->Sync
->Fetch media on sync
. This is to allow you to open AnkiDroid for later steps without getting stuck downloading the media if you uploaded it to AnkiWeb already - Locate your media collection on your phone in
AnkiDroid/collection.media
- Transfer the desired media from your other Anki client into the
AnkiDroid/collection.media
folder. You can do this over USB or over SFTP with various software like FileZilla and an Android SFTP application of your choosing - After you have transferred all of your files, open up AnkiDroid and in the
...
menu, pressCheck media
. This will update AnkiDroid's database with the media you added intoAnkiDroid/collection.media
as manually transferring the files there does not automatically update the database - Once completed, you can re-enable
Fetch media on sync
if you don't want to manually manage your media moving forward. Note that keeping this enabled will require that you do a full media sync to AnkiWeb from AnkiDroid unless you do a full media sync from your other Anki client
If this issue appeared from a shared deck which was loaded into AnkiDroid, then it is a problem with the card/deck that was imported. Please contact the deck author, or edit the note, select "Cards" and remove the reference to the missing files.
If you're syncing a deck via AnkiWeb Sync:
Please check if the media works correctly on AnkiWeb.
- If the media does not work on AnkiWeb, then there was a problem with uploading the media. If the upload was from Anki Desktop, please read the Anki Desktop manual, or ask on the Anki Desktop support site for help resolving this problem.
- If the media works on AnkiWeb, then
- Use a file manager (see below) to ensure that the file exists in
AnkiDroid/collection.media
- Ensure that
Settings - Sync - Fetch media on sync
is selected and the media sync fully completed (this will take some time on the first sync) - Media sync errors are typically temporary problems with your internet connection, browse to
AnkiDroid/collection.media
and then perform a sync. If more files are added to this folder, then please sync until the sync completes successfully. - As a last resort, copy the media files from Anki Desktop's
collection.media
folder.
- Ensure that
- If the file exists in
collection.media
and is still not displaying:- Ensure that it is encoded in one of Android's supported codecs (see below).
- Please contact us if issues still occur.
- Use a file manager (see below) to ensure that the file exists in
If the files are loaded from the internet over http
, load them via https
URLs. If HTTPS is not available, you can automatically convert these links to local files via an Anki Desktop Addon: https://ankiweb.net/shared/info/1293255374
tags: net::err_CLEARTEXT_NOT_PERMITTED
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.
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 find 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.
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.
Due to technical reasons, loading an image using src="//"
without specifying https
is not supported on AnkiDroid. #6102
Please edit the card and add https
. For example, change:
<img src="//upload.wikimedia.org/wikipedia/commons/thumb/5/50/6.1_Russian_road_sign.svg/50px-6.1_Russian_road_sign.svg.png" />
to
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/6.1_Russian_road_sign.svg/50px-6.1_Russian_road_sign.svg.png" />
As-of AnkiDroid 2.17, notifications are non-functional. It's on the backlog
See the manual for the new method of adding fonts.
Here are some tips for debugging your custom font issue.
- Use Android version 4.4+ without any custom ROM for best results
- Make sure that you are using the latest version of the Android System Webview (46.x at the time of writing)
- Use the method recommended in the manual (not the alternative method)
- 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"
- Check that the font shows correctly on both Anki Desktop and AnkiWeb
- 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)
- 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.
- Try uninstalling and reinstalling AnkiDroid
- Try using a different font for testing purposes, especially an official Google font like Google Noto
- 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:
- Your AnkiDroid version, Android version, Android system webview version, phone model number, and details of any modifications that you have made to it
- A sample deck (.apkg file) exported from Anki Desktop including one card that reproduces the issue you're having
- The name and a link to the font that you are trying to use
- The result of each step in the above process, preferably with some screenshots
Your phone provides Text to Speech engines which AnkiDroid uses. Most issues are within these engines, and not within AnkiDroid itself. The Text-to-speech output
preferences on your phone can resolve most issues. These can typically be accessed through System Preferences -> Languages & Input -> Text-to-speech output
Firstly, make sure TTS is working in general: test a voice in your native language, or English within Text-to-speech output
Then, ensure that your target language has voices downloaded. The TTS engines often falsely report that a voice is installed.
If a voice is shown in AnkiDroid, but not shown in the TTS settings, ensure that your TTS engine has been updated to the latest version.
Some users have found that uninstalling updates to the TTS engine can resolve issues: System Preferences -> Apps & Notifications -> Google Text-to-speech Engine -> options menu -> Uninstall updates
Some users have found that re-downloading the TTS packages for their language works for them: System Preferences -> System -> Languages & Input -> Text-to-speech output -> Preferred engine settings -> install voice data -> choose the affected voice -> delete it, re-download it
Android allows multiple TTS engines on your phone. For example: Samsung phones default to the Samsung TTS Engine, which has many less voices than Google TTS
To select a different engine: go to the Text-to-speech output
settings within System Preferences. Then tap the left side of the 'Preferred Engine' preference. This will allow you to switch to another TTS Engine installed on your phone
There are few reasons this can happen.
- Make absolutely sure you do not have firewalls blocking the ports between you and AnkiWeb (or your sync server). Some users in some nations have national firewalls for instance, and they can block the connection
- Make sure you can log in to your AnkiWeb account directly at https://ankiweb.net/account/login
- Try on a network you know is reliable (your home, your office, but not a public wifi point)
- If you are using the Sync Server built in to Anki Desktop please take note of all the "things to be aware of". As a specific example of something that can break syncing, if you upgrade Anki Desktop to a version (for example 23.10) without also upgrading your AnkiDroid version to one that contains that version of the desktop sync code, things may not work. One way to check what backend AnkiDroid has is to look at the git blame of the anki backend dependency and check the commit to see when it was included (for example, 23.10 was first included in 2.17alpha3 AnkiDroid release)
- If your counts are off and you have a version 2.15 or older of AnkiDroid, it may be a timezone problem. In AnkiDroid 2.15, choose Settings -> Advanced -> enable v2 scheduler and enable new timezone support. In Anki Desktop settings, disable "legacy timezone support". Sync and after a day, counts should be in sync again
- If your device is using Android 4.x or 5.x, you must be using a version of AnkiDroid that works well with AnkiWeb's February 2020 requirement to use encryption of TLS1.2 or higher. AnkiDroid 2.9.2 or newer contains support. Note that Android 4.0.x (API15) from the year 2011 does not contain support for TLS1.2 at all and can no longer sync with AnkiWeb, though you may be able to use a custom sync server if you cannot use a newer version of Android.
Long-press a deck and choose 'Create subdeck' from the context menu
Video: https://www.youtube.com/shorts/LtNbQ8185e4
search terms: sub deck
We understand AnkiDesktop supports Add-Ons. However, AnkiDroid does not and cannot support Add-Ons in the same way. Mobile operating systems do not let applications download and run code that was not packaged with the application. Neither iOS nor Android allow this, and if you think about the disaster that is desktop security (with viruses and crypto-ransoms etc), you will understand. The only exception is HTML and Javascript, so AnkiDroid is working on support for Javascript Add-Ons. They are still in development but you may find more information on the AnkiDroid Javscript API here.
Some Anki Add-ons can be made using genanki and pyodide for AnkiDroid as web app.
For e.g.
If interested in creating such Add-ons as web app for AnkiDroid then view this.
Create Addon in browser for Anki
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
search terms: nightmode night-mode, invert, colour
keywords: username
In Anki, your email is listed under Preferences - Syncing
.
Search all your email accounts for an email from ankiweb.net
. The query typically looks like from:ankiweb.net
, but depends on your email provider. If you find an email, then you signed up to AnkiWeb using that email address.
Please refer to the main Help page.