Skip to main content

This project attempts to export a local Zotero library to a usable HTML website.

Project description


PyPI Python 3.7 Python 3.8 Python 3.9 Build Status Gitter chat

This project exports your local Zotero library to a usable HTML website. This generated website has the following features:

  • Easily access your papers, site snapshots, notes from a navigation tree.
  • Provides metadata from collections and attachments (i.e. referenes etc).
  • Display PDF papers and website snapshot (the latter as framed).
  • Search function dynamically narrows down the papers you're looking for.
  • Embed links to a specific collection, article, item, note etc.
  • Export only a portion of your collection with regular expressions using the collection name.
  • BetterBibtex integration.
  • Snazzy look and feel from the latest Bootstrap CSS/Javascript library.


See the full documentation.


The easist way to install the command line program is via the pip installer:

pip3 install zensols.zotsite

Binaries are also available on pypi.


The tool does the following:

  1. Exports the meta data (directory structure, references, notes, etc) from your Zotero library. On MacOS, this is done by querying the file system SQLite DB files.
  2. Copies a static site that enables traversal of the exported data.
  3. Copies your Zotero stored papers, snapshot (sites) etc.
  4. Generates a navigation tree to easily find your papers/content.

Sample Site Demonstration

See the live demo, which provides a variety of resources found in my own library. Note: To my knowledge, all of these resources are free to distribute and violate no laws. If I've missed one, please create an issue.


The command line program has two modes: show configuration (a good first step) and to create the web site. You can see what the program is parsing from your Zotero library:

zotsite print

To create the stand-alone site, run the program (without the angle brackets):

zotsite export -o <sitedir>

See usage for more information.

Ubuntu and Linux Systems with Python 3.5 or Previous Version

Please read this issue if you are installing a Ubuntu or any Linux system with Python 3.5 or previous version.

Command Line Help

Command line usage as provided with the --help option:

Usage: zotsite <list|export|print|tmp> [options]

--version             show program's version number and exit
-h, --help            show this help message and exit
-w NUMBER, --whine=NUMBER
add verbosity to logging
-c FILE, --config=FILE
configuration file
export  Export
-o, --outputdir <string>  ./zotsite  the directory to output the website
--collection <string>                regular expression pattern to match collections

print   Print structure
--collection <string>                regular expression pattern to match collections


This software uses:


Also see the live demo.



  • Make the site portion a proper Javascript site. Right now, all the mins are added in the distribution to same directory as the main navigation/content file.
  • Add functionality to the disabled View button that drills down in a paper and finds a PDF or site to view withouth the user having to do this.
  • Use something like zotxt to make this work with a plugin rather than directly against the SQLite DB.

Zotero Plugin Listing

This is listed as a plugin on the Zotero site.


An extensive changelog is available here.


MIT License

Copyright (c) 2020 Paul Landes

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Built Distributions

zensols.zotsite-0.3.6-py3.9.egg (456.8 kB view hashes)

Uploaded 3 9

zensols.zotsite-0.3.6-py3-none-any.whl (434.4 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page