Fault interpretation enhances our understanding of complex geologic structures and stratigraphy apparent in 3D seismic images. Common steps in this interpretation include image processing to highlight faults, the construction of fault surfaces, and estimation of fault throws. Although all three of these steps have been automated to some extent by others, fault interpretation today typically requires significant manual effort, suggesting that further improvements in automatic methods are feasible and worthwhile. I first used an efficient algorithm to compute images of fault likelihoods, strikes, and dips from a 3D seismic image. From these three fault images, I then automatically extracted fault surfaces as meshes of quadrilaterals that coincide with ridges of fault likelihood. A quadrilateral mesh is a simple data structure alongside which one can easily gather samples of the 3D seismic image. I automatically estimated fault throws by minimizing differences in values of samples gathered from opposite sides of a fault, while constraining the variation of throw within a fault surface. I tested the fidelity of estimated fault throws by using them to undo faulting. After unfaulting, reflectors in 3D seismic images were more continuous than those in the original 3D seismic image. In one example, this unfaulting test supported the observation that some extracted fault surfaces have unusual conical shapes.