Sediment and water samples from 12 saline pans on the semi-arid west coast of South Africa were analysed to determine the origin of salts and geochemical evolution of water in the pans. Pans in the area can be subdivided into large, gypsiferous coastal pans with 79–150 g/kg total dissolved salt (TDS), small inland brackish to saline (2–64 g/kg TDS) pans and small inland brine (168-531 g/kg TDS) pans that have a layer of black sulphidic mud below a halite crust. The salinity of coastal pan waters varies with the seasonal influx of dilute runoff and dissolution of relict Pleistocene marine evaporite deposits. In contrast, inland pans are local topographic depressions, bordered on the north by downslope lunette dunes, where solutes are concentrated by evaporation of runoff, throughflow and groundwater seepage. The composition of runoff and seepage inflow waters is determined by modification of coastal rainfall by weathering, calcite precipitation and ion exchange reactions in the predominantly granitic catchment soils. Evaporation of pan waters leads to precipitation of calcite, Mg–calcite, dolomite, gypsum and halite in a distinct stratigraphic succession in pan sediments. Bicarbonate limits carbonate precipitation, Ca limits gypsum precipitation and Na limits halite precipitation. Dolomitisation of calcite is enhanced by the high Mg/Ca ratio of brine pan waters. Brine pan waters evolve seasonally from Na–Cl dominated brines in the wet winter months to Mg–Cl dominated brines in the dry summer months, when 5–20 cm thick halite crusts cover pan surfaces. Pan formation was probably initiated during a drier climate period in the early Holocene. More recent replacement of natural vegetation by cultivated land may have accelerated salt accumulation in the pans.