Open-source alternatives to Evernote: 5 personal notes tools compared
Moving a decade of notes off a hosted service means the notes, the attachments and the search index all become your problem, and the five projects here disagree about what a note even is. laurent22/joplin is the one most readers should start with, because its notes are Markdown files on your own disk with a sync target you choose.
What Evernote does, and why people look elsewhere
Evernote is a hosted note-taking app: notebooks, tags, web clipping, attachments and search across devices.
- device and note limits on the free plan and a subscription for the rest
- notes are stored on the vendor's servers
- export is the vendor's ENEX format
The candidates at a glance
| Project | Licence | Maintenance | Language | GitHub stars | Install | Best for |
|---|---|---|---|---|---|---|
| laurent22/joplin | Custom licenceCustom licence: read the LICENSE file | Commits in the last dayLast push October 11, 2026 | TypeScript | 56,684 | See analysis | You want your notes as Markdown files you own, on Windows, macOS, Linux, Android or iOS, with an offline-first model and full text search on every platform. The README also describes end-to-end encrypted synchronisation against Nextcloud, Dropbox, OneDrive or Joplin Cloud, plugins and themes, and a Web Clipper for Firefox and Chrome. |
| TriliumNext/Trilium | AGPL-3.0Network copyleft: hosting a modified version means sharing source | Commits in the last six monthsLast push October 11, 2026 | TypeScript | 38,280 | See analysis | You keep tens of thousands of interlinked notes and want the data on a server you control, with per-note encryption and a REST API for automation. The README describes an arbitrarily deep tree where a single note can sit in more than one place, a rich editor with tables, images, math and syntax-highlighted code notes, relation maps, mind maps, geo maps, scripting, public publishing, a REST API, and a touch-optimised mobile frontend. |
| siyuan-note/siyuan | AGPL-3.0Network copyleft: hosting a modified version means sharing source | Commits in the last dayLast push October 11, 2026 | TypeScript | 46,718 | See analysis | You want block-level references and two-way links with a Markdown WYSIWYG editor, and you are comfortable running a project whose releases still land as betas. The README describes a content block model, block zoom-in, large document editing, mathematical formulas, charts, flowcharts and Gantt charts, web clipping, exports to standard Markdown, PDF, Word and HTML, a table database view, flashcard spaced repetition, OCR, Android, iOS and HarmonyOS apps, and a Docker deployment. |
| streetwriters/notesnook | GPL-3.0Copyleft: distributing it means sharing source | Commits in the last dayLast push October 11, 2026 | TypeScript | 14,742 | See analysis | You want client-side encryption you can read the source for, with web, desktop and mobile clients, and you are willing to build and maintain a codebase yourself. The README states that everything is encrypted on your device using XChaCha20-Poly1305 and Argon2, and the monorepo exposes the crypto layer as a wrapper around libsodium plus a streaming interface over an IndexedDB-based file system. |
| standardnotes/app | AGPL-3.0Network copyleft: hosting a modified version means sharing source | Commits in the last six monthsLast push October 9, 2026 | TypeScript | 6,653 | Command documented | You want end-to-end encrypted notes and files and either want to inspect the client source or serve the web app from your own static host pointed at your own sync server. The README documents building the web app into a folder of static files you can serve behind a web server, and a DEFAULT_SYNC_SERVER environment variable to set the server used for login and registration. |
Each alternative in detail
laurent22/joplinJoplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.
- Best for
- You want your notes as Markdown files you own, on Windows, macOS, Linux, Android or iOS, with an offline-first model and full text search on every platform. The README also describes end-to-end encrypted synchronisation against Nextcloud, Dropbox, OneDrive or Joplin Cloud, plugins and themes, and a Web Clipper for Firefox and Chrome.
- What you give up
- It is not a hosted browser-only workspace and there is no local install to skip, and our analysis of Joplin says to skip it if you expect live multi-user editing, which it does not offer. Two things to check before you commit: which sync target you will actually use, and whether encryption is enabled on the whole profile rather than a single device. The repository's licence is one GitHub cannot classify, so read the terms for any package you plan to ship or fork.
TriliumNext/TriliumBuild your personal knowledge base with Trilium Notes
- Best for
- You keep tens of thousands of interlinked notes and want the data on a server you control, with per-note encryption and a REST API for automation. The README describes an arbitrarily deep tree where a single note can sit in more than one place, a rich editor with tables, images, math and syntax-highlighted code notes, relation maps, mind maps, geo maps, scripting, public publishing, a REST API, and a touch-optimised mobile frontend.
- What you give up
- It is not plain Markdown files on disk, and our analysis of Trilium says not to adopt it if that is what you need or if you want a native mobile app and nothing else. The upgrade trap is specific and worth knowing: the README states that versions after v0.90.4 increment the sync version, which prevents direct migration from the original upstream, so every instance you run has to sit on the same side of that line. AGPL-3.0 applies if you modify and expose it.
siyuan-note/siyuanA privacy-first, self-hosted, fully open source personal knowledge management software, written in typescript and golang.
- Best for
- You want block-level references and two-way links with a Markdown WYSIWYG editor, and you are comfortable running a project whose releases still land as betas. The README describes a content block model, block zoom-in, large document editing, mathematical formulas, charts, flowcharts and Gantt charts, web clipping, exports to standard Markdown, PDF, Word and HTML, a table database view, flashcard spaced repetition, OCR, Android, iOS and HarmonyOS apps, and a Docker deployment.
- What you give up
- Our analysis of SiYuan says not to adopt it if you need a stable plugin API contract, because the ecosystem is built on a petal plugin project alongside an editor engine, a community marketplace and a data repo. It is also a Go binary you run behind your own reverse proxy, and the FAQ has a section on what to do if the data repo key is lost, which tells you the sync and backup strategy has a sharp edge. The releases listed are v3.8.2 betas, and some features are for paid members.
streetwriters/notesnookA fully open source & end-to-end encrypted note taking alternative to Evernote.
- Best for
- You want client-side encryption you can read the source for, with web, desktop and mobile clients, and you are willing to build and maintain a codebase yourself. The README states that everything is encrypted on your device using XChaCha20-Poly1305 and Argon2, and the monorepo exposes the crypto layer as a wrapper around libsodium plus a streaming interface over an IndexedDB-based file system.
- What you give up
- There is no self-hosted sync server here. Our analysis of Notesnook is explicit that the repository ships the clients while the sync service remains Notesnook's own, so if keeping the notes off a vendor's infrastructure is the reason you are here, this is the wrong one. Before committing, check that the release you intend to run exists for your platform and that the importer covers the export format of the app you are leaving.
standardnotes/appThink fearlessly with end-to-end encrypted notes and files. For issues, visit https://standardnotes.com/forum or https://standardnotes.com/help.
- Best for
- You want end-to-end encrypted notes and files and either want to inspect the client source or serve the web app from your own static host pointed at your own sync server. The README documents building the web app into a folder of static files you can serve behind a web server, and a DEFAULT_SYNC_SERVER environment variable to set the server used for login and registration.
- What you give up
- The repository is the client monorepo, not the server, and our analysis of Standard Notes says not to expect the README to walk you through running a sync server, because that path is linked out to the help site. If you fork it and host a modified build, AGPL-3.0 obligations attach to what you put in front of users, so settle that before you deploy. It also declares a narrow engines range, and the analysis asks you to check your Node version against it.
- First install step
- Full setup guide
git clone https://github.com/standardnotes/app.git cd app yarn install yarn build:web cd packages/web python -m http.server 8080
A local file, a note tree, a block editor, an encrypted client and a sync client
Evernote is a hosted note-taking app: notebooks, tags, web clipping, attachments and search across devices. People look elsewhere for three reasons. Device and note limits on the free plan and a subscription for the rest. Notes stored on the vendor's servers. And an export that is the vendor's ENEX format.
OneNote and Apple Notes are the other names in these searches, and neither is here for different reasons. OneNote is a hosted service tied to a Microsoft account, which is the second reason on the list. Apple Notes is tied to an Apple account and its data model is not something you can point at your own storage. Both are reasonable products; neither lets you take the notes somewhere you control.
The five projects here disagree about what a note is, and that is the most useful thing to understand before comparing features.
laurent22/joplin treats a note as a Markdown file. The README describes notes in Markdown format, searchable, copyable, taggable and modifiable either from the applications or from your own text editor, and calls the app offline-first so your data is always on your phone or computer. Sync is a choice of destination rather than a given.
TriliumNext/Trilium treats notes as nodes in a tree. The README describes arbitrarily deep nesting, the ability to place a single note into multiple places in the tree, a rich WYSIWYG editor with tables, images and math, code notes with syntax highlighting, full text search, note hoisting, note versioning, attributes used for organisation, querying and scripting, per-note encryption, relation maps and note maps, geo maps with GPX tracks, mind maps, an Excalidraw-based canvas, scripting and a REST API for automation.
siyuan-note/siyuan treats the block as the unit. The README describes block-level references and two-way links, custom attributes, a SQL query embed, a siyuan:// protocol, a block-style editor with Markdown WYSIWYG, block zoom-in, and a surrounding ecosystem of separate projects for the editor engine, a Chrome extension, a community marketplace, a data repo, the plugin API and the mobile apps.
streetwriters/notesnook and standardnotes/app both treat the note as something only the device holder can read. Notesnook states that it encrypts everything on your device using XChaCha20-Poly1305 and Argon2, to keep zero knowledge properties, and Standard Notes describes end-to-end encrypted sync where only you can read your notes. The difference between them is where the code stops: Notesnook's repository is the clients, and Standard Notes' repository is the client monorepo with the server documented elsewhere.
Left out, and worth saying why: the Markdown editors that are really document editors with a notes mode, and the wiki engines that are really publishing systems. Both exist; neither is a personal notes app you would migrate a notebook into.
Choosing by scenario: one person, a family, a company with compliance needs, a developer automating notes
The first question is whether the notes are yours alone, yours and a household's, or a company's record.
One person who wants their notes as files should look at laurent22/joplin. Everything is a Markdown file, the client works on five platforms, it works offline, and sync is a destination you pick. The cost is that there is no live multi-user editing, and there is no browser-only hosted workspace, which our analysis of Joplin names as the reasons to skip it.
One person with tens of thousands of interlinked notes is the case TriliumNext/Trilium is built for. A tree, references in both directions, attributes that can be queried and scripted, and a REST API for automation. The costs are that the data is not plain Markdown files on disk, and that the mobile experience is a touch-optimised frontend rather than a native app.
A family sharing a notebook library is poorly served by most of these, and that is worth saying plainly. Joplin's sync carries one person's library; Trilium can share and publish notes to the public internet; SiYuan has the smallest user model of the three. A family that wants a shared household notebook should think about whether it needs a notes tool at all, because the collaborative case is a different product category.
A company with compliance or residency requirements has a narrower set of realistic options and a different priority. standardnotes/app is the one that can be pointed at your own sync server, with the client served from your own static host. streetwriters/notesnook encrypts on device but its sync service is not in the repository, so the ciphertext still travels to Notesnook. For a company, that distinction is the whole question.
A developer automating notes wants an API. TriliumNext/Trilium has a documented REST API, SiYuan ships an API alongside a plugin system, and Joplin has plugins and themes. That makes Trilium and SiYuan the two to prototype against.
What each one asks you to run
The install commands on this page range from a package manager bootstrap to nothing at all, and that spread is the operational difference.
laurent22/joplin shows yarn install followed by yarn buildSequential, which is a source build of the applications rather than a deployment, and it reflects the fact that Joplin's answer is that you install a client. Most people never run this; they download a build for their platform. The operational surface for a user is the sync target, and our analysis of Joplin asks you to settle which one you will use and whether encryption is enabled on the whole profile rather than on one device.
streetwriters/notesnook shows npm install and npm run bootstrap, also a monorepo build. The README is explicit that this repository contains all the code required to build and use the web, desktop and mobile clients, and the developer guide spells out the stack: React across all front ends, React Native for mobile, Electron for desktop, and a crypto package that is a wrapper around libsodium.
standardnotes/app is the one where the README documents something you can actually run. It describes the web app compiled into a folder of static HTML, JS and CSS files that you can serve behind a web server, giving a step-by-step path from cloning the repository through yarn install and yarn build:web to serving the packages/web directory, and a DEFAULT_SYNC_SERVER environment variable for the login and registration server. That is a static host and a variable, which is the lightest deployment on this page and also the one that leaves the sync server entirely to you.
TriliumNext/Trilium and siyuan-note/siyuan have no install command in our analysis. Trilium is described as a desktop app, a self-hosted server on a port, or a Docker container, and SiYuan as desktop, mobile or Docker, with our analysis noting that the SiYuan Docker image needs to start and answer on port 6806 and that you run a Go binary behind your own reverse proxy. Those two are the only ones here where a server is part of the normal deployment.
Getting your notes in: four of these five document an import path
The export format problem is the third reason people leave, and the good news is that most of these projects take an Evernote export directly.
laurent22/joplin states that notes exported from Evernote can be imported into Joplin, including the formatted content converted to Markdown, the resources such as images and attachments, and the complete metadata covering geolocation, updated time and created time. Plain Markdown files can also be imported. That is the most complete import description of the five.
TriliumNext/Trilium lists Evernote import and export alongside Markdown import and export in its feature list, and ships a web clipper for saving web content as you go.
streetwriters/notesnook links a guide to migrating and importing data from other apps, and our analysis of Notesnook turns that into a specific instruction: check that the importer covers the export format of the app you are leaving, and check that the release you intend to run exists for your platform. It also publishes a page for verifying its own encryption claims, which is an unusual thing to find and worth using.
siyuan-note/siyuan does not list an Evernote import in the features the README sets out, so for that one the practical route is the export side: it exports to standard Markdown with assets, as well as PDF, Word and HTML, which is the format you would import from.
standardnotes/app does not set out an import path in the README either. Its feature surface is described as notes, files, encrypted sync, a self-hosting link and the Listed publishing tool, and the extension system is where third-party import behaviour would live.
One practical note that applies to all five. An Evernote export is a snapshot, not a sync, so whatever you import will not stay in step with the source. Plan the import as a migration you finish, and then unsubscribe from the old account once you have verified the note count, the attachments and the search behave as you expect.
Licences: three AGPL-3.0, one GPL-3.0, and one repository GitHub cannot classify
Three of the five are AGPL-3.0, one is GPL-3.0, and one is a repository GitHub cannot classify.
TriliumNext/Trilium, siyuan-note/siyuan and standardnotes/app are AGPL-3.0. For a personal installation without modification, that is not a live consideration. For a company that modifies any of them and lets users reach the modified instance over a network, the source obligation applies, and our analyses of Trilium and SiYuan both name the licence as something to settle against how you intend to distribute what you build.
streetwriters/notesnook is GPL-3.0, which does not reach network use. For an internal deployment without modification it is the friendliest arrangement of the five, and our analysis of Notesnook adds no licence condition to that.
laurent22/joplin is the one that needs a file opened. The repository is a custom licence as far as GitHub is concerned, and our analysis of Joplin tells you to check which licence terms apply to the packages you plan to ship or fork, which is the right question for a project distributed as many installable applications rather than one server.
One point applies to all five, and it is the one people forget when they are comparing privacy features. A licence governs the software. The notes are yours in every case, and the questions that actually matter for a notes migration are whether you can export everything, whether you can delete the old copy, and whether the encryption keys are yours to hold.
Bottom line
Pick laurent22/joplin for one person who wants Markdown files on their own disk and a sync target they choose, TriliumNext/Trilium for tens of thousands of interlinked notes with a REST API, siyuan-note/siyuan for block-level references and a WYSIWYG editor if you are comfortable with beta releases, standardnotes/app when the notes must reach a server you run, and streetwriters/notesnook for client-side encryption you can read the source for. Before committing, run the documented import against a copy of your Evernote export and check the note count and attachments, decide whether you are pointing at your own sync server or a vendor's, and read the licence of whichever package you would actually ship.