PROPER is a set of routines to simulate the propagation of light through an optical system using Fourier transform algorithms (Fresnel, angular spectrum methods). It is currently available for IDL (Interactive Data Language), Matlab, and Python (2.7 & 3.x). It includes routines to create complex apertures, aberrated wavefronts, and deformable mirrors. It is especially useful for the simulation of high contrast imaging telescopes with coronagraphs. It is distributed as source code, is well documented with a detailed manual, and is relatively easy to use.