Installation
Last updated
Was this helpful?
Last updated
Was this helpful?
JabRef can be either installed (the preferred way) or be used as a portable application.
To get the latest version, head to , download the installer for your system (e.g., dmg
files for MacOS and msi
files for Windows), run them and follow the on-screen instructions.
JabRef 5.6
macOS 10.14 or higher
JabRef 5.12 (dev)
macOS 11 or higher
GTK 3.8 or later
Alternatively, on Windows, you can use the and execute choco install jabref
to get the latest version. On Ubuntu, you can use snap install jabref
to get the latest stable version .
The portable version of JabRef is designed to be run from a USB stick (or similar) with no installation.
Download it from . These are generic archive files (e.g., tar.gz
files for Linux and MacOS, and zip
files for Windows) which need to be extracted. Inside the archive files you will find the file needed to run JabRef:
for Windows JabRef.exe
.
for Linux
either runbin/JabRef
or /lib/runtime/bin/JabRef
.
for Mac, this is the file JabRef.app
.
Be sure to activate "Load and Save preferences from/to jabref.xml on start-up (memory stick mode)" in Options → Preferences → General. Also, if the Linux version of JabRef portable is put into a folder named bin
, it will not start. Other names are fine, like apps
.
Issues with high resolution displays
Warning about preferences
In case you get the following error message
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
How can I start or focus JabRef with hotkey ⊞+J (Win+J)?
To build JabRef from source, you first need to have a working Java Development Kit (see above link for details) and Git installed on your system. After installing the two requirements, you open a terminal window (i.e., a command prompt) and type the following:
In a nutshell, you clone the latest snapshot of JabRef into jabref
directory, change directory to jabref
, initialize and update all the submodules (dependencies) of JabRef, assemble them to be built via JDK and finally build and link them together.
The output should be the build/image
subdirectory that contains the JabRef binary with all of its Java dependencies. To start JabRef, you need to run bin/JabRef
(in Linux and MacOS) or bin/JabRef.bat
(in Windows) under build/image
subdirectory.
If you want to take advantage of the , you can use pre-built binaries crafted from the latest development branch. To use the prebuilt binaries, visit and download the packaged binaries (e.g., dmg
files for MacOS and exe
files for Windows), run them and follow the instructions.
If you want to try the development version in parallel with the stable version, we recommend to download the portable version (e.g. JabRef-X.Y.portable_windows.zip
, JabRef-X.Y.portable_macos.tar.gz
, or JabRef-X.Y.portable_linux.tar.gz
) from to ensure that both versions do not conflict.
You have to change the "compatibility settings" for JabRef to "Disable scaling for high DPI settings". Further information is available at .
Further reading: and .
start regedit and create the following key: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Prefs
. []
Use and provided at .
When JabRef is installed as a snap, it initially asks which application should be used to open PDFs (or other files). However, after selecting the same application three times, that application is set as default and there is no obvious way to select another application ("Preferences" -> "External File Types" does not help here, because the snap sandbox does not "see" any of the user's applications). This setting is stored in the XDG permission storage, and can be changed with a command like the following (see for further information, and have a look at flatpack permissions
to find the correct "Table": look for a line where the "App" is snap.jabref
- in the below example, the table is the default desktop-used-apps
): flatpak permission-set --data "{'always-ask':<false>}" desktop-used-apps application/pdf snap.jabref okularApplication_pdf 0 3
In this example, the default application to open PDF files is set to okularApplication_pdf
, and the counter for when to stop asking how to open PDF files is set to 0/3. If you want JabRef to ask you which application to use every time, use 'always-ask':<true>
in the data
parameter.
See for details.
You have several Java Virtual Machines installed, and under the command line the wrong one is chosen. Have a look at the previous question that tells you how to change the virtual machine used. For Ubuntu you may also have a look at the .
In the background, JabRef uses . Applications using JavaFX can be scaled via java -Dglass.gtk.uiScale=1.5 -jar <application>.jar
. If you have installed JabRef via a package manager, you probably don't have a .jar
file but a binary file. In this case, you need to find your JabRef.cfg
in your installation folder (possibly located at /opt/JabRef/lib/app/JabRef.cfg
) and add in the section [JavaOptions]
the line -Dglass.gtk.uiScale=1.5
. Then, restart JabRef. Try finding a value that is suitable for you. On high resolution displays, values around 1.5
seem to be reasonable.
This issue seems to be related to this . A temporary workaround is to click the menu bar in its lower half. To fix the issue permanently set the following system property: java -Djdk.gtk.version=2
. This can be done globally by adding _JAVA_OPTIONS="-Djdk.gtk.version=2"
to /etc/environment
. It can also be set locally by editing JabRef.cfg
in your installation folder (possibly located at /opt/JabRef/lib/app/JabRef.cfg
) and add the line -Djdk.gtk.version=2
in the [JavaOptions]
section.
Some users with macOS Sierra have reported freezes when using JabRef. It seems this is a bug in the networking part of Java on macOS. seems to solve these issues.
This is one the one hand a font problem and second a lognstanding . This might be a problem related to the font you are using. You can download some other font that supports mathematical alphanumeric symbols, for example, FreeSerif or Cambria Math. A list of fonts supporting Math Unicode blocks is available at .
This method is mainly for package maintainers and users who would like to build the latest snapshots of JabRef directly from the source. If you want to setup JabRef for development, follow the instructions for .