ModeCode is a publicly available code that computes the primordial scalar and tensor power spectra for single field inflationary models. ModeCode solves the inflationary mode equations numerically, avoiding the slow roll approximation. It provides an efficient and robust numerical evaluation of the inflationary perturbation spectrum, and allows the free parameters in the inflationary potential to be estimated within an MCMC computation. ModeCode also allows the estimation of reheating uncertainties once a potential has been specified. It is interfaced with CAMB and CosmoMC to compute cosmic microwave background angular power spectra and perform likelihood analysis and parameter estimation. It can be run as a standalone code as well. Errors in the results from ModeCode contribute negligibly to the error budget for analyses of data from Planck or other next generation experiments.