9 0
Sign in to rate

Cloze Anything

<10kB. Updated 2019-12-30. Only supports Anki 2.1.x.
The author has shared 5 other item(s).


This is the plugin corresponding to the Cloze Anything project. This plugin automates some of the otherwise manual work that would be required when following the approach of this project. While this plugin is not necessary to follow this approach, it does make it a lot easier. You may also be interested in the related shared deck that includes sample cards utilizing the card templates. The Cloze Anything provides a template-based cloze implementation that: This is achieved purely through JavaScript in the card template and a novel application of Anki's built-in (awesome) Selective Card Generation feature. The big benefit of this is that you can generate cloze cards from existing notes, for which you may already have cards. It has no dependency on Anki's Cloze note type nor any other note types, which means you don't have to migrate your cards to a new note type. It is compatible with Anki Desktop, AnkiMobile, and AnkiDroid. Getting started is easy. You can either download the shared deck or follow the instructions for setting up the templates manually. Replicating Anki functionality with JavaScript and card templates is not the goal however. The goal is endless flexibility. You can add cloze cards to any existing note type ("cloze anything") simply by adding new fields and card templates based on the instructions found here. You can also modify the templates completely, using them simply as a guide. Further details on the approach and how the plugin works can be found on the Github page. Below you will find only a short description of how the plugin works. The plugin does two things to make it easier for you to edit cloze deletions when following this approach: Support If you experience a problem or have any comments/ideas, please open an issue at the Issues page for the project on Github. Version History License Copyright 2019-2020 Matthew Hayes Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


As add-ons are programs downloaded from the internet, they are potentially malicious. You should only download add-ons you trust.

Supported Anki versions:

To download this add-on, please copy and paste the following code into Anki 2.1:


If you were linked to this page from the internet, please open Anki on your computer, go to the Tools menu and then Add-ons>Browse & Install to paste in the code.

All Anki 2.1.x Add-Ons


on 1598063580
This is awesome and offers so much flexibility! Thank you for all the work you put into this project.

I modified the card types slightly to add a touch more flexibility, which I will explain below for others that might need the same.

My issue was that the default setup only allowed for an Expression to Meaning (Front to Back) production card and different variations of clozes of the Expression. I needed a full Meaning to Expression card and the ability to season the card to my liking. True, the Auto-cloze Full Field option in settings will make a fully-clozed Expression card, as long as there are no other clozes; however, my card setup did not allow for other information except a blank, fully-clozed Expression side, which was unintelligible upon reviewing. Additionally, I wanted to customize the placement of audio, pictures, etc.

I used the same Selective Card Generation built into Anki to:
- add a field to the note type named-- "Reverse" (or whatever as long as it matches the below)
- Added a new Card Type: Card-Options-Add Note Type (name not important)
- Within the Front Template of that new card type, I put the following {{#Reverse}}{{Exact name of the field you want to display}}{{/Reverse}}
Then I just decorate the back to add the expression, audio, visuals, notes, etc.

Now, whenever, I add any character into the "Reverse" field it will also produce a Meaning to Expression card, giving the ability to test full production of the L2 to L1 language phrase, and it will not produce the card whenever the field is left blank.

Similarly, I can clone the whole Note Type, rename it , and delete the Expression card. This is if I only want a Meaning to Expression card and some cloze functionality (more for audio recognition cards where I don't want to see the Expression, but would like to single out a word or two for review later).

Sorry for so much repetition of things that are already in the manual, I just wanted to make it easier for fellow-language learners who are in a hurry to the end of the dictionary. Thanks again!
on 1595722002
This works well as long as you follow the requirements for card and field naming. So happy that I didn't need to duplicate notes to add cloze deletions! Big thanks to the author for all the time they saved me. :)
on 1594305884
This is exactly what I need! Thank you so much, I am sure it will save my time a lot
on 1591349543
Works on AnkiDroid too:
on 1591117587
This template was a great help for generating a vocabulary deck that suited my needs. The creator also gave me some good advice on how to get the most out of it.
on 1589244887
Seems great. Do you plan to upload a video on how it works? It would be perfect for people with poor tech skills like me.
Comment from author
I probably won't be doing this due to the time it would take for me to prepare a video. However if you can provide me with some feedback about what parts of the documentation on the github page are unclear or hard to follow I can work on improving them or writing some more straightforward how-to guides.
on 1588539365
Awesome, thank you so much!
on 1583378695
wow. Its just... GREAT.
on 1578210824
The Cloze Anything project fits my needs perfectly. It is a pity its functionality is not built into vanilla Anki’s cloze capabilities.

I learn languages mostly with sentence flashcards. While the recognition side (L2→L1) is straightforward even with the most complex of sentences, production (L1→L2) tends to be confusing with longer sentences. The solution is to break down production cards into shorter, simpler pieces using cloze deletion. The Cloze Anything method removes the need to have all of the sentences copied into a special, separate note type, and thus saves time and helps to keep everything in one place.

So… many thanks, Matthew ^_^
Your wonderful JavaScript wizardry helps me a lot!

— Júda
Comment from author before post was edited
Thanks for the feedback! I'm glad you find it useful.