Skip to content

Migrating from Zotero

Ad Marginem reads Zotero’s RDF and BibTeX exports natively (the hardened parser from P0.6).

What comes across

Zotero dataAd Marginem equivalentNotes
Items (papers, books, etc.)Library entriesAll standard CSL item types map directly.
AuthorsAuthorsfamily/given preserved; institutional authors land as literal.
TagsTagsHierarchical Zotero tags flatten to slash-delimited names.
CollectionsCollectionsTree structure preserved.
PDF attachmentsPDF attachmentsStored in Ad Marginem’s local app data, uploaded on first sync.
Annotations (PDF)AnnotationsIf Zotero exported them with the file, the parser pulls them out.
NotesNotesPlain-text or Markdown depending on the source.

What doesn’t come across

  • Zotero’s “Related Items” links — the data model is different.
  • Zotero plugin metadata (e.g., DOI Manager, Better BibTeX citation keys).
  • Sync history / past device list.

How to export from Zotero

  1. In Zotero, File → Export Library (or right-click a collection → Export Collection).
  2. Choose Zotero RDF (recommended — preserves the most fields) or BibTeX.
  3. Tick Export Notes and Export Files to bring annotations + PDFs along.

How to import into Ad Marginem

  1. Settings → Data → Import.
  2. Drop the export file (or the folder if you exported with files).
  3. Ad Marginem deduplicates by DOI first, then by title+first-author. You can preview the match map before committing.
  4. Click Import — the library populates locally, then uploads on the next sync.

Common gotchas

  • Encoding: Zotero’s BibTeX uses TeX-escaped accents (\'e). The parser handles them, but check imported titles for stray backslashes if your library has many accented characters.
  • Duplicate handling: Zotero often stores multiple copies of the same paper across collections. Ad Marginem keeps one canonical item per DOI; the original collection memberships are preserved.
  • Large libraries: for >5000 items, run the import on the desktop client (not web) — the parsing is single-threaded and the web build is sandboxed tighter.