View on GitHub


Toolkit for Monte Carlo simulation of ionizing radiation transport

Download this project as a .zip file Download this project as a tar.gz file


Getting Startedwith guided tutorials

EGSnrccore manual (PIRS-701)

BEAMnrcaccelerators (PIRS-509a)

DOSXYZnrcvoxel dose (PIRS-794)

egs++online documentation (PIRS-898)

RZ and SPH appsuser manual (PIRS-702)

RZ GUIegs_inprz (PIRS-801)

BEAMDPbasic manual (PIRS-509e)

BEAMDPadvanced manual (PIRS-509c)

STATDOSE3D dose processor (PIRS-509f)


EGSnrc can be installed on computers running Linux, macOS or Windows. Please read the installation instructions for details on how to download and properly configure EGSnrc on your operating system.

What is EGSnrc?

EGSnrc is a software toolkit to perform Monte Carlo simulation of ionizing radiation transport through matter. It models the propagation of photons, electrons and positrons with kinetic energies between 1 keV and 10 GeV, in homogeneous materials. EGSnrc is an extended and improved version of the Electron Gamma Shower (EGS) software package originally developed at the Stanford Linear Accelerator Center (SLAC) in the 1970s. Most notably, it incorporates significant refinements in charged particle transport, better low energy cross sections, and the egs++ class library to model elaborate geometries and particle sources.


EGSnrc is distributed as free software under the terms of the GNU Affero General Public Licence. Please review the LICENCE document before downloading the software. In practice, this licence imposes no restriction on using EGSnrc. However, if you want to further convey verbatim or modified versions of the code, or any work based on any EGSnrc component (including any such work operated remotely over a network), you must do so under the same licence terms. Please contact NRC if you wish to licence EGSnrc under different terms.


For technical support and questions, consider the EGSnrc reddit community, or contact NRC. To report genuine bugs, defects or even small typos in the EGSnrc project please submit an issue. The issue tracker lets you browse and search all documented issues, comment on open issues, and track their progress. Note that the github issue tracker is not meant for technical support.


You can contribute to the EGSnrc project by implementing new features, creating new data sets, correcting errors, or improving documentation. For small corrections and improvements, feel free to submit an issue. For more extensive contributions, familiarize yourself with git and github, work on your own EGSnrc project fork and open a pull request. Note that significant contributions will require a transfer of copyright to the National Research Council of Canada before they can be merged into the EGSnrc distribution.