SRI PUFF is a Lagrangian finite difference computer program for calculating one-dimensional stress wave propagation through solid, liquid, gaseous, and porous materials. The calculational procedure is the standard leapfrog method of von Neumann and Richtmyer using artificial viscosity to smooth shock fronts. Planar, cylindrical, and spherical flow are treated. The constitutive relations include the standard Mie-Grueneissen equation of state and elastic, plastic (Mises or Coulomb) work-hardening deviator stress relations with thermal softening. Other pressure relations provided are a polytropic gas for explosives, GRAY and Philco-Ford three-phase equations of state, and a tabular pressure-volume relations. Special deviator stress models include the standard viscoelastic model, a Bauschinger model, dislocation models, and a nonlinear work-hardening model. Ductile and brittle fracture and shear banding are provided by nucleation and growth models. Porous materials may be represented by the Seaman-Linde model, Holt model, Herrmann P-alpha model, a cap plasticity model, and variable modulus model, or by a linear viscous void compacting model. The code is constructed for easy insertion of additional material models. The number of extra variables required for each cell for a material model can be specified in the input deck. This manual includes many sample problems, a derivation of the flow equations, discussion of material models, and an outline of other aspects of wave propagation calculations.