Libint is two things: 1. a library of C/C++ functions for efficient evaluation of several kinds of two-body molecular integrals over Gaussian functions; 2. the optimizing compiler that generates a Libint library. In molecular electronic structure theory Gaussian basis sets are standard because they allow efficient evaluation of matrix elements of operators (molecular integrals). Modern electronic structure programs spend considerable portion of their runtime computing the Coulomb two-electron integrals. While anyone can compute Gaussian integrals using simple formulas, the efficient evaluation of many-body can be (relatively) complicated. Libint is an open library that anyone can use to compute a variety of two-electron integrals, most importantly the Coulomb two-electron integrals and their arbitrary-order geometric derivatives, over Gaussians of arbitrary angular momentum. Among other notable features is the support for the nonstandard two-electron integrals that appear in explicitly correlated R12 methods.