ZotLit v2: Zotero integration for Obsidian

Disclaimer

Is this project open source? Yes
Is this project completely free? Yes
Is this project vibe-coded beyond the author’s ability to comprehend how it works? No
Community Directory: ZotLit


ZotLit v2: Zotero integration for Obsidian

ZotLit connects Obsidian to your Zotero library. v2 is a ground-up rewrite. The old version relied on a third-party SQLite binary (better-sqlite3) that broke every time Obsidian shipped an Electron update. v2 uses Node’s built-in node:sqlite module instead, so that class of breakage is gone. No more downloading a separate binary during setup.

For details on v2 rewrite, check out the blog: Rebuilding ZotLit: the v2 public beta | ZotLit

What it does

Annotation workspace — Browse your Zotero highlights, comments, and annotations in a side panel next to your Literature Note. Search by text, filter by color or tag, drag annotations into your note. Clicking an annotation jumps to that spot in the PDF in Zotero.

Batch Literature Notes — Create or update notes for many Zotero items at once, useful when onboarding an existing library or after a literature search.

Zotero-note import — Bring Zotero’s built-in notes into your vault as Markdown files with content and structure preserved.

Templates & Data Explorer — Customize how Literature Notes, annotations, and citations are formatted. v2 defaults to Liquid templates (easier to learn than v1’s Eta syntax), with JavaScript Templates available for full control. The Template Data Explorer shows the exact typed fields available for any Zotero item.

Technical changes from v1

  • SQLite driver switched from better-sqlite3 (external binary) to node:sqlite (built-in). No more binary downloads or Electron-version breakage.
  • Database layer uses Drizzle ORM with field types generated from Zotero’s own schema definitions. Mismatches surface in the Data Explorer instead of silently wrong notes.
  • Zotero companion add-on targets Zotero 9.
  • v1 features annotation merging and topic-based imports are retired in v2.

Upgrading from v1

Same plugin ID — install the beta and it upgrades in place. Settings migrate automatically. You’ll need to rename template files and update it.* references to zt.* in your templates. Full migration guide: Migrate from v1

Links

1 Like