PHREEQC is a computer program written in the C pwgranuning language that is designed to perform a wide variety of aqueous geochemical calculations. PHREEQC is based on an ion-association aqueous model and has capabilities for (1) speciation and saturation-index calculations, (2) reaction-path and advective-transport calculations involving specified irreversible reactions, mixing of solutions, mineral and gas equilibria surface-complex-ation reactions, and ion-exchange reactions, and (3) inverse modeling, which finds sets of mineral and gas mole transfers that account for composition differences between waters, within specified compositional uncertainties. PHREEQC is derived from the Fortran program PHREEQE, but it has been completely rewritten in C with the addition many new capabilities. New features include the capabilities to use redox couples to distribute redox elements among their valence states in speciation calculations; to model ion-exchange and surface-compiexation reactions; to model reactions with a fixed-pressure, multicomponent gas phase (that is, a gas bubble); to calculate the mass of water in the aqueous phase during reaction and transport calculations; to keep track of the moles of minerals present in the solid phases and determine antomaticaHy the thermodynamically stable phase assemblage; to simulate advective transport in combination with PHREEQC's reaction-modeling capability; and to make inverse modeling calculations that allow for uncertainties in the analytical data. The user interface is improved through the use of a simplified approach to redox reactions, which includes explicit mole-balance equations for hydrogen and oxygen; the use of a revised input that is modular and completely free format; and the use of mineral names and standard chemical symbolism rather than index numbers. The use of (2 eliminates nearly all limitations on army sizes, including numbers of elements, aqueous species, solutions, phases, and lengths of character strings. A new equation solver that optimizes a set of equalities subject to both equality and inequality constraints is used to determine the thermodynamically stable set of phases in equilibrium with a solution. A more complete Newton-Raphson formulation, master-species switching, and scaling of the algebraic equations reduce the number of failures of the nunmrical method in PHREEQC relative to PHREEQE. This report presents the equations that are the basis for chemical equilibrium and inverse-modeling calculations in PHREEQC, describes the input for the program, and presents twelve examples that demonstrate most of the program's capabilities.