Browser Extension
The official browser extension automatically identifies and extracts bibliographic information on websites and sends them to JabRef with one click.
JabRef offers an official browser extension. It automatically identifies and extracts bibliographic information on websites and sends them to JabRef with one click.
When you find an interesting article through Google Scholar, the arXiv or journal websites, this browser extension allows you to add those references to JabRef. Even links to accompanying PDFs are sent to JabRef, where those documents can easily be downloaded, renamed, and placed in the correct folder. A wide range of publisher sites, library catalogs, and databases are supported.
Installation and Configuration
Normally, you simply install the extension from the browser store and are ready to go.
While Chrome extensions can work in Edge (and will install), JabRef is configured to work with the Edge extension in the Edge Browser, and the Chrome extension in the Chrome Browser. It will not work if they are mixed.
Usage
After the installation, you should be able to import bibliographic references into JabRef directly from your browser. Just visit a publisher site or some other website containing bibliographic information (for example, the arXiv) and click the JabRef symbol in the Firefox search bar (or press Alt+Shift+J). Once the JabRef browser extension has extracted the references and downloaded the associated PDF's, the import window of JabRef opens.
You might want to configure JabRef so that new entries are always imported in an already opened instance of JabRef. For this, activate "Listen to remote operation on port" under the "Network" tab of the JabRef Preferences.
Troubleshooting
In case you have Adblock Plus extension and Jabref extension doesn't work
1) Go to zotero.org. 2) Deactivate AdBlock plus extension for the whole domain (zotero.org) by clicking on the Adblock plus extension button and sliding the corresponding slider to allow adds on the whole domain. 3) Close and reopen the browser in order to reload all the extension and their settings. 4) Verify the functioning of the Jabref extension by visiting a page you know is working to extract its bibliographic data (for example, the arXiv) by pressing the extension button or Alt + Shift + J.
In case you encounter problems in this procedure refer to issue #241 on GitHub for further help.
In case script jabrefHost.py doesn't work
Error message bad interpreter: /usr/bin/python3: no such file or directory
means that python3 is not installed at the expected location. Run which python3
to see if python3 is installed elsewhere. Then copy that path at the first line of jabrefHost.py maintaining #!
prefix.
In case PowerShell script JabRefHost.ps1 cannot be executed due to ExecutionPolicy
Check your ExecutionPolicy by using Get-ExecutionPolicy -List
in PowerShell. If you get something else than Undefined
for your MachinePolicy
, changes are high that this policy is set by Microsoft Group Policy. In this case the option -ExecutionPolicy Bypass
in JabRefHost.bat won't work. If your MachinePolicy
says AllSigned
you can self-sign your JabRefHost.ps1 script, by following tutorials like windows-10-signing-a-powershell-script-with-a-self-signed-certificate.
Manual Installation
Most JabRef installations include the necessary files, so test the extension before proceeding with the following instructions. However, sometimes, a manual installation is necessary (e.g. if you use the portable version of JabRef). In this case, please take the following steps:
Windows
Make sure you have at least JabRef 5.0 installed.
Download the following files and copy them to the same directory as
JabRef.exe
Make sure that the correct file name of the
JabRef.bat
file is specified inJabRefHost.ps1
under$jabRefExe
.Run the following command from the console (with the correct path to the
jabref.json
file):a. For Firefox support:
b. For Chrome/Opera/Brave/Vivaldi and other chromium-based browser support:
c. For Edge support:
You may need to change the root
HKEY_LOCAL_MACHINE
toHKEY_CURRENT_USER
if you don't have admin rights.
Linux
Deb, RPM or Portable
Download and install the Debian package of JabRef (>= 5.0).
Install the JabRef browser extension: Firefox, Chrome, Edge, Vivaldi
Firefox: Download org.jabref.jabref.json and put it into
/usr/lib64/mozilla/native-messaging-hosts/org.jabref.jabref.json
(and/usr/lib/mozilla/native-messaging-hosts/org.jabref.jabref.json
) to install with admin rights for all users~/.mozilla/native-messaging-hosts/org.jabref.jabref.json
to install without admin rights for the current user
Chrome and Brave: Download org.jabref.jabref.json and put it into
/etc/opt/chrome/native-messaging-hosts/org.jabref.jabref.json
to install with admin rights for all users~/.config/google-chrome/NativeMessagingHosts/org.jabref.jabref.json
to install without admin rights for the current user
Note: Brave is using the Google file structure for
NativeMessagingHosts
, see Github Issue.Chromium: Download org.jabref.jabref.json and put it into
/etc/chromium/native-messaging-hosts/org.jabref.jabref.json
to install with admin rights for all users~/.config/chromium/NativeMessagingHosts/org.jabref.jabref.json
to install without admin rights for the current user
Edge: Download org.jabref.jabref.json and put it into
/etc/opt/edge/native-messaging-hosts/org.jabref.jabref.json
to install with admin rights for all users~/.config/microsoft-edge/NativeMessagingHosts/org.jabref.jabref.json
to install without admin rights for the current user
Open the file
org.jabref.jabref.json
with a text editor, and alter it so that itspath
variable matches the location of yourjabrefHost.py
file.
Snap
Install the snap package of JabRef (>= 5.0).
Connect the appropriate plug for the selected browser:
Firefox:
snap connect jabref:hostfs-mozilla-native-messaging-jabref
Chrome:
snap connect jabref:etc-opt-chrome-native-messaging-jabref
Chromium:
snap connect jabref:etc-chromium-native-messaging-jabref
Edge:
snap connect jabref:etc-opt-edge-native-messaging-jabref
Flatpak
Install the flatpak of JabRef.
Browser
If the browser is installed as a snap or flatpak there is an extra step to enable the extension.
With Firefox installed as a snap (default in Ubuntu):
flatpak permission-set webextensions org.jabref.jabref snap.firefox yes
With Firefox installed as a flatpak:
Enable the following permission (Note that this will partially disable confinement):
via terminal command:
flatpak override --user --talk-name=org.freedesktop.Flatpak org.mozilla.firefox
via Flatseal app: add
org.freedesktop.Flatpak
to theSession Bus Talk
section fororg.mozilla.firefox
macOS
Download and install the DMG package of JabRef (>= 5.0).
Install the JabRef browser extension: Firefox, Chrome, Edge, Vivaldi
Firefox: If it's not auto-installed for you, download org.jabref.jabref.json and put it into
/Library/Application Support/Mozilla/NativeMessagingHosts/org.jabref.jabref.json
to install with admin rights for all users~/Library/Application Support/Mozilla/NativeMessagingHosts/org.jabref.jabref.json
to install without admin rights for the current user
Chrome and Brave: If it's not auto-installed for you, download org.jabref.jabref.json and put it into
/Library/Google/Chrome/NativeMessagingHosts/org.jabref.jabref.json
to install with admin rights for all users~/Library/Application Support/Google/Chrome/NativeMessagingHosts/org.jabref.jabref.json
to install without admin rights for the current user
Note: Brave is using the Google file structure for
NativeMessagingHosts
, see Github Issue.Chromium based: If it's not auto-installed for you, download org.jabref.jabref.json and put it into
/Library/Application Support/Chromium/NativeMessagingHosts/org.jabref.jabref.json
to install with admin rights for all users~/Library/Application Support/Chromium/NativeMessagingHosts/org.jabref.jabref.json
to install without admin rights for the current user
Edge: If it's not auto-installed for you, download org.jabref.jabref.json and put it into
/Library/Microsoft/Edge/NativeMessagingHosts/org.jabref.jabref.json
to install with admin rights for all users~/Library/Application Support/Microsoft Edge {Channel_Name}/NativeMessagingHosts/org.jabref.jabref.json
to install without admin rights for the current user
The {Channel_Name} in Microsoft Edge {Channel_Name} must be one of the following values: Canary, Dev, Beta.
When using the Stable release/channel, {Channel_Name} is not required.
Check that the Python script works. In Terminal run
/Applications/JabRef.app/Contents/Resources/jabrefHost.py
. If there are no errors the script is working properly. Stop the script by pressingCtrl + D
.
Local JabRef installs
org.jabref.jabref.json directs the browser extension to a python script in the JabRef app, which is set to the most common install path by default (/Applications/JabRef.app/Contents/Resources/jabrefHost.py
). If you have installed JabRef somewhere else, most likely to your local applications folder (~/Applications/JabRef
), then you will need to update this path to the correct location. For example, in local installs this would be /Users/USER/Applications/JabRef.app/Contents/Resources/jabrefHost.py
, where USER
is your username.