Leveling surveys conducted before and after the Loma Prieta earthquake provide observations of the co-seismic elevation changes. These data are used to determine the faulting geometry and distribution of slip, considering planar, listric, and negatively listric fault shapes. Both the planar and nonplanar models produce elevation changes consistent with the observations. Most of the observed elevation changes can be modeled with a rupture surface that extends from 4- to 15-km depth. If the rupture surface is planar, the observations require 2.4 m of right-lateral strike slip and 1.7 m of reverse slip on a 34-km-long plane that dips 60°SW. The best-fitting model faults lie above and to the southwest of the aftershock zone. A significantly better fit to the observations is obtained when these fault geometries are allowed to have two rake values, with a larger thrust component northwest of the epicenter and a larger strike-slip component southeast of the epicenter. When a low-modulus layer over a half-space is used for consistency with the seismic P-wave velocity structure, the fault deepens, coming within 3 km of the hypocenter, but still locates several kilometers southwest of most aftershocks.