Understanding the three-dimensional (3D) surface complexity of biological systems can yield fundamental insights into how organisms interact with their environments. The wealth of current imaging technologies permits detailed 3D visualization of biological surfaces on the macro-, micro- and nanoscale. Analysis of the reconstructed 3D images, however, remains a challenging proposition. Here, we present QuSTo, a versatile, open-source program developed in Python to quantify surface topography from profiles obtained from 3D scans. The program calculates metrics that quantify surface roughness and the size (i.e. height and length) and shape (i.e. convexity constant (CC), skewness (Sk) and kurtosis (Ku)) of surface structures. We demonstrate the applicability of our program by quantifying the surface topography of snake skin based on newly collected data from white light 3D scans of the ventrum and dorsum of 32 species. To illustrate the utility of QuSTo for evolutionary and ecological research, we test whether snake species that occur in different habitats differ in skin surface structure using phylogenetic comparative analyses. The QuSTo application is free, open-source, user-friendly and easily adapted for specific analysis requirements (available in GitHub, github.com/GMLatUCDavis/QuSTo) and is compatible with 3D data obtained with different scanning techniques, for example, white light and laser scanning, photogrammetry, gel-based stereo-profilometry. Scientists from various disciplines can use QuSTo to examine the surface properties of an array of animal and plant species for both fundamental and applied biological and bioinspired research.