The official browser extension automatically identifies and extracts bibliographic information on websites and sends them to JabRef with one click.
JabRef has 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.
Normally, you simply install the extension from the browser store and are ready to go.
Sometimes, a manual installation is necessary (e.g. if you use the portable version of JabRef). In this case, please take the following steps:
Make sure you have at least JabRef 5.0 installed.
On Windows 7, please upgrade Powershell.
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 in JabRefHost.ps1
under $jabRefExe
.
Run the following command from the console (with the correct path to the jabref.json
file):
For Firefox support:
For Chrome/Opera support
You may need to change the root HKEY_LOCAL_MACHINE
to HKEY_CURRENT_USER
if you don't have admin rights.
Download and install the Debian package of JabRef 5.0
Download org.jabref.jabref.json and put it into
/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
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
Download and install the DMG package of JabRef 5.0.
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
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 "Remote operation" under the Advanced tab in the JabRef Preferences.
Based on the .aux
file generated by LaTeX, JabRef can create a subdatabase containing only the cited entries.
This feature is available through Tools → New subdatabase based on AUX file.
Entries are first shown in the inspection window. Note that, if this takes too long (for example), you can click on the button Stop at the bottom of the window.
Once the entries displayed in the inspection window, none of them have been added to one of your databases yet.
By default, all the entries are selected for importation, as shown by the checked boxes in the Keep column. You can select/unselect an entry by clicking on these check boxes. On the left panel, buttons allow you to Select all the entries for importation, or to Deselect all the entries.
A left click on an entry (out of the check box and icons) let you choose it. It displays an preview of the entry below the entry table. As usual, you can choose several entries by using the Shift or the Ctrl keys. Then, pushing the button Delete on the left panel will remove the chosen entries from the table.
A right click on an entry displays a drop-down menu which allows you to:
delete the entry
add the entry to a group
link a local file to the entry
download the file corresponding to the entry
automatically set file links to the entry
attach an URL to the entry
On the left panel, if the box Generate keys is checked, keys will be automatically generated on import. You can also choose to generate the keys now by clicking on the button Generate now.
Once you are done with the entry selection, you can add these entries to your database by clicking on OK at the bottom of the window. Alternatively, you can Cancel the import.
When you import new entries from a supported reference format, or fetch entries directly from the Internet, the inspection window allows you to select the entries you want to keep, to , and to perform some simple operations like generating BibTeX keys for the entries, or adding them to . If you are importing into an existing database, it is often easier to perform these operations before they are mixed in between the entries of your database.
Potential duplicates are pointed out by an icon in the second column. A click on this icon allows you to . A button on the left panel allows you to Deselect all duplicates (without inspection).
This information is outdated. Please help to improve it.
JabRef allows you to define and use your own importers, in very much the same way as the standard import filters are defined. An import filter is defined by one or more Java classes, which parse the contents of a file from an input stream and create BibTex entries. So with some basic Java programming you can add an importer for your favorite source of references or register a new, improved version of an existing importer. Also, this allows you to add compiled custom importers that you might have obtained e.g. from GitHub without rebuilding JabRef (see "Sharing your work" below).
Custom importers take precedence over standard importers. This way, you can override existing importers for the Autodetect and Command Line features of JabRef. Custom importers are ordered by name.
Make sure, you have a compiled custom import filter (one or more .class
files as described below) and the class files are in a directory structure according to their package structure. To add a new custom import filter, open the dialog box Options → Manage custom imports, and click Add from folder. A file chooser will appear, allowing you to select the classpath of your importer, i.e. the directory where the top folder of the package structure of your importer resides. In a second file chooser you select your importer class file, which must be derived from ImportFormat
. By clicking Select new ImportFormat Subclass, your new importer will appear in the list of custom import filters. All custom importers will appear in the File → Import → Custom Importers and File → Import and Append → Custom Importers submenus of the JabRef window.
Please note that if you move the class to another directory you will have to remove and re-add the importer. If you add a custom importer under a name that already exists, the existing importer will be replaced. Although in some cases it is possible to update an existing custom importer without restarting JabRef (when the importer is not on the classpath), we recommend restarting JabRef after updating an custom-importer. You can also register importers contained in a ZIP- or JAR-file, simply select the Zip- or Jar-archive, then the entry (class-file) that represents the new importer.
For examples and some helpful files on how to build your own importer, please check our download page.
Let us assume that we want to import files of the following form:
In your favorite IDE or text editor create a class derived from ImportFormat
that implements methods getFormatName()
, isRecognizedFormat
and importEntries()
. Here is an example:
Note that the example is in the default package. Suppose you have saved it under /mypath/SimpleCSVImporter.java
. Also suppose the JabRef-2.0.jar is in the same folder as SimpleCSVImporter.java
and Java is on your command path. Compile it using a JSDK 1.4 e.g. with
Now there should be a file /mypath/SimpleCSVImporter.class
.
In JabRef, open Options → Manage custom imports, and click Add from folder. Navigate to /mypath
and click the Select ... button. Select the SimpleCSVImporter.class
and click the Select ... button. Your importer should now appear in the list of custom importers under the name "Simple CSV Importer" and, after you click Close also in the File → Import → Custom Importers and File → Import and Append → Custom Importers submenus of the JabRef window.
With custom importer files, it's fairly simple to share custom import formats between users. If you write an import filter for a format not supported by JabRef, or an improvement over an existing one, we encourage you to post your work on our GitHub page. We'd be happy to distribute a collection of submitted import files, or to add to the selection of standard importers.
Entries can be created from a reference text.
In case you have a reference string, JabRef offers the functionality to convert the text to BibTeX. Thereby, JabRef uses the technology offered by Grobid.
Example:
Click Library and select "New entry from plain text..." Alternatively, you can press Ctrl+Shift+N.
The "Plain Reference Parser" window opens
Paste the reference text:
Click "Add to current library"
The result is selected in the entry table:
JabRef thereby used the service offered by FreeCite. This servce was shut down in 2019. The following explanations are only for historical interest.
Click BibTeX and select "New entry from plain text..." Alternatively, you can press Ctrl+Shift+N.
Select an entry type. Select "InProceedings", this works in the most cases
The "Plain text import" window opens
Paste the entry using the middle button "paste"
Click on "Parse with FreeCite"
The entry editor opens with the parsed result:
Do your corrections there.
After step 4 from above, you can manually assign the types to each text.
Select the text
Double click on the type at the right side at "Available BibTeX fields"
After you finished, you can press "Accept".
JabRef supports the MS Office Bibliography XML format for exporting and importing.
As you are using JabRef already, you can simply use the builtin export functionality for Office 2007 xml format, that is the format where Microsoft stores it bibliography information.
Export (selected) entries in JabRef and choose Office 2007 xml format
Open Word, click on the References Tab
Click on Manage sources -> Browse -> Open the exported XML File (or better copy it directly to the location under browse)
All entries are then available in the MS bibliography database
The only problem in the export could be when you have a "company" as author. That is simply exported as author and not in the company field.
Some field names in the XML format differ from the field names in the BibTeX/BibLaTeX format and can therefore be not directly mapped between the formats. Therefore this help file provides a list of all field mappings.
The field mapping for import and export is mostly the same, but there are some differences, as not all field exists in both formats. Additionally, some fields have to be treated differently during import/export.
The following fields are BibTeX/BibLaTex only fields, they have no representation in office XML. In the resulting XML file they are represented with the prefix BIBTEX_
The XML field SourceType
contains the associated entry type from the first table, while the original BibTeX/BibLaTex entrytype is preserved in the field BIBTEX_ENTRY
.
The following fields are XML-only fields, they have no BibTeX/BibLaTex representation: In the resulting bib database they are represented with the prefix msbib-
.
The following fields are treated as follows during export:
The following fields are treated as follows during import:
More discussion at .
See
BibTeX/BibLaTeX entry type | XML entry type |
---|
BibTeX/BibLaTeX | XML field |
---|
BibTeX/BibLaTeX only fields | XML representation |
---|
BibTeX/BibLaTex represenation | XML field |
---|
BibTeX/BibLaTeX representation | XML field |
---|
BibTeX/BibLaTeX representation | XML field |
---|
book | Book |
inbook | BookSection |
booklet | BookSection |
incollection | BookSection |
article | JournalArticle |
inproceedings | ConferenceProceedings |
conference | ConferenceProceedings |
proceedings | ConferenceProceedings |
collection | ConferenceProceedings |
techreport | Report |
manual | Report |
mastersthesis | Report |
phdthesis | Report |
unpublished | Report |
patent | Patent |
misc | Misc |
electronic | ElectronicSource |
online | InternetSite |
periodical | ArticleInAPeriodical |
bibtexkey | Tag |
title | Title |
year | Year |
note | Comments |
volume | Volume |
language | LCID |
edition | Edition |
publisher | Publisher |
booktitle | BookTitle |
chapter | ChapterNumber |
issue | Issue |
school | Department |
institution | Institution |
doi | DOI |
url | url |
shorttitle | ShortTitle |
pages | Pages |
authors | Authors |
editors | Editors |
translator | Translator |
bookauthor | Bookauthor |
volumes | NumberVolumes |
series | BIBTEX_Series |
abstract | BIBTEX_Abstract |
keywords | BIBTEX_KeyWords |
crossref | BIBTEX_CrossRef |
howpublished | BIBTEX_HowPublished |
affiliation | BIBTEX_Affiliation |
contents | BIBTEX_Contents |
copyright | BIBTEX_Copyright |
price | BIBTEX_Price |
size | BIBTEX_Size |
intype | BIBTEX_InType |
paper | BIBTEX_Paper |
<BibTexEntryType> | BIBTEX_Entry |
<BibTexEntryType> | SourceType |
key (not BibTeX-Key) | BIBTEX_KEY |
pubstate | BITEX_Pubstate |
msbib-numberofvolume | NumberVolumes |
msbib-periodical | PeriodicalTitle |
msbib-day | Day |
msbib-accessed | Accessed (YearAccessed, MonthAccessed, DayAccessed) |
msbib-medium | Medium |
msbib-recordingnumber | RecordingNumber |
msbib-theater | Theater |
msbib-distributor | Distributor |
msbib-broadcaster | Broadcaster |
msbib-station | Station |
msbib-type | Type |
msbib-court | Court |
msbib-reporter | Reporter |
msbib-casenumber | CaseNumber |
msbib-abbreviatedcasenumber | AbbreviatedCaseNumber |
msbib-productioncompany | ProductionCompany |
msbib-producername | producerNames |
msbib-composer | composers |
msbib-conductor | conductors |
msbib-performer | performers |
msbib-writer | writers |
msbib-director | directors |
msbib-compiler | compilers |
msbib-interviewer | interviewers |
msbib-interviewee | interviewees |
msbib-inventor | inventors |
msbib-counsel | counsels |
booktitle | ConferenceName |
journal | JournalName |
journaltitle | JournalName |
month | Month |
date | year, month, day (if date is in ISO 8601 form |
issue | issue |
isbn | StandardNumber |
issn | StandardNumber |
lccn | StandardNumber |
mrnumer | StandardNumber |
address (if field contains at least one comma) | City |
address (if field does not contain a comma) | City, StateProvince, CountryRegion |
location (if field contains at least one comma) | City |
location (if field does not contain a comma) | City, StateProvince, CountryRegion |
<EntryType is thesis> | ThesisType |
<EntryType is patent> number | PatentNumber |
number (entry is not patent) | Number |
Authors/Editors (single author/editor is enclosed in curly braces) | Corporate |
organization | ConferenceName |
journaltitle | Journal |
location | City, StateProvince, CountryRegion |