We have developed a software package called PROFILE for designing millimetre- andsubmillimetre-wave optical systems. The software is based on the principles of multimodeGaussian optics. It is run in an interactive mode, where one simply moves forwards orbackwards through an optical system adding in components as the occur. At any stage, it ispossible to inspect the basic parameters of the beam, look at the power distribution across anycut, or store the beam away for future use. Simple Gaussians, corrugated horns, Potter horns,diagonal horns, conical horns, or previously saved images can be used to illuminate a systemcomprising free-space paths, thin lenses, dielectric slabs with curved surfaces, ellipsoidalmirrors, and truncating apertures. When placing an aperture, the software first works outthe amount of loss that will be incurred if the aperture is put in place; the user is then giventhe option of using the component or not. If the aperture is placed, the new beam will diffractaway from the aperture towards the next component. In the case of an ellipsoidal mirror, allof the parameters required to manufacture the mirror are calculated. During a session, a logfile is kept, which at the end becomes a complete record of the system being studied.