Monte Carlo event generators are a critical tool for the interpretation of data obtained by neutrino experiments. Several modern event generators are available which are well-suited to the GeV energy scale used in studies of accelerator neutrinos. However, theoretical modeling differences make their immediate application to lower energies difficult. In this paper, I present a new event generator, MARLEY, which is designed to better address the simulation needs of the low-energy (tens of MeV and below) neutrino community. The code is written in C++14 with an optional interface to the popular ROOT data analysis framework. The current release of MARLEY (version 1.2.0) emphasizes simulations of the reaction 40Ar(νe,e−)40K⁎ but is extensible to other channels with suitable user input. This paper provides detailed documentation of MARLEY's implementation and usage, including guidance on how generated events may be analyzed and how MARLEY may be interfaced with external codes such as Geant4. Further information about MARLEY is available on the official website at http://www.marleygen.org. Program summaryProgram title:MARLEY 1.2.0CPC Library link to program files:https://doi.org/10.17632/4v7zxnc8j3.1Developer's respository link:http://github.com/MARLEY-MC/marleyCode Ocean capsule:https://codeocean.com/capsule/9868179Licensing provisions: GNU General Public License 3.0Programming language: C++14External routines/libraries used: GNU Scientific Library [1,2] (required), ROOT [3,4] (optional)Nature of problem: Simulation of neutrino-nucleus scattering events at energies of tens-of-MeV and belowSolution method: Initial two-to-two scattering kinematics are sampled using the allowed approximation differential cross section and tables of precomputed nuclear matrix elements. Subsequent de-excitations of the remnant nucleus are simulated using a Monte Carlo implementation of the Hauser-Feshbach statistical model and tabulated γ-ray decay schemes for discrete nuclear levels.Additional comments including restrictions and unusual features: Input data are provided with the code that are suitable for producing simulations of the charged-current reaction 40Ar(νe,e−)40K⁎, coherent elastic neutrino-nucleus scattering on spin-zero target nuclei, and neutrino-electron elastic scattering on any atomic target. Preparation of new reaction input files (whose format is documented in Appendix B) would enable other reaction channels and nuclear targets to be handled by the existing code framework. Although there is no maximum neutrino energy enforced by the code itself, realistic neutrino-nucleus scattering events may be generated up to roughly 50 MeV. Above this energy, the effects of forbidden nuclear transitions, which are neglected in the current treatment of the cross sections (see section 2.1), become increasingly important.