Free. Open source. Local first. Built by learners, for learners.
Mnemo is a desktop study app for notes, flashcards, mind maps and progress tracking. It keeps those tools together without taking ownership of your work.
Your notes and study data live on your machine. Mnemo has no accounts and no tracking. By default, it makes a request to GitHub Releases when it starts to check for updates. You can turn this off in Settings > Updates. Mnemo sends no account or analytics data with that request.
No ads. No accounts. No tracking. Local by default.
Mnemo combines a React and TypeScript interface with a local .NET backend. PhotinoX hosts the interface in the operating system's native web view.
|
Notes Editor |
Flashcards |
|
Mind map |
|
Notes use a block editor built for long documents, with rich text, math, code, images,
callouts, columns, page links, tabs, find and replace, and a draggable note tree. Notes export
to Markdown, portable .mnemo packages, or PDF through a bundled Typst compiler.
Flashcards support classic and cloze cards, decks and folders, and review scheduling
through FSRS. A separate self-graded test mode lets you test yourself without changing the
review schedule. Decks can move through Anki packages, CSV and .mnemo packages.
Mind maps run on an infinite canvas built for Mnemo. Maps support nodes, shapes, text, images, frames, several layout algorithms, custom edges, reusable styles and a minimap. You can export a map to PNG, SVG or a Markdown outline.
Overview is a configurable study dashboard. Its widgets cover activity, recent notes and decks, study goals, usage, memory and testing.
Across the app you also get light and dark themes, remappable shortcuts, global search, notification history and interface support for English, German, Spanish, Japanese and Norwegian Bokmål.
Mnemo does not try to trap your material inside the application.
- Notes export to Markdown, PDF and
.mnemopackages - Flashcards import and export through Anki packages, CSV and
.mnemopackages - Mind maps export to PNG, SVG, Markdown and
.mnemopackages - The application database and managed files stay in your local application data directory
Mnemo is currently in the 0.8.0 beta.
| Platform | Build | Status |
|---|---|---|
| Windows 10 and 11, x64 | Installer and portable zip | Most stable, unsigned |
| macOS, Apple silicon | Installer package and portable app | Tested on an Apple silicon Mac, signed from 0.8.1-nightly.5 |
| Linux, x64 | AppImage and portable archive | First preview |
Windows has had months of daily use. macOS has been tested on an Apple silicon Mac but has seen far less use. Linux is the least tested, so treat it as a preview. Please report problems specific to your platform.
Starting with v0.8.1-nightly.5, the macOS downloads are signed and notarized. macOS still asks
you to confirm the first time you open an app downloaded from the internet, but no longer blocks
it. Earlier macOS releases, including the current beta v0.8.0-rc.2, are unsigned; see
macOS. The Windows builds are not code signed yet, so SmartScreen warns before the
first run. Tagged releases are built from public source through GitHub Actions, and the 0.8
release workflow publishes a SHA256SUMS.txt file for its installers and portable archives.
This is pre-release software. Keep a current backup of anything important.
Choose the newest 0.8 beta on the releases page.
An existing 0.6.x installation will not offer the 0.8 update because the package identity changed with the rebuild. Download and run the 0.8 installer directly. Your notes, flashcards, mind maps and settings stay in the same data directory and are migrated when 0.8 first opens. Close Mnemo and make a backup of that directory before upgrading.
- Download the Windows x64 installer, or download and unpack the portable zip.
- Run Mnemo. If SmartScreen appears, choose More info, then Run anyway.
Mnemo requires the Microsoft Edge WebView2 Evergreen Runtime. It is normally already present on Windows 11 and current Windows 10 installations. Windows Server, LTSC and stripped Windows images may need it installed separately.
The current macOS build supports Apple silicon. Most people should use the installer package:
download the .pkg file, open it and follow the installer.
To use the portable app instead, download Mnemo-Portable-osx-arm64.zip and open it to unpack
Mnemo.app. Move Mnemo.app into your Applications folder before you open it for the
first time. If you open it from Downloads, macOS runs it from a temporary read-only copy and
Mnemo cannot update itself.
The first time you open Mnemo, macOS asks whether you want to open an app downloaded from the internet. Choose Open.
Releases before v0.8.1-nightly.5, including v0.8.0-rc.2, are unsigned, and macOS blocks them.
Their portable download is a .tar.gz folder rather than Mnemo.app. First check the
download against the release's SHA256SUMS.txt. Then try to open it once, open System
Settings > Privacy & Security, scroll to Security, choose Open Anyway, and confirm
Open.
The current Linux build supports x64 and targets Ubuntu 22.04 or newer. Download the AppImage, make it executable, then run it:
chmod +x Mnemo.Desktop.V2-linux-x64-*.AppImage
./Mnemo.Desktop.V2-linux-x64-*.AppImageOn Ubuntu 24.04, install the native runtime packages first:
sudo apt install libfuse2t64 libwebkit2gtk-4.1-0 libjavascriptcoregtk-4.1-0 libgtk-3-0t64 libnotify4Other distributions need equivalent GTK 3, WebKitGTK 4.1, JavaScriptCoreGTK, libnotify and FUSE 2 packages.
Open Settings > Storage & data to create one complete backup file containing your notes, flashcards, mind maps, conversations, settings, trash, and the images and files inside them. API keys stay on the device. Restore the file from the same page. Mnemo validates it before replacing anything and keeps a recovery copy of the previous data.
For a manual backup, open Settings > Support > Open data folder, close Mnemo, then copy the complete data directory somewhere safe. Restoring that copy restores the application as a whole.
A .mnemo export covers the notes, decks or maps selected for that export. It does not include
the trash, Overview layout or all application settings. Items in the trash are permanently
removed after 30 days.
An installed copy can be removed through the operating system; on macOS, drag Mnemo.app from Applications to the Trash. A portable copy can be removed by deleting its extracted folder, or Mnemo.app on macOS. Mnemo leaves your data directory in place so uninstalling or upgrading does not erase your work. Delete that directory yourself only when you want to remove all Mnemo data.
Turn off Launch at startup before uninstalling. If Mnemo was removed first, clear the leftover
startup entry named Mnemo from the Windows Startup Apps list, the macOS login items, or your
Linux desktop's autostart settings.
Mnemo is in beta. The 0.8.x releases focus on fixes and platform coverage. Version 0.9 brings search across notes and the rebuilt assistant, which runs locally. Version 1.0 means signed builds on every platform, Windows, macOS and Linux validated on real hardware, and an assistant available to everyone.
Document reading, more ways to practise, optional sync and extensions follow. A full roadmap will be published soon.
Mnemo ships a web frontend and .NET backend together as one desktop application.
mnemo-webcontains the React, TypeScript and Tailwind interface.Mnemo.Hostopens the PhotinoX window, runs the loopback-only local API and serves the frontend.Mnemo.Corecontains shared models, interfaces and contracts.Mnemo.Infrastructurecontains storage, notes, flashcards, mind maps, import, export and assistant implementations.
The backend uses .NET 10, ASP.NET Core and SQLite. The frontend uses React 19, TypeScript and Vite, with ProseMirror for editing, KaTeX for math and Typst for PDF export.
You will need:
- .NET 10 SDK
- Node.js 24
- npm
Install the frontend dependencies from the lockfile:
cd mnemo-web
npm ci
cd ..Restore the bundled Typst binary:
./scripts/restore-typst.ps1On Linux or macOS:
./scripts/restore-typst.shFor development, start the host first:
dotnet run --project Mnemo.Host -- --devThen start the frontend in another terminal:
cd mnemo-web
npm run devThe host and Vite communicate through a per-launch development handshake, so the host needs to start first.
On Windows, dev.bat starts both processes, each in its own terminal, and installs the web
dependencies on first run.
For development workflow, testing and contribution guidelines, see CONTRIBUTING.md.
Contributions are welcome.
Read CONTRIBUTING.md and coding-standard.md before
opening a pull request. Issues labelled good first issue are a good place to start.
Please also see:
Mnemo is licensed under the Apache License 2.0.
See LICENSE for the full license, NOTICE for attribution and THIRD-PARTY-NOTICES for bundled dependencies.
The Mnemo name, logo and visual identity are covered separately by BRAND.md.



