Slow immobilization of trace metals in soil, termed `fixation', affects their natural attenuation but it is still unclear which reactions occur. Twenty-eight soils were selected to assess the role of Fe oxides and carbonates on fixation of Cu, Cd, Zn and Ni. Soils included samples from 2 toposequences (Vietnam, Spain) and 13 European topsoils with different soil characteristics (pH 3.4 -7.7). Samples were amended with 250 mg Zn kg (-1), 100 mg Cu kg (-1), 80 mg Ni kg (-1) and 2.5 mg Cd kg (-1) as metal salts and incubated for 850 days. Fixation was measured as the increase of the fraction of added metals that were not isotopically exchangeable. Fixation increased with time and was, averaged over all the soils, 43% (Cu), 41% (Zn), 41% (Ni) and 28% (Cd) after 850 days. Metal fixation within samples from each toposequence was generally positively related to total Fe oxide concentration (Fed) for Zn, Ni and Cd. However, the fixation of Cd, Zn and Ni was mainly explained by pH and not by Fed when considering all soils. Fixation of Zn and Cd in soils with pH > 7.0 increased with increasing concentrations of carbonates at initial ageing times. Fixed fractions of Zn, Ni and Cd were significantly released when experimentally removing 50% of carbonates by acidification. Fixation of Cu was most poorly related to soil properties. Our data suggest that fixation of Cd, Zn and Ni is related to a pH-dependent diffusion into oxides and that of Cd and Zn also to diffusion and/ or coprecipitation in carbonates. Fixation of Ni at neutral pH may also be related to stabilization of precipitates that form readily in soil.