Litrani is a general purpose Monte-Carlo program simulating light propagation in any type of setup describable by the shapes provided by ROOT. Each shape may be made of a different material. Dielectric constant, absorption length and diffusion length of materials may depend upon wavelength. Dielectric constant and absorption length may be anisotropic. Each face of a volume is either partially or totally in contact with a face of another volume, or covered with some wrapping having defined characteristics of absorption, reflection and diffusion. When in contact with another face of another volume, the possibility exists to have a thin slice of width d and index n between the 2 faces. The program has various sources of light: spontaneous photons, photons coming from an optical fibre, photons generated by the crossing of particles or photons generated by an electromagnetic shower. The time and wavelength spectra of emitted photons may reproduce any scintillation spectrum. As detectors, phototubes, APD, or any general type of surface or volume detectors may be specified. The aim is to follow each photon until it is absorbed or detected. Quantities to be delivered by the program are the proportion of photons detected, and the time distribution for the arrival of these, or the various ways photons may be lost.