Comment on page
Command line use and options
Although JabRef is primarily a GUI based application, it offers several command line options that may be useful. JabRef can even perform file conversion operations without opening the graphical interface.
This description applies since JabRef 5.0, because JabRef comes with a pre-bundled Java-Runtime Environment
JabRef.bat, for example:
Do not use
The following documentation is for Windows, but works equally well on Linux and macOS:
C:\portable-apps\JabRef-5.0-portable_windows\JabRef\runtime\bin\JabRef.bat [OPTIONS] [BIBTEX_FILE]
In some cases, you have to specify
--consoleto ensure that output is written to the console.
You can always specify one or more Bib(la)TeX files to load by simply listing their filenames. Take care to specify all options before your list of file names. Ensure that the first file name is not misunderstood as being an argument for an option; this simply means that if a boolean option like
-limmediately precedes a file name, add the word
trueas an argument. For instance, the command line will correctly load the file
original.bib, export it in docbook format to
filetoexport.xml, and suppress the GUI:
C:\portable-apps\JabRef-5.0-portable_windows\JabRef\runtime\bin\JabRef.bat -o filetoexport.xml,docbook5 -n true original.bib
The word true prevents the file name from being interpreted as an argument to the
Displays a summary of the command line options, including the list of available import and export formats.
Suppresses the JabRef window (i.e. no GUI - Graphic User Interface - is displayed).
It causes the program to exit immediately once the command line options have been processed. This option is useful for performing file conversion operations from the command line or a script.
--import filename[,import format]or
--importToOpen filename[,import format])
Import or load the file
If only the filename is specified (or if the filename is followed by a comma and a
*character), JabRef will attempt to detect the file format automatically. This works for BibTeX files, and also for all files in a supported import format. If the filename is followed by a comma and the name of an import format, the given import filter will be used.
-hoption to get the list of available import formats.
If an export option is also specified, the import will always be processed first, and the imported or loaded file will be used by the export filter. If the GUI is not suppressed (using the
-noption), any imported or loaded file will show up in the main window.
--importToOpenis used, the content of the file will be imported into the opened tab.
-ioption can be specified only once, and for one file only.
--output filename[,export format])
Export or save a file imported or loaded by the same command line.
If a file is imported using the
-ioption, that file will be exported. If no
-ioption is used, the last file specified (and successfully loaded) will be exported.
If only filename is specified, it will be exported in BibTeX format. If the filename is followed by a comma and an export format, the given export filter will be used.
A custom export filter can be used, and will be preferred if the export name matches both a custom and a standard export filter.
If the GUI is not suppressed (using the
-noption), any export operation will be performed before the JabRef window is opened, and the imported database will show up in the window.
-ooption can be specified only once, and for one file only.
The first option is to export all entries, which are included in the
entries.bibfile to the specified
export.xmpfile. The second argument, separated by comma, is the type of exporter used by JabRef.
JabRef.bat -o path\export.xmp,xmp path\entries.bib -n
The second option is to export every entry in the entries.bib in a single .xmp file. Therefore, the file name is replaced by the keyword
splitwithout a file ending! JabRef generates individual .xmp files at the
pathlocation. The file name is a combination of the identifier provided by JabRef and the cite key of the entry.
JabRef.bat -o path\split,xmp path\entries.bib -n
Import or load code directly from the BibTeX file. This only works for BibTeX files, and does not support files of other import formats. If it detects this command line option, the JabRef CLI will take in its following argument as a BibTeX string that represents the BibTeX article file being read in for import (usually a filename). JabRef then passes on this information to a helper function that will parse the BibTex string into entries and return the resulting BibTex entries to the JabRef CLI.
If the GUI is not suppressed (using the
-noption), any imported or loaded BibTeX file will show up in the main window.
-importBibtexoption can be specified only once, and for one file only.
Save to a new file all the database entries matching the given search term.
If the filename is followed by a comma and an export format, the given export filter will be used. Otherwise, the default format html-table (with Abstract and BibTeX, provided by tablerefsabsbib) is used.
Note: In addition it is also possible to search for entries within a time frame such as
Year=1989-2005(instead of only searching for entries of a certain year as in
Note: Search terms containing blanks need to be bracketed by quotation marks, as in
(author=bock or title|keywords="computer methods")and not(author=sager)
-writeMetadatatoPdf -w CITEKEY1[,CITEKEY2][,CITEKEYn] | PDF1[,PDF2][,PDFn] | all)
Exports information stored in the database as Metadata to linked files. The metadata is stored as XMP metadata and as an embedded bib file. The entries can be selected by citekey. Individual pdfs can be selectec by the path to the pdf (either as given in the database or as an absolute or relative path to the pdf file itself). The keyword
allmay be specified to write metadata on all pdfs in the database.
As -writeMetadatatoPdf, but only write XMP metadata.
As -writeMetadatatoPdf, but only embedd a bib file.
Query a Web fetcher and import the entries.
Pass both the name of a fetcher and your search term or paper id (e.g.
--fetch=Medline:cancer), and the given fetcher will be run. Some fetchers will still display a GUI window if they need feedback from you.
The fetchers listed in the Web search panel can be run from the command line. To get the list of available fetchers, run
--aux infile[.aux],outfile[.bib] base-BibTeX-file)
Extract a subdatabase from a .aux file:
When you compile a LaTeX document (e.g.
infile.tex), an .aux file is created (
infile.aux). Among other things, it contains the list of entries used in your document. JabRef can extract the references used from the
base-BibTeX-fileto a new .bib file (
outfile.bib). This way, you will have a subdatabase containing only the entries used in the .tex file.
Automatically set file links.
Regenerate all keys for the entries of a Bib(la)TeX file.
Export user preferences to an XML file. After exporting, JabRef will start normally.
Import user preferences from an XML file (exported using the
-xoption, or through the GUI). After importing, JabRef will start normally.
Reset preferences (key1, key2,..., or
Do not open any files at startup
Display the version number of JabRef.
Show debug level messages.
Show info and error messages in the console.