Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Reftool 5

Reftool is a scientific reference manager, similar to Zotero and Mendeley, but it is focused on scientific article management and has more features, in particular for working with thousands of references.

Some key specs & features (not complete):

  • Uses java and runs on Mac, Windows, Linux (JRE is bundled).
  • All data except app settings is stored below one folder (data directory). You can move this between different platforms.
  • There are topics and articles. Articles can belong to any number of topics, topics are organized in a tree structure.
  • Bibtex ids are unique (and are automatically generated).
  • Articles can be highlighted with different colors; the same article can have a different color in different topics.
  • Articles can have more than one document (PDF etc), such as an article and its supplementary information, or the arxiv version.
  • Documents (PDFs etc) are stored as normal files with useful filenames, an embedded database (Apache Derby) is used for the rest.
  • An article has, amongst others, a comment/review field, and a bibtex entry allowing for full flexibility.
  • PDFs can be imported easily, it searches for DOI (or arxiv ID) in the PDF and then uses to find the metadata. Works via drag'n'drap, a single-click Google Chrome extension, or by watching an auto-import folder.
  • Bibtex export for papers: just create a topic containing all needed references and export it as bibtex database. The export file path is cached for each topic.
  • Copy selected articles' URLs to clipboard.
  • Copy selected articles' PDFs to a folder.
  • There is a stack topic with its own buttons to easily move / copy articles around or collect them.
  • Click on Show orphans to show articles not belonging to any topic. Don't misuse this as a "read later" tag.
  • Tools view: Extensive database information, checking for missing / orphaned document files, etc.
  • topics and documents are sorted alphanumerically, just use numbers to order them (000-first, 00-second, 01-third etc.).

Reftool is/can not:

  • A collaborative thing.
    • Reftool is a single-user application. In my opinion, references are personal, you exchange PDFs or links with collaborators. My experience tells me that you should not import any articles into a reference manager without having read at least the abstract, you'll never have time to read them later!
    • Reftool contains tools to make exchange easy (copy article links, copy pdfs)
  • Tag-based. I tried it and find that you'll quickly have to many, so they must be arranged in a tree, which I call topics.
  • Full-text search through all documents. However, since most have a desktop search engine running you can use this and reverse-lookup articles by drag'n'drop into Reftool.

Import / export possibilities:

  • You can import a tree-like folder structure containing PDFs.
  • You can export a topic to a bibtex database (e.g., for writing a paper).
  • If you need more, create an issue!
  • For synchronization with tablets for reading & annotating PDFs:
    • make a topic where you copy the documents that should be synchronized (e.g. "000-tablet")
    • Use topic -> export documents to copy PDFs to a certain folder. Existing files will be compared on the byte-level and reported, you can decide if they will be overwritten or ignored.
    • Use some other program to synchronize the folder with your tablet, add annotations to pdfs etc, and synchronize again.
    • Use topic -> update PDFs to put the PDFs back into reftool. The selection is based on filename, so don't rename them. The PDFs will again be compared on byte-level, and the result presented. You can decide if the importet pdfs will be deleted from the external folder after import.


  • Don't use a "read later" folder. You'll never do.

How to run

  • Download the zip, extract it somewhere and run it. It is not signed, google for "open unsigned mac/win".
  • Install the Google Chrome plugin to import a displayed pdf.

Everything should be self-explanatory (watch out for tooltips) and if you create a new "reftool data dir", the database is populated with a few demo topics and articles.

How to develop, compile & package

  • Get Java from
  • Clone the repository
  • I use the free community version of IntelliJ IDEA with the scala plugin for development, just open the project to get started.


  • Download JDKs for the other platforms (and/or adapt cPlatforms in build.gradle.kts), extract them and set the environment variables to it:
    • export JDK_MAC_HOME=..., export JDK_WIN_HOME=..., export JDK_LINUX_HOME=...
  • Package for all platforms: ./gradlew clean dist. The resulting files are in build/crosspackage

Used technologies




No description, website, or topics provided.




No packages published