A simple python script helps you migrating your bibliographic data (including attachments and groups/categories) from JabRef into Citavi.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
buhtz 8afec8e0e3 „README.md“ ändern 1 month ago
doc Removed unessecary doc file 4 months ago
.gitignore prepared for publication 4 months ago
LICENSE Initial commit 4 months ago
README.md „README.md“ ändern 1 month ago
cj_base.py Licence infos and pep8 4 months ago
migrate_jabref_2_citavi.py prepared for publication 4 months ago


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.