The best flashcard app to learn languages and more!

Anki

Anki 25.07

  -  11.9 MB  -  Freeware

Sometimes latest versions of the software can cause issues when installed on older devices or devices running an older version of the operating system.

Software makers usually fix these issues but it can take them some time. What you can do in the meantime is to download and install an older version of Anki 25.07.


For those interested in downloading the most recent release of Anki or reading our review, simply click here.


All old versions distributed on our website are completely virus-free and available for download at no cost.


We would love to hear from you

If you have any questions or ideas that you want to share with us - head over to our Contact page and let us know. We value your feedback!

Why is this app published on FileHorse? (More info)

What's new in this version:

New Launcher:
The way Anki is packaged and distributed has changed:
- You can use the launchers below to download the latest Anki version, and update to newer versions/downgrade to old ones
- You'll find a Tools>Upgrade/Downgrade menu item inside Anki to return the launcher
- The oldest supported Anki version to install is 2.1.50
- The Mac and Linux launchers support both AMD64 (Intel) and ARM64 (Apple Silicon) machines. The Windows installer is AMD64-only, but will run in emulation mode on ARM Windows.
- On Linux, glibc 2.36 or later is now required
- Anki now ships with Python 3.13 (but has not yet bumped the minimum Python from 3.9)
- The new launcher still has room for improvement

Notable FSRS/Scheduling changes:
- FSRS-6 brings further algorithm improvements
- Add "grade now" action
- Support load balance and easy days when rescheduling
- Support load balance and easy days in FSRS simulator
- Add a 'max interval too low' warning.
- The optimizer uses a better approach for evaluating optimizations
- The Evaluate button has been replaced with an optional health check that runs during optimization
- #4068 and #4047. If you wish to keep using the old evaluate, you can show the button with a debug console command: #4149.
- Calculate accurate retrievability in card info by elapsed seconds
- Desired retention warning improvements
- Set Due Date: Set interval to actual elapsed days when FSRS is enabled
- Feat/Card ID special field
- Limit study time to hours in reviews graph
- Add search keyword to strip clozes beforehand

Other Notable Changes:
- Add IO mask colour fill tool
- Allow rotating IO masks
- Add an option to disable middle click to paste on Linux
- Allow drag-dropping into plaintext editor
- Cache rendered mathjax to avoid stalling when editing plaintext
- Consider leeches in FSRS simulator
- Copy card debug info
- Improve handling of 'ignore cards before'
- Improve performance of nested clozes and increase limit to 10 levels
- Replace some means in Stats with medians

Other Improvements:
- Add a warning when there is a cloze in "back extra" and "text" is empty
- Add Cmd+W close shortcut (on Mac) to more dialogs
- Add help modal to TR table
- Add hook for day rollover
- Add hooks for comparing answers
- Add min-height to fields
- Add title for some dialogs and avoid hardcoding the text of the discard changes dialog
- Add-ons Dialog: disable View Config/Page/Files buttons when clicking them would not lead to useful result
- Added translation contributor
- Center align rows in FSRS simulator
- Chore/Simulator modal i18n
- Cleanup old TODO
- Cloze button get disabled outside of cloze field
- Comment for translators for "Daily load"
- Comment for translators for statistics-total
- Comments for translators about sort order
- Debounce mathjax rendering to avoid stalling
- Don't recalculate remaining steps, conditionally
- feat: add title to some of the sync dialogs
- Feat/simplified relearning steps logic with updated FSRS training API
- Fine-tune load balancer
- Fix autoplay not being stopped on editor close if it interrupted another
- Fix broken window decorations on unpackaged GNOME instances
- Fix card layout editor crash when editing while reviewing
- Fix cargo ignoring lockfile when building syncserver image
- Fix deck day limits incorrectly being carried over when importing
- Fix drag/drop breaking when editor is zoomed
- Fix error when middle clicking in editor on systems w/o global mouse selection
- Fix fields with \n being ignored when searching all fields w/o regex
- Fix flashing when opening the stats, empty cards or find dupes dialogs
- Fix panic when clearing today limits on the day collection was made
- Fix superfluous message when a deck is dragged to its parent
- Fix: Cloze cards missing "copy card info" button
- Fix: correct typo and adjust indentation in docstring
- fix: Task manager exception handling
- Fix/Calculate missing memory states on simulate
- Fix/incorrect initialization of SchedTimingToday in graphs/retrievability.rs
- Fix/index out of bounds exception in Card Stats Data
- Hide AverageForDaysStudied when studiedPercent = 100
- Improve natural unit conversion for a time b/w 360 to 365 days
- Improve performance of stats revlog entries with memory state
- Increase font size in mathjax preview for accessibility
- Loosen csv metadata parsing
- Modify card rendering output to specify if rendered card is empty
- Move TR table upwards
- NF: explaining the bridge between languages
- NF: sligthly optimize cards.py
- Persist tags when refetching csv metadata while importing
- Prevent accidental dragging of audio playback buttons and hint links
- Refactor: Make Load Balancer Optional Throughout Codebase
- Remove use of createClassComponent in mathjax-element.ts
- Return a copy of note type in ModelManager.get()
- Show "and others" at the end of the contributor list in the About dialog
- Some documentation and reduce copy/paste
- Style: add shadow to graph tooltip
- Style: use consistent input styles in deck options
- Update FsrsOptions.svelte to add margin / gap between simulator buttons
- Update my name in Anki's credits
- Update NoteEditor.svelte to swap sticky pin and html view.
- Update uninstall.sh to give feedback to the user
- Use default flag name when flag is renamed to empty string
- Use tilted (filled and unfilled) sticky icons in the cards editor
- Update to FSRS-rs v3.0.0 (fix historic memory state)
- Fix/FSRS-6 doesn't give <1d intervals & use log loss instead of RMSE(bins)
- Update sorting by R for FSRS 6
- Fix/No memory state cards have revlogs in reverse order on card stats screen.
- Fix/incorrect fallback of decay
- Fix/missing-simulator-decay-for-FSRS-5
- Feat/CMRR uses simulate config
- Add a way to pass information from browser_will_search to browser_did_search without having it going to the backend
- Fix docs of note_fields_check to match changes made in PR #3912
- add toggle for browser sidebar
- Close only “child” window (e.g. Preview) inside Browser on Cmd+W
- Add ellipsis to Grade Now
- Add left margin to browser when sidebar is closed
- Add myself to about.py
- Bump vite from 5.4.18 to 5.4.19
- Change collection size too large error to add MB values and info about compressed vs. uncompressed.
- Check if self.card.reps>0 before substracing 1
- Clarify field separator being a guess when importing csv
- Clear notetypes cache on import
- Docs: correct reference for linux dockerfile
- Don't use intraday relearning step as starting memory state
- Expose decay of Card object in Python
- Fix "Open Image" being broken for filenames with certain reserved characters
- Fix broken support link
- FIX diacritics being cutoff in input card templates
- Fix DR not being in percent in the forgetting curve
- Fix existing IO mask borders getting scaled
- Fix invalid rust-analyzer option
- Fix IO masks not saving when scaled
- Fix IO undo logic error
- Fix mathjax images erroneously appearing enlarged
- Fix mpv cleanup
- Fix new card sort order not reacting to changes in gather order
- Fix polygons closing when clicking existing masks while editing IO
- Fix pressing Ctrl+Shift+N in browser editor potentially discarding field changes
- Fix searching for non-blank adjacent wildcard fields
- Fix syncserver docker image build by bumping Dockerfile rust version
- Fix unescaped deck names missing from tooltips when deleted
- Fix URL schemes translation
- Fix/CMRR button style
- Fix/Invalid parameter counts saveable
- Fix/Layout shift on Card Counts button hover
- Fix/Leech suspended tooltip
- Fix/Prevent manual resize of params input
- Fix/remove incorrect invalid input check
- Fix/SQL retrievability underflow
- Fix/stability doesn't increase after pressing good
- Improve an Error Message
- improve the accuracy of the expected workload calculation
- Include reset entries in dataset exported for research
- Make IO polygon markers centred and transparent
- Offload mpv callback registration to background thread to avoid UI bl…
- Optimize All -> Optimize All Presets
- Properly align label and radio input in the stats window
- Remove dead code in reviews_for_fsrs
- Remove incorrect "double-click to expand" overlay label on small images in editor
- Remove percentages of x-axis in the answer buttons graph
- Resize fsrs params input to fit content
- Resolve Python regex library warnings
- Restore richtext editor focus on mathjax overlay close event
- Style the fsrs params input
- Update backup restore message
- Update sync.ftl
- Upgrade esbuild versions
- Use correct debug scripts folder
- Use non breaking spaces for names on about page
- Update default styles
- Fix/remove the lower limit of interval when set due date
- Delay retention workload info display after FSRS optimization alerts
- style hr element
- Feat/Message at 100% progress for optimize
- Use abbreviations for days of week
- Fix/Missing CardID special field
- update to fsrs-rs 4.1.1
- Fix IO text labels' fill attr being saved even if default colour
- Comments for translators
- Fix unescaped deck names potentially missing from overview
- Clear desired retention and decay when changing decks
- Update the default value of FSRS-6 decay in forgetting curve
- The remaining Qt5 compatibility code has been removed.
- include decay in ComputeMemoryStateResponse
- Upgrade to nom 8.0.0
- Fix/set due date on intraday learning card
- Save dr and decay in card even if item is None
- Fix repeated ticks in reviews graph
- Fix arrow keys not working in tag editor on qt 6.8
- Fix tag editor's focus outline appearing cut off
- Adjust top toolbar height on body class update
- Refactor FSRS data clearing into Card::clear_fsrs_data
- Fix/Optimize button alignment
- Fix/unapplied scss
- Make PYTHONPYCACHEPREFIX point to an absolute path
- Fix/Add check_output_timestamps to PythonEnvironment
- Remove newline: 'Restore to default confirmation'
- Fix/update card.decay in card_state_updater
- Fix deck options page being scrollable while simulator modal is open
- CHANGE right-click in the editor to show option to open folder in linux
- FIX: Margin between icon was selectable but shouldn't be
- Switch to Ruff
- Revert "Fix/unapplied scss"
- Add disclaimer to workload tooltip
- Followup to #4122 (make text selectable)
- Only run "empty_filtered_deck" on filtered decks
- Add "Copy Debug Info" to show_exception's dialog
- Comments for translators
- Use system font for webviews instead of bootstrap font stack
- Feat/Add globe to help tooltip
- Fix unique blank decks being created per row with empty deck column when importing csv