Zotero on Android revisited

(The text below sometimes copies verbatim, sometimes extends, and sometimes summarizes, text I have in the Zotero-to-Referey repo and my post on 2024-03-26 on the Zotero forums Zotero, the native Android App, and Emacs pdf annotation in the computer.)

Update September 2025

I am now running Zotero Mobile (initially on Android, a few weeks later on iPad) and annotating PDFs in Zotero. See at the bottom.

The “official” Zotero for Android app

In December 2023 Zotero launched a Zotero for Android !! This is still in beta, and I have not (yet) been able to get into the beta testing program (slots are limited, and they run out shortly after new slots are announced).

I am very excited about this app, but yet it might not be what I need. Why?…

Why the native Android app might not be for me: it would break the computer part of the workflow, where I use Emacs

On my computers (Linux), I use Emacs, with the pdf-tools package, to open and edit pdfs. I have not switched to using the fantastic Zotero’s built-in PDF editor. Why?

  1. Because I prefer to do most of my work inside Emacs and pdf-tools is just awesome. Annotating, highlighting, moving around with both keyboard and mouse, using occur and incremental search, poping up on demand the table of contents —actually with different possible mechanisms, like imenu or the built-in TOC—, spliting vertically and horizontally arbitrarily —what Emacs provides out-of-the-box—, opening multiple PDFs side by side, rotating, etc, etc, etc —just awesome. (Sure, the built-in PDF reader in Zotero is also fantastic and has lots of functionality, and the handling of notes is just great.)

  2. Because I keep my notes in org-mode files; this setup has the side benefit, for me, that I can easily ripgrep, in a single call, over notes on papers, extracted highlights from papers, and the rest of my collection of notes. (I have commented about this in several places, and this probably deserves its own blog entry. Here is one comment in org-roam’s discourse, a long one in Reddit, and a shorter one in Reddit).

  3. Because I often access my library and PDFs from Emacs by opening the library exported as bibtex (using either one of helm-bibtex or citar).

  4. Because I keep these PDFs automatically synced with an Android tablet where I do much of my PDF annotation and reading. Crucially, Emacs’ pdf-tools adds the annotations in the PDF themselves.

The native Android app will not support opening PDFs in exernal applications, so one needs to use the built-in Zotero PDF editor (see this post and the following ones ) in Android. This will severely impact my use of Emacs to read and annotate PDFs in the computer.

Yes, the wording is correct: not being able to use an external PDF editor in Android can affect what one uses in the computer, because the built-in Zotero PDF editor does not add annotations directly in the PDF: it stores annotation in the Zotero database (see this discussion and the explanation in Zotero’s support —and note that I am not complaining about this).

So, to be able to edit and see annotations in PDF both on the computer and the Android tablet I’d probably need to use the built-in Zotero PDF editor on both the computer and the Android tablet. The only workaround would be for me to go through the manual and error-prone procedure of exporting the Zotero annotations in the PDF itself, and then reattaching that file in the Zotero entry. This does not seem sensible.

(Using Zotero’s Android app would probably also require using Zotero for storage of all of my PDFs, breaking some of my setup, but this is not a major concern; they key problem is not storing PDF annotations in the PDFs themselves).

The terms of the trade-off

I think I only have two options:

  1. If using the Android app is important enough to me, stop using Emacs to do PDF annotation, and use Zotero’s built-in PDF editor. I can continue opening the PDFs associated with an entry by making a call from Emacs (you call zotero as zotero --url zotero://open-pdf/library/items/ITEM?FILENAME, possibly also including page number) but I’d be annotating, reading, etc, using Zotero’s PDF reader, not Emacs.

    This means that I’ll have to alter much of my note-taking and note-searching protocol (and I won’t be able to open the PDF inside Emacs —unless I use EXWM as window manager). There are ways of integrating Zotero’s PDF reader notes with org-roam (e.g., https://www.riccardopinosio.com/blog/posts/zotero_notes_article.html#zotero-note-export) but the setup is very different from my current one.

  2. If using Emacs for PDF annotation and reading is important enough to me, forego using the Android app and … continue using the Zotero-to-Referey solution.

So what now?

So yesterday and today I have updated my review of the options available in the Alternatives entry of the Zotero-to-Referey repo. And yesterday I made a few updates to the Zotero-to-Referey code itself.

It seems like I will be using Zotero-to-Referey for sometime.

September 2025: moving to the official Zotero app on mobile.

Being able to use Zotero on a tablet/iPad, the full Zotero was a very tempting thing. So I tried it, and I was hooked. For example, reading a paper, seeing a reference (with a link), clicking and being taken to, say, arXiv, and then immediately adding the reference to Zotero. Wow!

What about my concerns above:

  1. pdf-tools is indeed awesome and I continue to use it for PDFs, just not those in Zotero. Zotero’s PDF editor has features pdf-tools does not have (though it also lacks some that pdf-tools has). Among the features that I like in Zotero’s PDF editor are:

    a. Being able to “Add Text” (similar to what Okular calls “Typewritter”); this is just, well, text, that is immediately visible in the PDF (i.e., it is not the same as a note). I like this for short annotations that I want to have very visible (say “THINK” or “DO THIS TO GET NOBEL PRIZE”) and be searchable. (Handwritten annotations are not searchable in Zotero, and were not with the PDF editors I was using, as they are just like drawings —I’ve found that some software, like MyScript, notes makes handwritten annotations searchable).

    b. Being able to display the list of annotations. I know you can do this with pdf-tools (pdf-annot-list-annotations) but I find it more useful in Zotero’s PDF editor, especially once I have “Add[ed] Text”, as these are not searchable, nor listed, by pdf-tools.

  2. Now my notes will be kept in Zotero. The truth is that full use of my annotation system with Emacs required a lot of discipline as I manually had to extract the annotations to org-roam after reading/annotating. And on re-reads/re-annotations I’d need to do this again. This does not scale well (for me, at least). Now, any annotation (except handwritten ones) I can immediately find as they are immediately searchable in Zotero. So all my “Add Text” with “DO THIS TO GET NOBEL PRIZE”, and similar can be easily located in Zotero without the extra discipline. I also found that my Emacs setup could, at times, become brittle (because of the various dependencies), though that seemed to be fixed at least now.

    Finally, see also “Benefits of Zotero Annotations” in https://www.zotero.org/support/kb/annotations_in_database : briefly, also performance —less to transmit— and a lot fewer conflicts than when moving whole annotated PDFs around.

  3. I continue accessing my Zotero PDFs using citar and ebib as needed. But now I open them in Zotero’s PDF editor from citar and ebib. I (well, probably Claude) wrote a small elisp wrapper that is called from citar and ebib. This wrapper takes the PDF and modifies so that I can use a zotero:// call; and then, it ensures that the PDF is shown in the actual workspace, or “virtual desktop”, in which I am, using wmctrl —I use XMonad as window manager. This is a minor limitation: the Zotero PDF reader with a given file can only exist in one place: if I try to open the same PDF a second time, I am taken to the workspace where that PDF was already open, instead of opening the Zotero PDF reader a second time. Well, you might think this is actually better, and avoids a proliferation of the same PDF in different workspaces (I am not sure of this).

  4. Now, I use either the Android or, more recently, the iOS (on an iPad) version of Zotero. Certainly much more polished than what I used up to now.

    And although not yet available, as of 2025-10-02, I think that it is planned that full text searching will be possible on the mobile (iOS, Android) versions of Zotero too. Yes, that is correct, full text (including the text of the stored PDFs —which is available on the desktop version of Zotero).

And, after deciding to use the native Zotero mobile apps, why did I move from Android to iOS? This is a long question in the Zotero forum that shows my doubts: https://forums.zotero.org/discussion/126435/zotero-on-mobile-ipad-air-6-13-2024-m2-or-pro-2018-2020-2021-12-9-or-android-oneplus-pad-3 . Briefly, I wanted as smooth an experience as possible. I had recently been bitten by a bug in the Android app that prevented me from really using the pen to make handwritten annotations (https://forums.zotero.org/discussion/126421/debug-id-d918391774-android-app-freehand-draw-slow-and-wrong-rendering?new=1 ) plus in my tablet the annotation toolbar often overlapped the pdf text (e.g., https://forums.zotero.org/discussion/118966/android-annotation-tool-bar; https://forums.zotero.org/discussion/117994/android-bug-display-issue-under-certain-settings), a combination of the small margins of the PDFs + 16:10 screen ratio, I think. And then it struck me that for the last 10 years I had been hacking around a variety of issues to use Android tablets to read PDFs that I managed with Zotero in my computer. This made a lot of sense 10 years ago, as there were no alternatives and the hack worked great, allowing me to read and annotate PDFs, automagically sync them with the computer, and see my Zotero collections (see https://github.com/rdiaz02/Zotero-to-Referey ). But as of late 2025 there was a polished native Zotero for the iPad, which was likely to experience many fewer bugs than the Android version. So I decided to give it a try (yes, the walled garden iOS ecosystem is annoying, and I feel kind of hand-cuffed, but the Zotero experience is great).