One of the main diagnostic tools for measuring electron density profiles and the characteristics of long wavelength turbulent wave structures in fusion plasmas is Beam Emission Spectroscopy (BES). The increasing number of BES systems necessitated an accurate and comprehensive simulation of BES diagnostics, which in turn motivated the development of the RENATE simulation code that is the topic of this paper. RENATE is a modular, fully three-dimensional code incorporating all key features of BES systems from the atomic physics to the observation, including an advanced modeling of the optics. Thus RENATE can be used both in the interpretation of measured signals and the development of new BES systems. The most important components of the code have been successfully benchmarked against other simulation codes. The primary results have been validated against experimental data from the KSTAR tokamak.