Accessing Your Logos Library in Zotero

A post on Logos and Zotero library integration.

Update 3/1/2024 – The spreadsheet template referenced in this post has been updated. The new version is 1.2.0 and can be downloaded here. Updates to the instructions below are forthcoming. The most significant change is the suggestion to use the “Data > From Text/CSV” in Excel, then selecting “65001: Unicode (UTF-8)” to handle Unicode characters in the Logos export (thank you, John Duffy). Other updates include a fix to cutoff date handling, improved language mapping, and the inclusion of the “AbbreviatedTitle” field from Logos. Lastly, the URL imported to Zotero is now a functional web URL, rather than a mock URL. The final step to use Zutilo find/replace is now optional and only needs to be done if you prefer L4 links (thank you, Tommy Thunheim for testing and helping refine these).

The term “killer app” has it’s origin in the 1980’s. A PC Magazine article from 1989 memorializes how this term was once perceived. Around the time that article hit the press, I was preparing to take my first Keyboarding class and I’m old enough to remember every technological development the article discusses. It’s amusing to consider the opinions expressed by the author. In his mind “killer app” embodied ideas that were dependent on hardware advances like the PC, the hard disk, CD-ROM, and scanners. The word “internet” doesn’t appear anywhere in the magazine but the author’s mention of ISDN oddly seems to envisage today’s interconnected world.

If you consider developments in communications infrastructure and devices like smartphones, I suppose the author wasn’t too far off. Nevertheless, today I tend to think of a “killer app” as something less associated with wealth accumulation than utility and more associated with software-empowered tasks than hardware-empowered Operating Systems and software. Regarding software and utility, Logos and Zotero are two apps I find indispensable and the latter, which is freely available, is undoubtedly transforming my workflow. For me, it is a “killer app” and the prospect of bridging it with Logos is very appealing.

I was introduced to Zotero only a few months ago by my friend Adam who’s in Seminary. It’s not a new application but I’m not in academia where it seems to be most popular. As I continue to develop and refine my workflow for personal research (he also introduced me to Obsidian, another potential game-changer), accessing my Logos library in Zotero is a must. This post outlines my goals for accomplishing this, some of the challenges that exist, and how I overcome them. As always, I welcome feedback, ideas, and corrections.

Background and goals for accessing my Logos library in Zotero

The Logos website has an older article that explains how to export your library for import into Zotero. There is also a YouTube video (not from Logos) that walks through the steps in the article. Other YouTube videos discuss various ways you can import citations/resources (e.g. here and here). These all detail very easy tasks and learning them is not difficult or time consuming. But as I continue to learn Logos and Zotero, I become more dependent on them for research and workflow management. Consequently, I desire more robust and seamless integration between the two applications. With more than 4,600 Logos resources and ambitious integration goals, repetitive, manual, or one-off tasks aren’t adequate.

These are the main goals I have for integrating Logos and Zotero:

  1. Export my complete Logos library for import into Zotero.
  2. Import bulk library resources (not necessarily all) in Zotero.
  3. Maximize the data/fields imported for each resource.
  4. Ensure fields map appropriately.
  5. Easily distinguish the Logos resources in Zotero from other resources.
  6. Hyperlink each resource I import with a L4 link so I can launch it from the Zotero interface (see here and here).
  7. Easily Update Zotero with new Logos resources.
  8. Document all this for the benefit of others and encourage others to improve upon it.

Apparently, I’m not the only one…

There is a Zotero group library (logosbiblesoftware) with the following description:

The aim of this group is to provide full bibliographic information for works available in Logos Bible Software in compliance with the SBLHS2 (Society of Biblical Literature Handbook of Style 2nd edition).

There are over 11,000 resources in this library. If you want, you can export groups of resources on the website by highlighting blocks. Exporting more than a few hundred records at a time doesn’t seem to work well and unfortunately, none of the built-in exports seem to provide the L4 links I want (as far as I could tell). Here are some of the options:

Exporting items from the 'logosbiblesoftware' group library.
Exporting records from a Zotero group library on the web.

If you’re a member of the group (as I am), the group library appears in the Zotero desktop application and you’re able to drag and drop the resources, attached links included, into your own library. This is wonderful but wading through, trying to find resources that I have in my Logos library is a challenge, and there are likely many resources I have that aren’t in the group library.

To accomplish all of my goals, I’ll need another option.

Exporting your Logos library: The standard ways

If your only goal is to have your Logos resources imported so you can generate basic citations with Zotero, the steps in the Logos article already mentioned work reasonably well. I don’t see much benefit from that considering Logos also generates citations. I’m using Zotero for much more and unfortunately, the export/import process isn’t perfect. For example, the following is a record exported from Logos in the BibTex format suggested:

  @book{Cassiodorus_1990,
address={New York; Mahwah, NJ},
edition={51},
series={Ancient Christian Writers},
title={Cassiodorus: Explanation of the Psalms},
volume={I},
publisher={Paulist Press},
author={Cassiodorus},
editor={Burghardt, Walter J. and Lawler, Thomas Comerford, Walsh, P. G.},
year={1990},
collection={Ancient Christian Writers} }

When you import it into Zotero, it looks like this:

Name fields imported in Zotero from a Logos-generated BibTex file.
A single record exported from Logos in BibTex format and imported into Zotero.

There are a couple of issues here with the author fields. Many of the books/articles I have in Logos, print, and as pdf’s, are translations of texts from church history. As such, I prefer to have my records in Zotero reflect the original author(s) of the work, the translator(s), and the editor(s), separately. In the example above, P.G. Walsh is the translator of the work. Cassiodorus is the original author. The BibTex file from Logos is missing the “translator” field (the format may support this) and it combines editors in a way that Zotero can’t parse. The result is multiple names imported into the same field.

A quick scan of the full BibTex export from Logos reveals the issue with author fields is a consistent problem. Without a way to identify which name is associated with which role, it’s not practical to consider processing the file to ensure names are imported correctly. Goals #3 and #4 are simply not met (much less some others). Further, I know there is a great deal of information in Logos that doesn’t appear in the export, including fields necessary for accomplishing some of my other goals. An example is the Logos resource ID, which is necessary to build a hyperlink to open the resource from Zotero (goal #6).

With a little searching, I found that BibTex is not the only format supported by both applications and it may not be the best choice for the export/import process. “Refer/BibiX Style” appears to be another but the RIS format looks like the best alternative as it supports the links I want to import (goal #6). This is how Logos exports the same resource in the RIS format:

TY  - BOOK
TI  - Cassiodorus: Explanation of the Psalms
Cassiodorus
CY  - New York; Mahwah, NJ
ET  - 51
VL  - I
PB  - Paulist Press
A3  - Burghardt, Walter J.
A3  - Lawler, Thomas Comerford
TA  - Walsh, P. G.
PY  - 1990
KW  - Bible. O.T. Psalms--Commentaries--Early works to 1800.
ER  - 

Here is how the RIS file imports into Zotero:

Name fields imported in Zotero from a Logos-generated RIS file.
A single record exported from Logos in RIS format and imported into Zotero.

Now we have one name per field, which I want, but the author and translator are omitted. If you look closely at the text of the RIS file above, you’ll notice line 3 has “Cassiodorus” without a leading tag, like every other line in the file has. This appears to be a bug in the Logos export. A little searching and testing reveals that the RIS "AU" tag is what we need to ensure the “Author” imports correctly. The "A3" tag imports as “Editor.” Once again, manually processing the full export file with over 4,600 records to correct this is not practical. Hopefully this is fixed in a future release of Logos but I won’t hold my breath. There are also other deficiencies with the BibTex and RIS formats relative to my goals so I journey on…

With the RIS file, it’s also worth noting another difference. The "KW" tag exports subjects from Logos as keywords. In other words, it’s a “tags” tag. Here is how this comes into Zotero:

Tags imported in Zotero from a Logos-generated RIS file.
The import of tag from a Logos RIS file imported into Zotero.

Clearly, the Zotero import does not recognize the “–“ delimiter that Logos uses for the tags in the RIS file. To have these imported correctly, each subject/keyword/tag needs to be a separate line in the RIS file, prefixed with "KW - ". I do make extensive use of tags in Zotero but the “subjects” from Logos are not something I care to import. I will use a Zotero tag for identifying my Logos resources but I don’t necessarily need to export that. For my purposes, I’ll consider the exported tags field one to ignore. In Logos, I have only used tags for notes, anyway. All things considered, it seems the RIS file is the best option for getting the data I want from Logos into Zotero (the potential to import a L4 link being decisive).

I won’t detail all the testing I conducted. It should be clear that there is no ideal, single-step export from Logos that meets all my goals. Each of the two export/import options I tested are incomplete and buggy. So what’s the solution? Logos also allows you to export a spreadsheet of your complete library as described here. Maybe I can use that to build a RIS file, I thought. Here are the first few columns of the file when it’s opened in Excel:

A standard Logos library export from within the application.
The first four of 23 total fields in a an export of my full Logos library.

Nice! There’s the Resource ID I need to build the L4 link (goal #6). Unfortunately, I don’t think either the “Metadata Version” or “Last Updated” (not shown) dates are the ones I need to meet goal #7 and they’re the only dates in the file. Also, This export doesn’t include editors or translators, at all, only authors.

In testing, I tinkered with various methods of parsing and combining the various export files I could generate directly from Logos. Unfortunately, I didn’t find anything workable. Then I stumbled on a post in the Logos forums with information on using the DB Browser for SQLite utility to read the Logos data file…

Exporting your Logos library: the better way

Installing the SQLite Browser is simple and I’ll assume anyone reading this won’t have any trouble. After it’s installed, you’ll want to open it and navigate to your Logos catalog.db file. The file path on Windows is something like this:

C:\Users\<username>\AppData\Local\Logos\Data\<cryptic string>\LibraryCatalog\catalog.db

As pictured below, it’s probably a good idea to open the file Read Only. All we need is the data. The second image shows how to export the data: Browse Data > Table: Records > [button] > Export to CSV. When prompted, the default options for the delimiter, etc. are fine. All you need to do is choose a file name and location, and save the file.

Opening a .db file with SQLite Browser.
Opening your Logos catalog.db file.
Exporting records from a .db file with SQLite Browser.
Navigating to and exporting the records.

You can open the CSV file and browse it’s contents. There are about 65 columns of data, compared to the 23 columns you get when you export your library to a spreadsheet from within Logos. Many of the fields aren’t readable in Excel (i.e. “blob” fields) and there plenty of fields that we aren’t concerned with importing. If you’re just interested in having a listing of your Logos library, you can save this as a .xlsx file, remove columns you don’t want, and format it for better viewing. Do NOT remove any columns, however, if you are want to continue to produce a RIS file to import into Zotero.

Building a RIS file and importing into Zotero

In order to generate a RIS file and accomplish each of the goals I outlined, I built a macro-enabled Excel workbook (XLSM). It’s very handy but also a “download and use at your own risk” file. For more information on running these files, please see this Microsoft article. If you choose to, you can download the file here. The rest of this post will go over the high-level steps necessary to use the file to prepare a RIS file that can you can import into Zotero.

Step 1: In the Excel file, set export options on the first tab

‘Lookups’ is the first tab in the spreadsheet and it should be the first thing you see when you extract and open the file. The following options (green cells) can be set for the export:

  • [Language] Import choice – options are ‘Full’ (e.g. English) or ‘Abbreviated (e.g. en)
  • Zotero tag – This is for a Zotero tag to easily locate all of the items from your library. The default is ‘Logos Library’ but you can set this to whatever you want
  • Cutoff date – Allows you to specify a date to limit exports to resources that have been added to Logos since the specified date
  • RIS type code – Logos appears to classify resources with a hierarchical string (e.g. ‘text.monograph.bible’). When a Logos type is mapped to a RIS type code, all resources classified as that type will appear in the target RIS file, unless they are manually removed before export. This is an easy way to exclude groups of items from your library that you don’t want Zotero records for (e.g. audio files, etc.).
Setting preferences for importing your Logos library in Zotero.
The Excel file I built for exporting/importing Logos library data.

Step 2: Copy data from your SQLite Browser export (CSV file)

Open the CSV you exported of your Logos library. Copying the data from it is a crucial step. It’s important to get the exact number of columns and exclude the header row or the tables in the Excel file may not work. The CSV file should have data that extends to column ‘BM‘. Place your cursor in cell ‘B2‘ and highlight all the data over to ‘BM‘ and down to the last row of data. Then, ‘Copy‘ the data via the Excel menu or Ctrl+C. The highlighted data range you copy should look something like the following:

Logos library data exported from the database using SQLite Browser.
Logos library data exported from the database using SQLite Browser.

Step 3: Paste your Logos data in the Excel file

Go back to the Excel file. On the ‘Data‘ tab, ensure the cursor is in cell ‘A7‘ (green highlight) and use “Paste > Paste Values” to import the data.

Pasting a Logos library export into the Excel file.
Pasting a Logos library export into the Excel file.

Step 4: Load the Logos library data to be written to a RIS file

Next, go to the ‘RIS‘ tab in the Excel file. To load data for export, which is filtered based on your preferences on the first tab (type code, cutoff date), press the ‘Import Data‘ button. If this doesn’t work, it’s possible you don’t have macros enabled. After the data are copied into this sheet, it should look something like this:

Logos library data ready for export to a RIS file.
Logos library data ready for export to a RIS file.

Step 5: Review your data and export the RIS file

You can scan down and look through the records before exporting them. If you see anything you don’t want, you can delete the row. Delete as many whole rows as you want but don’t try to edit data in the cells. The data in this worksheet is all based on formulas. When you press ‘Import Data‘, you’ll get a prompt to choose a name and location for the RIS file.

Step 6: Importing the RIS file into Zotero

When importing RIS files into Zotero (File > Import [using all defaults]), I’ve noticed some performance issues. Apparently others have, too. For good measure, I turn off the Tag Selector and hide the item pane (View > Layout…). I have also found that disabling the “Better BibTex” add-on before the import helps. When you re-enable it after an import, it generates Citation Keys at that time. You won’t lose previously generated Keys. I was able to import about 4,500 records in about four minutes.

Step 7: Correct the link attachment URL’s to Logos resources

One of the most useful features of my Excel file is the ability build L4 links to open Logos resources on your desktop. A post on the Zotero forums was helpful in figuring out how to build URI’s allowed by the Zotero importer. An additional step is necessary to make them work. Before using the URI’s in the link attachments, you’ll need to use the Zutilo add-on for Zotero to find and replace strings that were added so the importer would see them as valid links.

After the import completes, click on the imported collection, select all the imported items in the main Zotero pane, right-click, then select Zotilo > Modify attached URL’s. You will need to do this twice. The first time, enter “https://./?” (exactly) as the string to replace and leave the default options. The second time, enter “/” as the string to replace and be sure to check the “Replace all instances of partial path string” box. In both cases, leave the “New partial path…” dialog (the replacement string) blank. This is how it looks when you start the replacement:

Fixing the imported URI attachments for  the Logos library in Zotero after import.
Final step: replacing text necessary for Zotero to see L4 URI’s as valid and import them.

Depending on the number of records you choose to export/import, it may take a while. Be patient and wait for it to complete. Later, you can repeat this same process for new items in your Logos library. Simply use the ‘Cutoff date‘ option in the Excel file to limit the items to export/import.

This was a fun and useful project. I hope others find it helpful. Let me know in the comments if helps you, if you have ideas to improve this, or if you find any errors.

3 thoughts on “Accessing Your Logos Library in Zotero”

  1. I did everything according to the steps, however, when clicking on “Import Data”, the error message “No data in column A.”

    1. Hi Flávio, in Step 2, be sure to check that you are selecting the range of cells and not the entire rows. If you select entire rows, it will cause cells with formulas to be overwritten.

      Let me know if that helps.

  2. I followed the instructions as close as I was able. I’m working on a Mac and got an error in your Excel macro. I moved the appropriate files to my wife’s Windows machine and was able to run the macro with no problems. I noticed that the Zutilo steps turned the “Attachments” label into a label that looked like a link, but there were no slashes in the links and they did nothing when I clicked them. If I did not do the Zutilo steps, I had working links–that is, if Logos was not open, the links would open Logos, but not the reference. If Logos was open, the links would open the reference. So I don’t fully understand what the Zutilo steps were doing. I looked at the sites you linked to that discussed L4 links, but didn’t understand that either. However, I’m happy with what I have right now and am so thankful I stumbled across this blog! Great job!

Join the discussion...

Scroll to Top