A simple python script helps you migrating your bibliographic data (including attachments and groups/categories) from JabRef into Citavi.
Go to file
Christian Buhtz 8afec8e0e3 „README.md“ ändern 2021-08-13 11:18:25 +02:00
doc Removed unessecary doc file 2021-05-19 22:10:32 +02:00
.gitignore prepared for publication 2021-05-19 21:45:34 +02:00
LICENSE Initial commit 2021-05-19 21:28:30 +02:00
README.md „README.md“ ändern 2021-08-13 11:18:25 +02:00
cj_base.py Licence infos and pep8 2021-05-19 21:45:34 +02:00
migrate_jabref_2_citavi.py prepared for publication 2021-05-19 21:45:34 +02:00


Migrate JabRef to Citavi

A simple python script helps you migrating your bibliographic data (including attachments and groups/categories) from JabRef into Citavi.

Steps to migrate

Prepare JabRef's bib-file

  1. Get the bib file. You can use example.bib for a first warming up test.
  2. Convert all none-StaticGroups (e.g. keyword groups) to StaticGroups via Edit Group -> Collect by: Explicit collection -> And click OK when asked Assign the original group's entries to this group? You can check if all groups are StaticGroup when open the bib file in all text editor and look at the end of the file.

JabRef StaticGroups

Import the bib file in Citavi via Citavi's own import feature.

  1. Create an empty Citavi project.
  2. Extras -> Options -> Citations -> activate LaTeX-Support
  3. Title -> Import -> Import from text file
  4. Add new text-filter and use it -> "BibTeX (unknown fields to Notes)"
  5. In the next dialog window take care of encoding (maybe "UTF-8"?) and the correct order for first- and lastname. If you have both forms ("John Doe" and "Doe, John") in your bib-file I recommand to use "Doe, John" while Citavi import. Citavi is able to recognize and transform not all but most of the "John Doe" forms, too.
  6. Uncheck overwrite bibtex keys. The keys in Citavi need to be the same as in the bib-file.
  7. Close Citavi and the Citavi project.

Citavi Import

Prepare your Python3 environment

Run the script

Run the script migrate_jabref_2_citavi.py (wihtout the .py) and give the name's of the JabRef and Citavi file as a parameter to it.


py -3 -m migrate_jabref_2_citavi example.bib myliterature.ctv6

Possible problems can happen with JabRefs file directory. The script is build that way that it recoginize this problems and inform you about it. But please open a bug report if your use case is not handled.

Prepare yourself to run the script multiple times because you will ran into parsing problems. JabRef allow to create bad and damaged bib-files. But the pybtex package that is used by the script for parsing that bib-file is much more accurate and will throw Exceptions when something is wrong. For example missing or duplicated bibtex-keys, wrong characters (e.g. HTML-stuff), to many commas in journal titles, etc.


Please feel free to contact me via the Codebergs issue system or direct. Find more contact details in the py-source file.