The best flashcard app to learn languages and more!

Anki

Anki

  -  192 MB  -  Freeware
  • Latest Version

    Anki 26.05 LATEST

  • Review by

    Juan Garcia

  • Operating System

    Windows 7 64 / Windows 8 64 / Windows 10 64 / Windows 11

  • User Rating

    Click to vote
  • Author / Product

    Damien Elmes / External Link

  • Filename

    anki-26.05-win-x64.msi

Anki is an education and reference application built from the ground up to provided help to students or anyone else who wishes to strengthen their long-term retention of facts.

The core tactics that this app relies on are cards and decks – a set of questions and answers that users can create for themselves or download other people's collections of questions (decks).

Application showcases and manages how many cards are repeated, relying on user feedback to determine progress in their learning.

Users are simply required to read questions, provide answers and mark each card as “Again”, “Good”, “Easy” or “Very Easy” which will help the app to determine how often it needs to bring this card up in the learning session to help users to maximize the user’s memory.
  • Learning a language
  • Studying for medical and law exams
  • Memorizing people's names and faces
  • Brushing up on geography
  • Mastering long poems
  • Even practicing guitar chords!
The user interface of Anki for Windows PC is very simple and intuitive, enabling anyone to easily manage their card decks or start building their own.

The application tracks usage of all cards, and showcases a large list of statistics for each card and deck, including the date the card was created, how many times it was edited, the difficulty rating, the average time of user processing, how many times it was shown, tags, reviews and much more. During each practice session the app measures statistics for each deck, even managing to showcase the estimated time for the exercise’s end.

In addition to the learning part of the app, Anki also features the full card and deck editor that allows users to quickly create their own learning exercise.

They can adjust everything, including text, titles, colors, font and style, and more. Studying sessions can also be customized by time length, by numbers of cards shown, and even with a useful limit of how many new cards are introducing every day.

Anki is a highly customizable education and reference application that can provide great service to anyone willing to learn. It is especially useful for learning new languages, with cards holding new words and phrases that need to be practiced daily.

However, users need to be aware that this app UI is a bit old-school, it lacks offline Help or FAQ, and online video tutorials are focused only on the latest versions of the app, leaving highly capable older versions without official help references.

Anki is 100% FREE and is optimized for Windows 7, 8, 10 or 11.

How to Use
  • Open Anki and create a new profile
  • Click "Create Deck" to start a new flashcard set
  • Add flashcards with questions and answers
  • Use the "Browse" tool to edit or organize cards
  • Customize study settings in the "Preferences" menu
  • Sync your cards with AnkiWeb for backup and access
  • Download shared decks from the AnkiWeb database
  • Use the "Stats" feature to track study progress
  • Install add-ons for additional functionality
System Requirements
  • Windows 10 or Windows 11
  • Intel or AMD processor
  • 2GB RAM or more
  • 250MB available disk space
  • Internet connection for syncing and add-ons
PROS
  • Efficient spaced repetition system
  • Customizable card layouts and settings
  • Syncing across multiple devices
  • Large library of shared decks
  • Supports multimedia like images and audio
CONS
  • Outdated user interface design
  • Requires manual setup for customization
  • Syncing may be slow with large decks
  • Limited mobile features compared to PC version


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

What's new in this version:

New Installer:
This release replaces the terminal-based launcher introduced in 25.07 with a more standard installation process:
- Anki no longer shows a terminal on installation/update
- Installation no longer requires network access
- Updates can be installed using Tools>Check For Updates
- A standard MSI installer is provided for Windows
- A Windows ARM64 build is available
- The macOS builds require macOS 13 or later
- The Linux x86_64 build requires glibc 2.35+
- The Linux aarch64 build requires glibc 2.39+
- The minimum supported Python version is now 3.10 (The official builds still ship Python 3.13)
- Qt has been updated to 6.11
- Note: The Tools>Upgrade/Downgrade option in 25.07+ cannot be used to upgrade to this version due to packaging changes
- All user/developer documentation is now unified under a single website deployed from the main repo. The different docs repos will be archived and existing issues moved soon.
- Python API docs can now be viewed in dev-docs.ankiweb.net

FSRS/Scheduling Changes:
- Rework the efficiency ratio graph in FSRS Help Me Decide
- Require three left-clicks to unlock FSRS parameter editing
- Speed up FSRS memory state updates by batching calculations
- Improve performance of reviews_for_fsrs function
- Fix/first and latest review dates should only consider entries with a rating
- Fix/Ensure fuzz doesn't go backward during rescheduling
- Fix/Per deck retention not used when card is moved to filtered deck
- Restore retrievability SQL fix that was accidentally reverted
- Fix/rounded corners on FSRS Simulator modal
- Fix FSRS short-term schedule being ignored when using default parameters
- Use quantiles for FSRS retrievability stat ranges
- Make descending retrievability a pure R sort
- Don't reschedule suspended cards
- Apply deck-specific load balancer settings to filtered deck study
- Prioritize previously-attempted cards in the intraday learning queue
- Improve sibling dispersal in the load balancer, including across presets
- Fix desired retention not refreshing when switching deck option presets
- Improve FSRS invalid parameters error message with FAQ link
- Clarify ambiguous "this value" wording in desired retention tooltip
- Expose setParameterUnlockClickTimeoutMs for FSRS parameter unlock timeout
- Export last_interval to Python
- Expose card decay and desired retention to the custom scheduler
- Remove broken retention rate help link in stats

Other Notable Changes:
- Show saved custom colours in the image-occlusion fill tool colour picker on mobile
- Add support for tag:nc:... (case-insensitive) tag searches
- Treat newlines as term breaks in search queries
- Add syntax for multi-card cloze deletions
- Remember image-occlusion translucency toggle between sessions
- Fix "Restore to Default" picking the wrong template for basic notetype variants
- Let the "Limit to" spin box grow with its content in the filtered deck dialog
- Fix unescaped HTML in correct type-in answers
- Always show text boxes on image-occlusion cards during review
- Fix FindDuplicates dialog size exceeding screen bounds
- Fall back to Apple Samantha for TTS on macOS when no requested voice matches
- Allow variable field counts per row when CSV import uses a notetype column
- Improve handling of media files differing only in letter case
- Keep non-breaking spaces outside cloze deletions when wrapping text
- Start decoding images immediately
- Revert ForceDarkMode change that interfered with Anki's native dark theme
- Apply the nightMode class to the editor in dark mode so custom HTML styles correctly
- Auto-select the relevant note type in the Manage Note Types dialog after add/rename
- Fix field rename by matching on the old name rather than field position
- Allow horizontal scrolling on the deck options screen so AnkiDroid handles large font sizes
- Fix {{#Tags}} conditional not triggering card generation
- Silence console spam from image decoding errors during preload
- Add note type and GUID column headers to deleted.txt for easier reimport
- Apply Ctrl/Cmd+W window-closing shortcut globally to all dialogs
- Fix overlapping date ranges in graphs when "all history" is selected
- Add a preference to disable the startup add-on update check
- Add dir="auto" to cards so text direction no longer depends on the UI language
- Accept images with capitalized extensions in the Browse "Attach" dialog
- Re-enable WindowsRT TTS player on Windows 11
- Fix HTML editor collapsing after toggling sticky fields and adding a note
- Fix image occlusion editor layout for right-to-left languages
- Speed up tag autocomplete by using the Rust backend's complete_tag()
- Detect cloze fields nested inside conditionals during card generation
- Prompt to save unsaved changes when closing or switching debug console scripts
- Roll back the sidebar tag name when the backend rejects a rename
- Improve word wrapping on the Deck Options screen for narrow viewports
- Update to mpv 0.41.0
- Bundle Fcitx plugin on Linux
- Install required Linux system dependencies in install.sh
- Render sync server messages as rich text

Other Improvements:
- Fix progress bar overflow crash when one-way uploads exceed 2 GB
- Fix fatal error from rapidly double-clicking the Add button
- Use the native crypto.randomUUID() instead of a custom UUID implementation
- Credit Arabic translation contributor in the About window
- Tighten Collection.add_notes type annotation so single-pass iterables aren't accepted
- Set a friendly process job name for mpv on Windows
- Add Rust unit tests for the card-generation logic
- Add punctuation, convert raw URLs to markdown links in READMEs
- Reorder and comment .ftl files in UI order to help translators
- Show tooltips for truncated sidebar items in the Browse window
- Stop showing an error toast when saving an image-occlusion note twice on mobile
- Render <br> as a line break in card template error messages instead of literal text
- Use a true minus sign instead of a hyphen in the deck browser
- Fix sync login dialog ignoring a freshly-set custom sync server URL
- Add plural forms to unit labels next to spin boxes in the Custom Study dialog
- Don't expose collection.media.db2 over the API
- Update media sync progress dialog correctly after an error occurs
- Disable the Custom Study OK button when the selected deck is empty
- Warn the user when renaming a profile would exceed the OS path length limit
- Fix regex error
- Preserve browser focus after note export
- Avoid loading unused cacert.pem
- Strip HTML from note type names in Empty Cards dialog
- Parameterize inputs of prop:cd* queries
- Validate add-on zip entries
- Repaint UI after answer reveal to reduce glitches on cards with images

Developer Improvements:
- The release build process is now fully automated using GitHub Actions
- Migrate CI from BuildKite to GitHub Actions
- Update to Rust 1.92
- Add Dependabot config with monthly grouped updates
- Update PyCharm docs
- Update VS Code config
- Treat proto/i18n's implicit outputs as inputs
- Respect .python-version when generating pyenv
- Add more required packages to Linux build guide
- Only run cargo-deny if there are dependency changes
- Remove old GPG public key
- Raise dependabot open-pull-requests-limit to 3
- Add release-age controls for uv and Yarn dependencies
- docs: add contributing guidelines for add-ons, linked issues, and AI-assisted PRs
- Add pre-commit for automated pre-push checks
- Add a standardized pull request template
- Exclude BackendFrontendService from write_python_interface
- Add regression test for #1909 (media check long filenames)
- Update docker build command for syncserver
- Exclude more folders from build actions
- Add Windows quick start guide for new contributors
- Update Windows developer docs
- Ignore Fluent message errors in TypeScript
- Drop QDialog argument from grade_now() to make it add-on friendly
- Wrap previewer type field syntax replacement in separate method
- Document that add_deck requires refetching the deck to see its new ID
- Update security.md
- Add missing PyPI metadata to anki package
- Fix beta/rc suffix handling in int_version()
- Prevent Windows elevation errors when running ninja_gen's update binaries
- Fix atomic_rename to work with single-component relative paths
- Add Python test coverage
- Add Rust test coverage
- Add TypeScript test coverage
- Add test coverage docs
- Add tests for build_installer.py
- Add Playwright end-to-end test infrastructure
- Cache coverage baseline from main for regression checks
- Replace print() logging in pylib with Python logging
- Avoid broad warnings filter
- Enforce linked issue requirement on PRs
- Fail PR if line coverage regresses
- Import some modules lazily
- Add hash script for GitHub Actions
- Add unit tests for CSV export and import-export service layer
- Add tests for attribute and tag stripping in HTML filter
- Add unit tests for learning and relearning state transitions
- Replace deprecated global map-get/map-merge with sass:map namespace
- Remove unused Bootstrap imports from _button-mixins.scss
- Integrate Complexipy for Python complexity analysis
- Consolidated security dependency updates (Dependabot batch)
- Add just recipes for run, web-watch, rebuild-web, and clean, and add AGENTS.md
- Expand contributing guide with PR process and test requirements
- Prevent duplicate 'missing linked issue' comments on PR edits
- Use commit SHAs for GitHub Actions dependencies
- Use PowerShell to run just commands on Windows
- Exclude github-actions[bot] from contributor check