Ultra-peripheral collisions (UPCs) have been a significant source of study at RHIC and the LHC. In these collisions, the two colliding nuclei interact electromagnetically, via two-photon or photonuclear interactions, but not hadronically; they effectively miss each other. Photonuclear interactions produce vector meson states or more general photonuclear final states, while two-photon interactions can produce lepton or meson pairs, or single mesons. In these interactions, the collision geometry plays a major role. We present a program, STARlight, that calculates the cross-sections for a variety of UPC final states and also creates, via Monte Carlo simulation, events for use in determining detector efficiency. Program summary Program Title: STARlight (v2.2) Program Files doi: http://dx.doi.org/10.17632/xjpf4rxtbj.1 Licensing provisions: GNU GPLv3 Programming Language: C++ External Routines: PYTHIA 8.2 and DPMJET 3.0 are needed for some final states. Nature of problem: The cross-section for ultra-peripheral collisions is obtained by integrating the photon fluxes in transverse impact parameter space, subject to the requirement (which is also impact parameter dependent) that the colliding nuclei do not interact hadronically. The program is a two step process. First, it calculates the cross-sections for the reaction of interest, as a function of W (photon–Pomeron or two-photon center of mass energy), Y (final state rapidity) and pT (final state transverse momentum). Second, STARlight generates Monte Carlo events which can be used to determine cross-sections within specific kinematic constraints or for studies of detector efficiencies. The second step includes the decay of any unstable particles produced in the reaction, with appropriate consideration of particle spins and parity. It outputs these events in ASCII format. Solution method: The program generates a two dimensional look-up table of the production cross-section as a function of final state rapidity and mass. The dimensions of the table are selectable, allowing the user to choose the desired accuracy. For certain final states, a second two-dimensional look-up table, giving the transverse momentum distribution, as a function of rapidity, is also used. With these look-up tables, the program generates final states. Particle decays and the final angular distributions are calculated for each event. Restrictions: The program is focused on ultra-relativistic collisions at Brookhaven's RHIC (Relativistic Heavy Ion Collider) and CERN's LHC (Large Hadron Collider), with final states that are visible in a central detector. At lower energies (i.e., at the CERN SPS), caution should be exercised because STARlight does not account for the longitudinal momentum transfer to the nucleus; this is larger at low beam energies. References: http://starlight.hepforge.org and references in this article.