View on GitHub


Toolkit for Monte Carlo simulation of ionizing radiation transport

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 was originally released in 2000, as a complete overhaul of the Electron Gamma Shower (EGS) software package originally developed at the Stanford Linear Accelerator Center (SLAC) in the 1970s. Most notably, EGSnrc incorporates crucial 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. Contact us if you wish to licence EGSnrc under different terms.


EGSnrc can be installed on computers running Linux, macOS or Windows operating systems. As a general-purpose Monte Carlo toolkit, EGSnrc provides source code and utilities to build and run your own radiation transport simulation applications. To use EGSnrc on any platform you need:

Please read the installation instructions in the wiki for more details about these software components.


Installation involves downloading the EGSnrc source code, and then configuring EGSnrc for your computer. We recommend using the git version control system to obtain the source code. The following shell command will clone the EGSnrc repository to your current working directory:

git clone

Alternatively, you can download a zip archive of the EGSnrc directory. Once you have downloaded the source code, you need to run a configuration GUI or script to set up and compile EGSnrc software components for your computer. Please read the full installation instructions for more details on how to download and configure EGSnrc.


For technical support, consider the EGSnrc Discussions, or contact us.


Post Issues to report genuine bugs, mistakes or even small typos in the EGSnrc project files. The tracker lets you browse and search all documented issues, comment on open issues, and track their progress. Note that issues are not meant for technical support; open an issue only for an error which is specific and reproducible.


You can contribute to the EGSnrc project by implementing new features, creating new data sets, correcting errors, or improving documentation. Feel free to submit small corrections and contributions as Issues, and propose new features in Discussions. For more extensive contributions, familiarize yourself with git and github, work on your own EGSnrc fork and submit your changes via Pull requests.