Kinetic Monte Carlo (kMC) simulations have emerged as a key tool for microkinetic modeling in heterogeneous catalysis and other materials applications. Systems, where site-specificity of all elementary reactions allows a mapping onto a lattice of discrete active sites, can be addressed within the particularly efficient lattice kMC approach. To this end we describe the versatile kmos software package, which offers a most user-friendly implementation, execution, and evaluation of lattice kMC models of arbitrary complexity in one- to three-dimensional lattice systems, involving multiple active sites in periodic or aperiodic arrangements, as well as site-resolved pairwise and higher-order lateral interactions. Conceptually, kmos achieves a maximum runtime performance which is essentially independent of lattice size by generating code for the efficiency-determining local update of available events that is optimized for a defined kMC model. For this model definition and the control of all runtime and evaluation aspects kmos offers a high-level application programming interface. Usage proceeds interactively, via scripts, or a graphical user interface, which visualizes the model geometry, the lattice occupations and rates of selected elementary reactions, while allowing on-the-fly changes of simulation parameters. We demonstrate the performance and scaling of kmos with the application to kMC models for surface catalytic processes, where for given operation conditions (temperature and partial pressures of all reactants) central simulation outcomes are catalytic activity and selectivities, surface composition, and mechanistic insight into the occurrence of individual elementary processes in the reaction network. Program summaryProgram title: kmosCatalogue identifier: AESU_v1_0Program summary URL:http://cpc.cs.qub.ac.uk/summaries/AESU_v1_0.htmlProgram obtainable from: CPC Program Library, Queen’s University, Belfast, N. IrelandLicensing provisions: GNU General Public License, version 3No. of lines in distributed program, including test data, etc.: 27450No. of bytes in distributed program, including test data, etc.: 2777387Distribution format: tar.gzProgramming language: Python 16.4%, fortran90: 83.6%.Computer: PC, Mac.Operating system: Linux, Mac, Windows.RAM: 100 MB+Classification: 7.8.External routines: ASE, Numpy, f2py, python-lxmlNature of problem:Microkinetic simulations of complex reaction networks with all elementary processes occurring at active sites of a static lattice.Solution method:Efficient lattice kinetic Monte Carlo solution of the Markovian master equation underlying the reaction network.Unusual features:The framework implements a Fortran90 code generatorRunning time:From 10 s to 10 h