This is an old revision of the document!


How do I import a Mendeley library into Zotero?

Zotero includes support for directly importing a Mendeley database into Zotero via File → “Import…”, but due to recent changes by Elsevier, the company that produces the Mendeley software, some extra steps may be required.

Mendeley Database Encryption

Mendeley 1.19 and later have begun encrypting the local database, making it unreadable by Zotero and other standard database tools. Elsevier made this change a few months after Zotero publicly announced work on an importer, despite having long touted the openness of its database format as a guarantee against lock-in and erroneously continuing to state in its documentation that the database can be accessed using standard tools). At the same time, Mendeley continues to import data from Zotero’s own open database, as it has since 2009.

The Mendeley 1.19 release notes claimed that the encryption was for “improved security” on shared machines, yet applications rarely encrypt their local data files, as file protections are generally handled by the operating system with account permissions and full-disk encryption, and anyone using the same operating system account or an admin account can already install a keylogger to capture passwords. Elsevier later stated that the change was required by new European privacy regulations — a bizarre claim, given that those regulations are designed to give people control over their data and guarantee data portability, not the opposite — and continued to assert, falsely, that full local export was still possible, while repeatedly dismissing reports of the change as “#fakenews”.

Direct access to the Mendeley database is the only local way to export the full contents of one’s own research. The export formats supported by Mendeley don’t contain folders, various metadata fields (date added, favorite, and others), or PDF annotations. Mendeley offers a web-based API, but it only contains uploaded data, so relying on it would mean that anyone wanting to export their own data would first need to upload all their data and files to Elsevier’s servers. The API is under Elsevier’s control and can be changed or discontinued at any time.

Known Issues

In addition to the database encryption discussed above, there are a few other issues to be aware of when importing from Mendeley.

  • Mendeley stores PDF annotations and highlights in its database rather than storing them in the file where they would be accessible to other PDF readers, so Zotero extracts annotations to a note stored under the item, with links back to the original page. Highlights are not imported. To embed annotations and highlights into the PDF files themselves so they can be imported into Zotero, you have a couple options:
    1. Mendeley provides an option to generate a PDF with annotations and highlights added back to the file, but it can only be run for one file at a time. If you’d like to import PDFs with annotations and highlights, you could use that option for select files and then replace the imported files in Zotero (right-click on the item and choose “Show File”) with the annotated versions.
    2. You can also try using the third-party Menextract2pdf script to write annotations and highlights back to the PDFs in Mendeley before importing into Zotero. See the instructions below.
  • It’s not possible to directly import group libraries. To import items in group libraries, simply copy the group items to a collection in your Mendeley library before importing. You can then create a Zotero group and drag imported collections or items to that group.
  • Mendeley allows any field to be added to any type. When importing into Zotero, if a field isn’t valid for a given item type, the field is placed into the Extra field. When possible, those will be used automatically in citations (e.g., Original Date), and future versions of Zotero will automatically convert those to any real fields that become available.
  • When using the Zotero word processor plugins, document citations created with Mendeley won’t currently be linked to imported citations in your Zotero database. We may be able to add support for this in a future version.

The Import Process

If you have a Mendeley version older than 1.18:

Upgrade to Mendeley 1.18 using the links below and then start the import in Zotero by going to File → “Import…” and choosing the “Mendeley” option.

If you have Mendeley 1.18 and haven’t yet upgraded to Mendeley 1.19 or later:

Start the import in Zotero by going to File → “Import…” and choosing the “Mendeley” option.

If you’ve already upgraded to 1.19 and have an automatic backup of your Mendeley SQLite database in the Mendeley data directory:

Locate your Mendeley data directory and look for a backupSlot1 (or higher) folder. If you see a database in the form <email>@www.mendeley.com.sqlite within one of the backup directories, copy it into the data directory one level up. Then start the import in Zotero by going to File → “Import…”, choosing the “Mendeley” option, and selecting that database.

If the backupSlotN folder contains an .sqlite filename with a long string of random characters, the backup has already been overwritten by the encrypted database. Check another backupSlot folder or use one of the methods below.

If you’ve already upgraded to 1.19 and have a recent backup of your Mendeley SQLite database:

Start the import in Zotero by going to File → “Import…”. If you haven’t moved your backup files back into the Mendeley data directory, use the file option to select the <email>@www.mendeley.com.sqlite or online.sqlite database in your backup directory.

If you’ve already upgraded to 1.19 and are not able to import from a recent backup of your Mendeley SQLite database:

It's possible to recreate an unencrypted database by syncing from an older version of Mendeley Desktop. However, this requires syncing all data and files to Elsevier's servers before downgrading. Even syncing data alone isn't sufficient: Mendeley sync doesn't make any information about attached files available unless you actually sync the files themselves.

If you don't want to sync any data to Elsevier's servers, your only option is to use one of the available export formats, such as BibTeX, to transfer your data to Zotero. As discussed above, you'll lose your folder structure and some other data.

If you're syncing your library data but don't want to sync files, you'll need to manually relink files in Mendeley after downgrading or in Zotero after importing.

(Note that at Zotero we strongly believe you should be fully in control of your own research data, and we don't think you should have to make these choices, but these are the available options given the design decisions Elsevier has made.)

If you're comfortable syncing your data to Elsevier, or have already done so, here are the steps:

  1. Make sure you've synced all data and — if you want to avoid reassociating files manually — files to Elsevier's servers.
  2. Move your database out of the Mendeley data directory to a temporary location.
  3. Download Mendeley 1.18.
  4. Perform a fresh sync to pull down your Mendeley data from the Elsevier servers.
  5. Start the import in Zotero by going to File → “Import…” and choosing the “Mendeley” option.

Mendeley 1.18 installers

Troubleshooting

Make sure you're running the latest version of Zotero available via Help → “Check for Updates…”.

If you're running the latest version and something doesn’t come through how you expect or you run into any trouble, let us know in the Zotero Forums.

Preserving Mendeley Annotations and Highlights

As noted above, Mendeley stores PDF annotations and highlights in its own database rather than in the PDF itself where they would be accessible to other PDF readers, and while Zotero will extract annotations to child notes with links back to the PDF, embedded annotations and highlights will not be imported.

To use the third-party Menextract2pdf script to save annotations and highlights back to all of the PDFs in your library before importing into Zotero, follow these steps:

macOS or Linux

  1. Close Mendeley
  2. Make a backup of your Mendeley data directory, including the Downloaded folder that holds your PDF files (and other locations on your computer where you have PDF files you wish to save Mendeley annotations to)
  3. Download and unzip the Mextract2pdf script from here
  4. Open Terminal, navigate to the unzipped Mextract2pdf folder, and run the following command (filling in the correct file paths):
    • menextract2pdf_overwrite.sh "/Path/To/Mendeley/Data Folder/" "/Path/To/Mendeley/PDF/Folder/"
  5. For example, on macOS, if you have your Mendeley database in the default location and your PDFs stored in Mendeley's “Downloaded” folder, you would enter:
    • menextract2pdf_overwrite.sh "/Users/"Your Name"/Library/Application Support/Mendeley Desktop" "/Users/"Your Name"/Library/Application Support/Mendeley Desktop/Downloaded/"

Windows

  1. Install Python
  2. Close Mendeley
  3. Make a backup of your Mendeley data directory, including the Downloaded folder that holds your PDF files (and other locations on your computer where you have PDF files you wish to save Mendeley annotations to)
  4. Download and unzip the Mextract2pdf script from here
  5. Open Command Prompt, navigate to the unzipped Mextract2pdf folder, and run the following command (filling in the correct file paths):
    • menextract2pdf_overwrite.bat "C:\Path\To\Mendeley\Data Folder\" "C:\Path\To\Mendeley\PDF\Folder\"
  6. For example, if you have your Mendeley database in the default location and your PDFs stored in Mendeley's “Downloaded” folder, you would enter:
    • menextract2pdf_overwrite.bat "%LOCALAPPDATA%\Mendeley Ltd.\Mendeley Desktop\" "%LOCALAPPDATA%\Mendeley Ltd.\Mendeley Desktop\Downloaded\"