We present NECI, a state-of-the-art implementation of the Full Configuration Interaction Quantum Monte Carlo algorithm, a method based on a stochastic application of the Hamiltonian matrix on a sparse sampling of the wave function. The program utilizes a very powerful parallelization and scales efficiently to more than 24000 CPU cores. In this paper, we describe the core functionalities of NECI and recent developments. This includes the capabilities to calculate ground and excited state energies, properties via the one- and two-body reduced density matrices, as well as spectral and Greens functions for ab initio and model systems. A number of enhancements of the bare FCIQMC algorithm are available within NECI, allowing to use a partially deterministic formulation of the algorithm, working in a spin-adapted basis or supporting transcorrelated Hamiltonians. NECI supports the FCIDUMP file format for integrals, supplying a convenient interface to numerous quantum chemistry programs and it is licensed under GPL-3.0.