logseq-anki-sync moves your Logseq blocks into Anki as real cards
An logseq to anki syncing plugin with superpowers - image occlusion, card direction, incremental cards, and a lot more.
At a glance
- What is it?
- Logseq Anki Sync is a Logseq plugin that renders your notes and blocks into Anki cards, with image occlusion, card direction, incremental cards, clozes and hints, and it uses hashing to detect what changed so a resync does not recreate the deck. It is AGPL-3.0 licensed and still on a beta release line.
- Who is it for?
- Adopt logseq-anki-sync if you keep your notes in Logseq and want spaced repetition cards generated from it without retyping, and you are comfortable with AnkiConnect and an AGPL plugin. Skip it if you need a stable release, since the current 7.0.x line is marked beta, or if you want the opposite direction of data flow, since this plugin only pushes Logseq content into Anki.
- Can I use it commercially?
- Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
A plugin that reads Logseq and writes Anki over AnkiConnect
Logseq Anki Sync is a Logseq plugin for turning notes into Anki cards, and the pipeline has three parties. Logseq is the source, the plugin runs inside it, and Anki is the destination, reached over AnkiConnect, the add-on that exposes a local JSON API. Installation is a sequence of steps in two applications. In Logseq you enable Plugins under Settings and Features, then find the plugin in the Plugin Marketplace and install it. In Anki you open Tools and Add-ons, click Get Add-ons, and enter the add-on code 2055492159 in the field labelled Code. Then you restart Anki and Logseq, and a Sync to Anki button appears in the Logseq toolbar. Two operational details are called out in the documentation: Anki must be running in the background before you press that button, and when the prompt says Logseq wants to access Anki, you click Yes. The plugin id in the package manifest is `_rw1zys138` and the icon path is `/icon.png`.
Logseq markdown and org mode get rendered, not pasted
The first feature on the list is the one that separates this from a text exporter, because the plugin supports rendering of Logseq markdown and org mode in Anki. The documentation names what that covers: block and page references, PDF annotations, math, and everything else. This matters more than it sounds. A block reference in Logseq is a pointer to a specific bullet, and a page reference is a pointer to a document, and both have no meaning once the text is copied into another application as a flat string. The plugin resolves them and renders what they point at, so an Anki card can contain the actual content of the referenced block rather than a marker. Math is the same story in the other direction, since LaTeX in Logseq becomes LaTeX in Anki, and PDF annotations come along so that a highlighted passage in a paper can become the front of a card. The rendering work happens in the plugin, and the dependency list shows how much of it there is, with mldoc, ohm-js, the Apache annotator selector, and a rich text stack built on tiptap.
Image occlusion, card direction, incremental cards and clozes
The second group of features is the Anki-specific tooling, and it is where the plugin earns its keep for a heavy user. It supports image occlusion, occlusion on PDF annotation, card direction, incremental cards, clozes, hints, and more. Image occlusion is the capability that lets a diagram become a recall exercise, and doing it on top of PDF annotations rather than only on images extends that to your reading. Card direction is the one worth understanding in detail, because it is not a standard Anki concept. It controls which side of a card the source content appears on, so you can flip a definition and an example, or a question and an answer, without maintaining two separate card templates. Incremental cards and clozes address the same underlying problem, which is that a long block of text makes a poor single card, so the plugin can turn a block into several cards with parts hidden, and hints let a card give a nudge before the full answer. The documentation is a separate site and the README points at it for the details.
Hashing is what makes a resync cheap
The performance claim in the README is about change detection rather than raw speed. The plugin uses state of the art hashing techniques to detect changes in Logseq or Anki, and it gives the user the option to resync with Logseq as the source of truth. That distinction is the important part. A naive resync regenerates every card and, in Anki, a regenerated note is a new note, so your review history is stranded on the old ones. Hashing lets the plugin compare what it produced last time against what is there now, so unchanged blocks are left alone and only changed ones are written. The resync option with Logseq as source of truth is the escape hatch for when the two sides have drifted and you need to force the Anki collection back into line with your notes. The hash-it package in the dependency list is the hashing library, and the sanity diff-match-patch package handles the text comparison. The claimed outcome is that the plugin is extremely fast, but the mechanism is what matters: a sync that only writes what changed is the difference between a tool you run daily and one you run once.
Anki's own scheduling is what you are paying for
The third feature group is a case for using Anki rather than a simpler flashcard system, and the documentation makes the argument in its own terms. Anki employs advanced scheduling algorithms, and that is why it is a superior choice for many users. Anki also allows the creation of filtered decks, which lets you study a specific set of cards for an exam regardless of their original scheduling, and the plugin lets you use all of those features plus others such as heatmaps, text to speech and leech cards. That is a meaningful list, because text to speech in particular is something a hand-rolled plugin would otherwise have to implement. The practical point for an evaluator is that this plugin is not trying to replace Anki's scheduling, it is trying to feed it. If you are already committed to Anki, the plugin's job is only to be a good front end to it, and the feature list suggests it is.
Building the plugin and what the repository holds
The repository is a pnpm workspace, and the manifest is strict about the toolchain. The preinstall script runs `npx only-allow pnpm`, so an npm install is refused outright, the engine field requires Node 22.12 or newer and below 23, and the build script raises the old space size to 4096 before running vite build. The dev script is vite, the tests run under vitest, and the linting is biome with a check and a check:fix pair. The repository layout is a TypeScript source tree under `src/`, a `docusaurus/` directory holding the documentation site, a `tests/` directory, a `vite-plugins/` directory, and a `mise.toml` for tool version management. There is a `pnpm-workspace.yaml` and a `pnpm-lock.yaml`, and a `biome.json` for the linter configuration. The plugin uses a substantial dependency set, and a few of them explain the feature list: fabric for canvas work that image occlusion needs, the tiptap editor for the note editing surface, logseq-proxy and the Logseq libraries for talking to the host, and a mix of utilities for diffing, memoising and dependency ordering. The `logseq` block in the manifest is what makes the build installable as a Logseq plugin.
Beta releases, a moving default branch, and AGPL
Two facts about the project shape any decision. The first is the release state. The listed releases are v7.0.2 in February 2026, and then v7.0.5 and v7.0.6 in May 2026, with both of the latter tagged as BETA in their release names. The second is the branch layout, and the documentation is explicit about it: the release branches are the db branch and the legacy branch, and the main branch is no longer used. The repository's default branch is db, which is therefore the current line, and a legacy branch exists for older installations. The last push to the repository was on 2026-10-20, so the tree is being worked on, and the homepage for the project is a documentation site rather than a code repository link. The licence is AGPL-3.0, which is the reciprocal licence and the one thing to check before adopting it in a workflow that touches shared or work data, since the copyleft obligations attach to modified versions you distribute. There is also an `.env.example` showing a Logseq API server URL and a token for testing, which tells you the plugin can be pointed at a local API server.
LOGSEQ_API_SERVER=http://127.0.0.1:12315
LOGSEQ_API_TOKEN=your_api_token_here
VITE_TEST_LOG_LEVEL=warnThe project accepts sponsorships and lists individual sponsors, and issues and feature requests are handled through the GitHub issue tracker.
Editorial conclusion
Adopt logseq-anki-sync if you keep your notes in Logseq and want spaced repetition cards generated from it without retyping, and you are comfortable with AnkiConnect and an AGPL plugin. Skip it if you need a stable release, since the current 7.0.x line is marked beta, or if you want the opposite direction of data flow, since this plugin only pushes Logseq content into Anki. Before you commit, run a sync into a throwaway Anki collection and inspect the generated notes, because the card templates and the hashing behaviour are what determine whether the result is worth keeping.
Frequently asked questions
How do I install the Logseq Anki Sync plugin?
Enable Plugins in Logseq under Settings and Features, install Logseq Anki Sync from the Plugin Marketplace, then install AnkiConnect in Anki through Tools, Add-ons and Get Add-ons with the code 2055492159. Restart both applications, then use the Sync to Anki button in the Logseq toolbar.
What card types does logseq-anki-sync support?
It supports image occlusion, occlusion on PDF annotations, card direction, incremental cards, clozes, hints and more. The plugin also renders Logseq markdown and org mode, including block and page references, PDF annotations and math.
How does logseq-anki-sync avoid recreating cards on every sync?
The plugin uses hashing to detect changes in Logseq or Anki, so unchanged content is left alone. It also offers a resync option with Logseq as the source of truth, for when the two sides have drifted apart.
Which branch should I use for logseq-anki-sync?
The db branch and the legacy branch are the release branches, and the main branch is no longer used. The current releases v7.0.5 and v7.0.6 are tagged as BETA.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/debanjandhar12-logseq-anki-sync)Was this useful?