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.
More discussion at https://tex.stackexchange.com/a/351452/9075.
See https://stackoverflow.com/a/4628718/873282
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.
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
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.
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
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_
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
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-
.
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
The following fields are treated as follows during export:
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
The following fields are treated as follows during import:
organization
ConferenceName
journaltitle
Journal
location
City, StateProvince, CountryRegion
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 avoid adding duplicated entries, and to perform some simple operations like generating BibTeX keys for the entries, or adding them to groups. 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.
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
Potential duplicates are pointed out by an icon in the second column. A click on this icon allows you to check the similarities. A button on the left panel allows you to Deselect all duplicates (without inspection).
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.
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.
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. .
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 installed.
Install the JabRef browser extension: , ,
On Windows 7, please .
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.
/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
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
/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
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.
Download and install the Debian package of
Install the JabRef browser extension: , ,
Download and put it into
Install the snap package of
Install the JabRef browser extension: , ,
Download and install the DMG package of .
Install the JabRef browser extension: , ,
Download and put it into
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, ) 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.
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 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".