org-mode modules for citations, cross-references, bibliographies in org-mode and useful bibtex tools to go with it.
Emacs Lisp TeX Other
Failed to load latest commit information.
citeproc add inproceedings Dec 9, 2016
screenshots replace screenshot. add text to screenshots. Jan 16, 2016
test Merge branch 'master' of Jan 20, 2017
tests New test setup Jul 18, 2016
.ert-runner try to get ert-runner setup for testing. Feb 28, 2016
.gitignore add init file an update makefile for testing Jun 30, 2016
.travis.yml add snapshot Feb 17, 2016
Cask try to get ert-runner setup for testing. Feb 28, 2016
Makefile New test setup Jul 18, 2016 rename org-ref-ivy-bibtex to org-ref-ivy-cite Jun 15, 2016
doi-utils.el pretty print the json. Jan 19, 2017
nist-webbook.el Autoload interactive functions. Jan 29, 2016
org-ref-arxiv.el Add journal field to arxiv-entry-format-string Jan 4, 2017
org-ref-bibtex.el fix hydra menu for opening notes Jan 7, 2017
org-ref-citeproc.el clean up byte-compile issues Jun 29, 2016
org-ref-core.el Merge branch 'master' of Jan 20, 2017
org-ref-glossary.el Add tooltip Nov 20, 2016
org-ref-helm-bibtex.el Make argument optional to avoid click action error Jan 19, 2017
org-ref-helm-cite.el update formatting code. Jan 6, 2017
org-ref-helm.el add backend to misc Nov 8, 2016
org-ref-isbn.el cleanup author's field Jul 2, 2016
org-ref-ivy-cite.el update formatting code. Jan 6, 2017
org-ref-ivy.el rm comment Jul 2, 2016
org-ref-latex.el defvar for byte-compiling Jun 29, 2016
org-ref-pdf.el unescape path for pdfs with spaces in them Jan 7, 2017
org-ref-pubmed.el hexify query string to handle spaces. Mar 14, 2016
org-ref-reftex.el Practically undo PR #248 Jun 30, 2016
org-ref-sci-id.el add sci-id back Dec 15, 2015
org-ref-scifinder.el Autoload interactive functions. Jan 29, 2016
org-ref-scopus.el fix duplicate word Feb 13, 2016
org-ref-url-utils.el add defvar and declare-functions Jun 29, 2016
org-ref-utils.el Rewrite the citation formatting code Jan 6, 2017
org-ref-worldcat.el minor doc change Dec 17, 2015
org-ref-wos.el Autoload interactive functions. Jan 29, 2016
org-ref.bib update ref Dec 30, 2016
org-ref.el bump to v1.0 for org-mode 9 Nov 6, 2016 Update pre/post text docstring Jan 19, 2017 cleanup ignore files and stage some files I don't want to lose. Feb 18, 2016
x2bib.el fix org-ref to org-ref-core Jun 25, 2016

org-ref: citations, cross-references, indexes, glossaries and bibtex utilities for org-mode

Coverage Status MELPA MELPA Stable

Introduction to org-ref on YouTube.


Here are some annotated images of basic insertion of citations in org-mode. ./screenshots/introduction.png

The links in org-ref are functional. They do things when your cursor is on them, or you click on them, and sometimes when the mouse hovers over them.


Here is an example of a menu of actions you get when you click on a cite link.


org-ref can analyze your org-file and tell you about it, for example if there are bad citations, multiply defined labels, bad reference links, missing bibliography files, etc… You can select each one and it will jump to the location to help you fix it.



Package installation via Melpa

org-ref has been added to Melpa.

(add-to-list 'package-archives
	     '("melpa" . "") t)

Then, you should be able to do M-x package-list-packages, find org-ref and install it.

Installation via github

Clone this repo, add it to your load-path, and require org-ref.

git clone


You should set these variables. Here is an example of how mine are set in an init.el file.

(setq reftex-default-bibliography '("~/Dropbox/bibliography/references.bib"))

;; see org-ref for use of these variables
(setq org-ref-bibliography-notes "~/Dropbox/bibliography/"
      org-ref-default-bibliography '("~/Dropbox/bibliography/references.bib")
      org-ref-pdf-directory "~/Dropbox/bibliography/bibtex-pdfs/")

You may want to set some convenient keys for working in your bibtex file. These commands operate on the citation key at point.

If you use helm-bibtex as the citation key completion method you should set these variables too.

(setq bibtex-completion-bibliography "~/Dropbox/bibliography/references.bib"
      bibtex-completion-library-path "~/Dropbox/bibliography/bibtex-pdfs"
      bibtex-completion-notes-path "~/Dropbox/bibliography/helm-bibtex-notes")

;; open pdf with system pdf viewer (works on mac)
(setq bibtex-completion-pdf-open-function
  (lambda (fpath)
    (start-process "open" "*open*" "open" fpath)))

;; alternative
;; (setq bibtex-completion-pdf-open-function 'org-open-file)

There are alternative citation key completion methods.

An alternative to helm-bibtex
Uses ivy for key completion
Uses reftex and org-mode for completion (no longer developed)

Finally, add this to your init.el files.

(require 'org-ref)

Go forth and citate.

Some other useful libraries in org-ref

Note many of these have been renamed with an org-ref prefix.

Download bibtex entries and PDFs from doi and crossref queries.
Add drag-n-drop PDF to create bibtex entries
Add drag-n-drop urls to create bibtex entries
Utility functions for bibtex
org-ref-like features in LaTeX.
arxiv links, add bibtex entries from
pubmed links, add bibtex entries from PMID.
Add bibtex entries from a book ISBN
WebOfKnowledge links and queries
Scopus links and queries
Convert bibliography formats to and from bibtex
Links to NIST Webbook resources


For more information, see the org-ref manual.

Errors and issues

Please report errors here: issues.


I would like to thank the contributors to org-ref, and everyone who has filed an issue, or asked about org-ref on the org-mode Mailing list.