Mnemosyne
Free, open-source spaced repetition flashcard software developed since 2003 as both a learning tool and a research project into long-term memory. Written in Python with Qt interface, supports rich media including images, audio, video, and LaTeX.
Score generated by AI agents based on publicly cited evidence and reviewed by the project maintainer. Not independently validated.
Score History
Timeline events are AI-curated from public reporting. Score trajectory is derived from documented events.
Peter Bienstman, a photonics professor at Ghent University, began developing Mnemosyne in 2003 as an offshoot of the MemAid neural network spaced repetition project. The software was conceived as a free, open-source alternative to proprietary tools like SuperMemo, with a dual purpose: practical flashcard learning and academic memory research. At inception, the project had minimal governance structure but also minimal complexity.
Version 0.9 launched on February 8, 2006, introducing the core SM-2-based spaced repetition engine with basic flashcard functionality. The project began collecting opt-in anonymized research data from users, establishing its dual identity as both learning tool and research platform. Written in Python with a simple interface, it gained early traction among Linux users and LaTeX-savvy academics.
Version 1.0 released December 2007 brought USB portability, a plugin system, and automatic XML backups. The project matured into a usable tool with a growing Linux community. However, the single-maintainer model became more apparent as feature requests accumulated. Anki, born in October 2006, began growing rapidly alongside Mnemosyne, creating a widening competitive gap in community size and mobile support.
Version 2.0 in June 2012 was a complete ground-up rewrite introducing card types, hierarchical tagging, the openSM2sync bidirectional sync protocol, graphical statistics, and a card browser. The modular architecture enabled plugin writers maximum flexibility. This was a major investment of volunteer effort that kept the project technically viable, though the gap with Anki's ecosystem continued to widen.
Version 2.4 in December 2016 migrated the entire codebase to Python 3 and PyQt5, avoiding dependence on increasingly unsupported libraries. Version 2.6 in late 2017 added Anki database import, improving interoperability. The project moved from Launchpad to GitHub in October 2017. These were necessary modernization efforts, but the single-maintainer governance model remained unchanged with only about 25 contributors across the entire project history.
Mnemosyne continues as a stable, healthy open-source project. Version 2.10 (January 2023) completed the PyQt6 migration and version 2.11 (November 2023) added ruby/furigana support and pip installation. No desktop releases since late 2023, but the Android client received a policy-compliance update in July 2024. The project remains a niche but reliable tool, with the only enshittification risks being the single-maintainer fragility and widening feature gap compared to Anki.
Alternatives
The most popular open-source spaced repetition app with massive shared deck ecosystem, highly customizable, and strong mobile support. Moderate switch — can import Mnemosyne data. Free on desktop and Android, paid on iOS ($24.99). More complex interface but far more powerful.
Commercial flashcard platform with the largest shared content library and polished mobile apps. Easy switch but different philosophy — more gamified, less focused on pure spaced repetition. Free tier is ad-supported; Plus plan $7.99/month removes ads and adds features.
The original spaced repetition software by Piotr Wozniak, creator of the SM-2 algorithm Mnemosyne uses. Most advanced algorithm (SM-18) with incremental reading. Hard switch — steep learning curve, Windows only for desktop. Paid software with subscription model.
Dimensional Breakdown
Summaries below were written by AI agents based on the cited evidence. They are editorial interpretations, not independent research findings.
Dimension History
Timeline (23 events)
Peter Bienstman begins Mnemosyne development from MemAid
Belgian photonics professor Peter Bienstman at Ghent University started developing Mnemosyne as an offshoot of the MemAid neural network spaced repetition project created by Dawid Calinski. The project aimed to create a free, open-source alternative to proprietary tools like SuperMemo while simultaneously serving as a platform for academic memory research.
Mnemosyne v0.9 first public release with SM-2 algorithm
Mnemosyne version 0.9 launched as the first public release, implementing a modified version of the SM-2 spaced repetition algorithm with adjustments for early and late repetitions. Written in Python, the software supported Windows, Linux, and macOS from the start.
Opt-in anonymized research data collection begins
From the first release, Mnemosyne included an opt-in mechanism for users to contribute anonymized review data for long-term memory research. Card contents are represented only by numerical IDs, and the feature is off by default. Users can operate the software entirely offline without transmitting any data.
Version 1.0 introduces plugin system and USB portability
Mnemosyne 1.0 released with a plugin system enabling extensibility, USB portability support for running from removable drives, and automatic XML backups. The plugin architecture allowed community contributions like cloze deletion card types and third-party mobile integrations.
First research dataset released publicly via BitTorrent
The Mnemosyne Project released its first accumulated research dataset via BitTorrent, making anonymized spaced repetition learning data available to any researcher. This demonstrated the project's commitment to data democratization and academic transparency, with no attempt to commercialize the collected data.
Mnemogogo plugin enables mobile review on Java phones
Version 1.2.2 added support for Tim Bourke's Mnemogogo plugin, which enabled Mnemosyne card review on Java-based mobile phones. This was an early community-driven mobile solution that exported scheduled cards to J2ME devices for review, with results synced back to the desktop.
SourceForge profiles Mnemosyne and Peter Bienstman
SourceForge published a feature article on Mnemosyne, where Peter Bienstman explained the project's origins: he built the tool because existing flashcard applications were difficult to use and he wanted to collect data for memory research. The article previewed the upcoming v2.0 complete rewrite.
Version 2.0 complete rewrite with sync protocol
Mnemosyne 2.0 was a ground-up rewrite with a new modular architecture consisting of swappable components. It introduced card types (including N-sided cards), hierarchical tagging, a powerful card browser, graphical statistics, and the openSM2sync bidirectional synchronization protocol. The new design gave plugin writers maximum flexibility.
Version 2.1 adds media-bundled card sharing format
Mnemosyne 2.1 introduced a new .cards import/export format that bundles media files (images, audio, video) with card content for sharing. It also added tab-separated text export. This improved data portability and made community deck sharing more practical.
Second research dataset released for public download
The Mnemosyne Project released its January 2014 dataset for direct download, accumulating years of anonymized spaced repetition data from volunteering users worldwide. The dataset has since been used in published academic research, including studies on forgetting curves and optimal review scheduling.
Version 2.3 merges webserver and adds Android client
Mnemosyne 2.3 merged the webserver functionality into the main program and introduced an Android client that runs a webserver on the device for browser-based review with full sync protocol support. Backup creation time was also reduced by a factor of 2 or more. This was the first official mobile solution after the community-driven Mnemogogo plugin.
Version 2.4 migrates to Python 3 and PyQt5
Mnemosyne 2.4 upgraded the entire codebase from Python 2 to Python 3 and from PyQt4 to PyQt5, ensuring the project no longer depended on libraries becoming unsupported. The migration improved startup performance and added high-DPI display scaling support.
Version 2.5 introduces configurable study modes
Mnemosyne 2.5 added study modes allowing users to customize card selection strategies, such as studying only unlearned cards. The cramming scheduler was migrated into this new framework. High-DPI display scaling was enabled by default.
Project migrates from Launchpad to GitHub
The Mnemosyne Project moved its code repository and bug tracker from Launchpad to GitHub, retaining Launchpad only for translations. This modernized the development workflow and made the project more accessible to potential contributors familiar with GitHub's pull request model.
Version 2.6 adds Anki database import support
Mnemosyne 2.6 introduced import of Anki databases (both .anki2 and .apkg formats), significantly improving data portability and reducing switching costs for users moving between the two major open-source spaced repetition platforms.
PNAS publishes spaced repetition optimization study using Mnemosyne data
Researchers at the Max Planck Institute published 'Enhancing Human Learning via Spaced Repetition Optimization' in the Proceedings of the National Academy of Sciences. The study referenced Mnemosyne as a spaced repetition platform that generates review event data, contributing to the growing body of academic research enabled by the project's data collection.
Version 2.7 adds Google Translate and text-to-speech
Mnemosyne 2.7 integrated Google text-to-speech and Google Translate directly into the card editing workflow, allowing users to add pronunciation audio and translations via right-click menu. The release also transitioned to 64-bit architecture exclusively and bundled Python 3.7.
Version 2.8 adds retention threshold to cap review load
Mnemosyne 2.8 introduced an option to stop showing cards once they reach a certain number of successful retention repetitions, preventing review loads from growing indefinitely over years of use. The release also made sync password storage optional with a security warning that passwords were stored in plain text.
Version 2.9 adds card history reset and webserver API
Mnemosyne 2.9 added the ability to reset a card's learning history without deleting the card, refined the cramming scheduler, and introduced a webserver API call for querying scheduled card counts programmatically. Python 3.10 compatibility was improved.
Version 2.10 migrates to PyQt6 and removes Flash support
Mnemosyne 2.10 upgraded from PyQt5 to PyQt6 and Python 3.11, removed the deprecated Flash insertion capability, and switched audio/video processing from mplayer to native Qt modules. This ensured the project continued running on modern Python and Qt frameworks rather than depending on end-of-life libraries.
Version 2.11 adds pip installation and ruby/furigana support
Mnemosyne 2.11 introduced ruby/furigana annotation rendering for Japanese and other CJK language learners, enabled pip-based installation via 'pip install mnemosyne-proj' for easier macOS and Linux deployment, and transitioned the build system to Poetry and testing to Pytest. This was the last major desktop release as of early 2026.
Hacker News discusses Mnemosyne as viable Anki alternative
A Hacker News thread about Mnemosyne drew community discussion, with users noting the project's readable codebase, Debian repository availability, and sustainable simplicity. Critics pointed to the dated UI compared to AnkiDroid and limited mobile functionality. Several commenters noted that Mnemosyne actually predates Anki.
Android client v2.7.4 updated for Google Play policy compliance
The Mnemosyne Android client received a v2.7.4 update conforming to Google's new policies for targeted Android version, privacy requirements, and full-screen behavior. The update was a maintenance release to keep the app available on Google Play rather than adding new features.