zotLook — preview attachments with Space, on macOS, Linux and Windows
Guillaume Chapron's Zotero7QuickLook brought the Space-to-preview habit to Zotero 7 after the old plugin architecture went away, and further back Mikko Rönkkö's ZoteroQuickLook gave this line of plugins its purpose and its name. zotLook is a fork of Chapron's plugin. About half of his JavaScript is still in it and the architecture is his throughout; the licence and the credit stay with him, and I have written to him about the fork and what is in it. It has moved on far enough to be worth mentioning here.
It runs on all three major systems.
I work on macOS, Linux and Windows in parallel and wanted the same habit in each, which is what started the fork. zotLook carries no viewer of its own — it drives the preview the system already has: Quick Look on macOS, GNOME Sushi on Linux, QuickLook on Windows. Whatever those can show, zotLook shows. On Windows it talks to QuickLook over its named pipe, so there is nothing to install beyond QuickLook itself.
It sits beside Zotero's own preview rather than replacing it.
The one in the item pane is the right answer to what is this? — it costs nothing, needs nothing installed, and shows your annotations, being the reader itself in miniature. It is not built for reading, though: one page at a time, moved with two buttons or the arrow keys; no wider than the item pane, with no setting for its size; nothing in it can be selected or copied; and it handles four formats — PDF, EPUB, snapshot, image. zotLook is for the other half of that. Its preview is whatever size you drag the window to, with the content scaling to match, and it works with the item pane closed. The whole document is there at once rather than a page at a time. And what the system's viewer allows — selecting text, copying it, scrolling — is available for Zotero attachments too.
Your annotations are in the preview.
Zotero keeps highlights and notes in its database rather than in the file, so previewing the stored document shows it unmarked — the thing asked about most often in the older threads here. For a PDF, zotLook previews a copy Zotero itself exports with the marks drawn in. For an EPUB it resolves the EPUB CFI Zotero stored and marks the passage where you marked it, in your colour, highlights and underlines drawn the way Zotero's own reader draws them. Attachments with no annotations are recognised first, so the common case costs nothing.
EPUB gets a preview at all,
which no system preview offers: the book is read out of its archive and assembled into one styled page that keeps the publisher's typography. A button in each corner opens the table of contents and the annotations over the page; clicking an entry jumps to the chapter or the passage. None of it uses a script — a preview panel runs none — which is why it works there at all.
Ctrl+Shift+Space builds a contact sheet:
every page of a PDF as a thumbnail in a scrollable grid, annotations included, so the pages you marked up stand out. Clicking a page opens it in Zotero's reader at that page — the same jump Space makes from Zotero's own preview, but taken from an overview of every page rather than from the one you had stepped to. A 300-page book takes a few seconds and says how far it has got while it works. Ctrl+Alt+Space puts the same sheet in a Zotero window instead — which is also how Linux gets clickable pages, since Sushi's view cannot follow a
A book gets a sheet too, where it can have one.
A reflowable EPUB has no pages of its own, which is the format working as intended. But a book published beside a print edition usually carries that edition's pagination along with it, marked in the text and listed in the navigation, so that a citation to page 212 still means something. Where those marks are there, zotLook cuts the book at them and shows one tile per printed page, each linking back into the reader — and for an EPUB that jump is new, since Zotero's own preview passes a position along for PDFs only. A book carrying no pagination says so rather than showing arbitrary slices; in a 120-book sample of my library about one in eight carried it, and those were the academic ones.
Previews are kept,
across restarts, until the file, its annotations or the settings behind them change, so the second press is immediate. The settings say what they occupy and clear them on request, and drop what has gone unused for a month.
Shortcuts, which attachment wins when an item has several, the grid, and all of the above are configurable under Settings → zotLook. English and German.
Requirements: Zotero 10 — that is the version zotLook is developed and tested against, and the only one I claim anything about; macOS 12+, or Linux with
It still installs on Zotero 7 and later, and going by Zotero's own sources it may well work: everything the plugin calls is in 7.0.0 already, apart from
Screenshots of all three systems, in the readme:
https://github.com/fre-ms/zotLook#what-it-does
Documentation, including what each system's preview can show and how to extend it: https://zotlook.org
Releases: https://github.com/fre-ms/zotLook/releases
It installs beside Chapron's rather than over it — different plugin IDs — so having both means Space is claimed twice. Pick one.
I have tested zotLook on macOS Tahoe 26.5, Windows 11 and Debian Trixie 13, all with Zotero 10, and have not run into anything serious. That is a narrow set of combinations, though, and other versions — of Zotero or of the systems themselves — will certainly turn up bugs. There is a page on what to check and what to send if something misbehaves; please report them as GitHub issues. I cannot promise to fix everything, but I will try.
Cheers, fre.ms
It runs on all three major systems.
I work on macOS, Linux and Windows in parallel and wanted the same habit in each, which is what started the fork. zotLook carries no viewer of its own — it drives the preview the system already has: Quick Look on macOS, GNOME Sushi on Linux, QuickLook on Windows. Whatever those can show, zotLook shows. On Windows it talks to QuickLook over its named pipe, so there is nothing to install beyond QuickLook itself.
It sits beside Zotero's own preview rather than replacing it.
The one in the item pane is the right answer to what is this? — it costs nothing, needs nothing installed, and shows your annotations, being the reader itself in miniature. It is not built for reading, though: one page at a time, moved with two buttons or the arrow keys; no wider than the item pane, with no setting for its size; nothing in it can be selected or copied; and it handles four formats — PDF, EPUB, snapshot, image. zotLook is for the other half of that. Its preview is whatever size you drag the window to, with the content scaling to match, and it works with the item pane closed. The whole document is there at once rather than a page at a time. And what the system's viewer allows — selecting text, copying it, scrolling — is available for Zotero attachments too.
Your annotations are in the preview.
Zotero keeps highlights and notes in its database rather than in the file, so previewing the stored document shows it unmarked — the thing asked about most often in the older threads here. For a PDF, zotLook previews a copy Zotero itself exports with the marks drawn in. For an EPUB it resolves the EPUB CFI Zotero stored and marks the passage where you marked it, in your colour, highlights and underlines drawn the way Zotero's own reader draws them. Attachments with no annotations are recognised first, so the common case costs nothing.
EPUB gets a preview at all,
which no system preview offers: the book is read out of its archive and assembled into one styled page that keeps the publisher's typography. A button in each corner opens the table of contents and the annotations over the page; clicking an entry jumps to the chapter or the passage. None of it uses a script — a preview panel runs none — which is why it works there at all.
Ctrl+Shift+Space builds a contact sheet:
every page of a PDF as a thumbnail in a scrollable grid, annotations included, so the pages you marked up stand out. Clicking a page opens it in Zotero's reader at that page — the same jump Space makes from Zotero's own preview, but taken from an overview of every page rather than from the one you had stepped to. A 300-page book takes a few seconds and says how far it has got while it works. Ctrl+Alt+Space puts the same sheet in a Zotero window instead — which is also how Linux gets clickable pages, since Sushi's view cannot follow a
zotero: link.A book gets a sheet too, where it can have one.
A reflowable EPUB has no pages of its own, which is the format working as intended. But a book published beside a print edition usually carries that edition's pagination along with it, marked in the text and listed in the navigation, so that a citation to page 212 still means something. Where those marks are there, zotLook cuts the book at them and shows one tile per printed page, each linking back into the reader — and for an EPUB that jump is new, since Zotero's own preview passes a position along for PDFs only. A book carrying no pagination says so rather than showing arbitrary slices; in a 120-book sample of my library about one in eight carried it, and those were the academic ones.
Previews are kept,
across restarts, until the file, its annotations or the settings behind them change, so the second press is immediate. The settings say what they occupy and clear them on request, and drop what has gone unused for a month.
Shortcuts, which attachment wins when an item has several, the grid, and all of the above are configurable under Settings → zotLook. English and German.
Requirements: Zotero 10 — that is the version zotLook is developed and tested against, and the only one I claim anything about; macOS 12+, or Linux with
gnome-sushi, or Windows with QuickLook running.It still installs on Zotero 7 and later, and going by Zotero's own sources it may well work: everything the plugin calls is in 7.0.0 already, apart from
EPUB.mjs, which arrives in Zotero 8 and which everything EPUB here is built on. I have not run it on 7, 8 or 9, though, so that is inference rather than testing — and I would be glad to hear from anyone who has, either way.Screenshots of all three systems, in the readme:
https://github.com/fre-ms/zotLook#what-it-does
Documentation, including what each system's preview can show and how to extend it: https://zotlook.org
Releases: https://github.com/fre-ms/zotLook/releases
It installs beside Chapron's rather than over it — different plugin IDs — so having both means Space is claimed twice. Pick one.
I have tested zotLook on macOS Tahoe 26.5, Windows 11 and Debian Trixie 13, all with Zotero 10, and have not run into anything serious. That is a narrow set of combinations, though, and other versions — of Zotero or of the systems themselves — will certainly turn up bugs. There is a page on what to check and what to send if something misbehaves; please report them as GitHub issues. I cannot promise to fix everything, but I will try.
Cheers, fre.ms
Upgrade Storage