Zotero best practices

Hey Guys,

I have created a simple Zotero translator that creates a markdown link to your Zotero Item when quick copying (drag and dropping) the item into obsidian.


How to Install

  1. Download Markdown.Item.URI.js from Github
  2. Place file inside the “translators” directory in your Zotero data folder
  3. Restart Zotero
  4. In the Zotero Preferences go to the “Export” and set the Default Output Format to “Markdown Item URI” (this will be towards the bottom of the list)

You can now take advantage of Zotero’s quick copy functionality and drag&drop links from the item in your client right into Obsidian.


Thanks for that!! It is really helpful

SO how do you juggle your pdf files with Zotero and Obsidian?

I am looking for inspiration. My files are all over the place despite having both software. I guess I need a system.

Always a good starting point for being productive… :wink:


I don’t have my pdfs in Obsidian;

  1. I use Zotfile plugin to put all my files in Zotero to one folder in dropbox to sync between computers ( I have over 5gb pdfs, so this is more than free Zotero account allows to synce )

  2. Then I use this plugin from post above Zotero best practices to link the item from Zotero to Obsidian database;

  3. I prefer to open my pdfs in external pdf readers


I would really really recommend using Zotfile to manage the PDFs so you don’t run into this issues. @echej summarized very well how that is possible:

More details about that here.


I can’t argue with that! My only point is that moving and relocating things in Zotero is a painful process, and for most people Zotfile will do a much better job. I’m sorry that’s not the case for you!

I don’t know what you’re referring to. Using Zotfile it’s possible to create some structure based on the wildcards it supports, and it’s possible to add some of the metadata in the filenames. It might not work for your particular use case, given that you’re using it for things other than references and other types of files, but it is also not impossible.

Having said that, there are indeed limitations (not possible to organize folders based on collections) and yes, if Zotero eventually dies, that collection “classification” will die with it.
My strategy for that is encoding everything with citekeys: I have a bib file for my entire library, so I know what the citekey is with respect to the paper. My naming convention for my notes usually includes the citekey (or links or references it). Because the export with mdnotes, I now also have information about the collections in my notes. And because my Zotfile-generated folders also have the citekey, I’m not too worried about not being able to find stuff.

1 Like

Can you elaborate a bit more about this strategy? I am still exploring the ideal strategy for how to organize my small library of pdfs. So I am interested in other people’s way of doing things

Can you briefly expand a bit more on your system? My issue with typical folder hierarchy is that it kinda forces a file to only have 1 direct parent (i.e. the folder) or ancestry (i.e. the folder path)

Sometimes you come across a pdf or some document and it hits on several topics e.g. maybe an article may be related to topic A, B, and C. And also relevant to your projects X, Y, and Z.

Before Zotero and Obsidian, I wonder whether I should have a storage hierarchy independent of the topics and projects or I should simply duplicate the PDFs and put the copies in the relevant topic and project folders.

Now, I am thinking of just having a flat folder hierarchy to store the PDFs and yet remain accessible to Zotero and/or Zotfile. Then perhaps using @argentum plugin for mdnotes create a md reference to that PDF. Then the individual markdown notes for topic A, B, C, and projects X, Y, Z, all have links to the md note of that PDF.

So your experience may help me decide one way or another. Or perhaps even another completely different way of organizing

1 Like

Sorry a repost directly addressed to @StoltHD

I store sources in a physical archive like way, starting with the largest entity and narrowing down to the date and name of the document.
i.e. : Repositiory of original/type of archive/main name of source/date and name of sub-source/document name/

Do you also create a canonical md file pointing to a paper in PDF format?

I suppose you store your PDFs this way

PDF in Sources/Documents/PDFs/YYYY/YYYY-MM/YYYY-MM-DD/Zotero-name-of-the-paper.pdf

Then in the Zotero, you do a Attach Link to File right?

Sorry @StoltHD I realized you answered this before at Zotero best practices - #77. Apologies

I have tried this but maybe I did something wrong as it does not work for me.



Yea… I am also leaning towards software agnostic system. Convenience at the risk of losing resiliency is not the best tradeoff I now feel.

Ok. I am kinda stuck, I guess. I wish there’s a simple enough tutorial I can follow to be better organized.

I have taken a Big 5 before so I know I am bad at organizing a system. Tho I can follow a simple one enough. Hitting deadends is quite the bummer.

Have you tried by installing poppler as recommended here?

1 Like

Well it did say pdf.js is more popular. I will try poppler and then update here

I’m using wildcards to organize my library. I actually flattened my hierarchy a bit since I last posted. Here are my current settings for Zotfile:

  • PDFs for papers get organized by the last name of the first author:

  • I changed the renaming rule to include the citekey, instead of making it a subfolder. This means that my file will be renamed <citekey>-<title of paper> (you can see the example at the very top):

  • My Bibtex settings, in particular my citekey looks like this:

    What this means is that for a paper by John Doe, published in 2020 at the conference of Cool Zotero Settings (CZS), I’ll get a citekey like this: doe2020czs.

I’m using the citekey as title setting in mdnotes, so the filenames of all the files exported from include doe2020czs. I can then search my harddrive for doe2020czs, and all the files related to this paper will show up. In Obsidian, I try to follow the same naming convention.

This is just the way it works for me, but Zotfile offers a lot of flexibility depending on the wildcards that you use and work for you.


I brew install poppler and restarted zotero but still cannot choose poppler in Zotfile Preferences. So :man_shrugging:t2:


From the screenshot itself, I’m not sure what could be wrong. Sorry, I’m not on MacOS so I can’t really help you debug there since I don’t have much experience with what works there. Not sure what PDF viewer you are using to annotate, but Foxit reader messes it up in Linux. My suggestions would be:

  1. The standard have you tried restarting?
  2. Try the default PDF viewer if you haven’t already
  3. Submit a bug report/ask on the Zotero forums.

you could ask on Zotero community forum too