What is the maximum number of fields that Anki is capable of handling?

Greetings to all members of the Anki Flashcard community.

I would like to bring up an issue that concerns us all: What is the maximum number of fields that Anki is capable of handling? Unfortunately, if the number of fields surpasses the set limit, the content editing feature will become disabled.

After conducting some research, I have found that the latest version, 2.1.62, can handle up to 220 fields, while version 2.1.54 can handle over 300 fields. However, the previous version, 2.1.49, has no limit on the number of fields. This begs the question: why do newer versions impose this field limit? This limitation greatly hinders the creation of study decks for learners.

As we move towards future versions, I strongly urge Anki developers to remove this field limit and allow for support up to 500 fields. This would be a tremendous improvement!

Thank you all very much for your attention to this matter.

1 Like

Even the most over engineered sophisticated decks I have seen managed with a few dozen fields. The current limit seems to me to be a theoretical limitation rather than having practical consequences. What is your use case?

3 Likes

I have currently 107 on one note type, and that is likely to increase to around 200 as I progress learning. So a limit less than 220 would concern me.

The note type is for learning verb conjugations (and before I get another reply saying “do not use Anki for that” I find Anki very useful for learning irregular verbs).

1 Like

There is no hard limit in Anki, and if a large number is not working it is probably related to the webview communication. That said, each extra field you add will add a small performance hit, that will eventually add up, so I would suggest keeping to a lower number if possible.

2 Likes

Thank you to all members of the Anki forum for actively participating in the discussion. As for myself, I have had to use version .4+ or .5+ instead of the latest version. I hope that Anki will continue to become stronger and more efficient while also being more user-friendly and capable of handling larger databases.


Even when using the latest version of Anki, the issue of the compiler not functioning still occurs.

To reproduce it, I used this code to create a new note type with too many fields and add a new card.

Debug Console
number_of_fields = 250

mm = mw.col.models
basic_model = mm.by_name("Basic")
m = mm.copy(basic_model, add=False)
m["name"] = f"Basic - Max Fields Test - {number_of_fields}"
mm.add(m)

for i in range(3, number_of_fields + 1):
  f = "Field {}".format(i)
  fm = mm.new_field(f)
  mm.add_field(m, fm)
mw.col.models.update(m)

n = mw.col.new_note(notetype=m)
n["Front"] = m["name"]
for i in range(3, number_of_fields + 1):
  f = "Field {}".format(i)
  n[f] = str(i)
did = mw.col.decks.id(m["name"])
mw.col.add_note(n, deck_id=did)

mw.reset()

It looks like if there are a lot of fields (250 - “bad”, 200 - “good”), two things might happen:

  • The editor screen will be blank and won’t respond at all

  • The fields will look like there were hidden (but they’re not), the last field may or may not be shown and the error message will be written to the console (or similar error messages but with slightly different line numbers).

    JS error /_anki/js/reviewer_editor.js:107 Uncaught (in promise) RangeError: Maximum call stack size exceeded

    JS error /_anki/js/reviewer_editor.js:101 Uncaught (in promise) RangeError: Maximum call stack size exceeded

    image

4 Likes

I was able to reproduce it as well. It appears to be an issue with older versions of Svelte. As a test, I upgraded Svelte to the latest version (3.59.1) , and the editor started fine with a note type that has 500 fields. It appears that maybe https://github.com/sveltejs/svelte/pull/8114 has solved the issue.

5 Likes

May I inquire if, in the upcoming versions, Anki will thoroughly address this issue (referring to the limitation on the number of fields in the NoteType database)? Thank you!

If the issues preventing a Svelte upgrade can be resolved, then the situation should improve.

1 Like

Honestly, I’m thrilled and eagerly looking forward to the launch of the upcoming Anki version that promises remarkable enhancements. Every time, I give Anki a try with my current training data just to check if the Anki editor is working as expected. Unfortunately, I repeatedly encounter the same problem, which compels me to go back to using versions 2.1.54 and 2.1.49. I genuinely hope that the Anki development team will resolve this technical issue. Thank you wholeheartedly! I extend my best wishes to the Anki community for its continuous growth and development!

Please try Release 2.1.64rc1 · ankitects/anki · GitHub

1 Like

It appears that the issue has been resolved. I will continue to test it for a while. Thank you very much for your assistance!

Anki will automatically scroll to the answer by default. It looks for a HTML element with id=answer, and scrolls to that. You can place the id on a different element to adjust the scrolling position, or remove the id=answer to turn off scrolling.

https://docs.ankiweb.net/templates/styling.html#fading-and-scrolling

P.S. I think, it’d have been better to create a new topic for a new problem.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.