The concentrations and protonation constants of the functional groups like carboxyl and phenolic hydroxyl groups in spruce bark were determined by a potentiometric acid-base titration method. The non-cellulosic carbohydrates in spruce bark were also characterized by acid methanolysis and GC, including determination of the uronic acid units, which are the key units involved in metal sorption. Sorption of metal ions to bark takes place by ion exchange, mainly by complexation to these functional groups. The sorption equilibrium time, studied by using a batch method, was approximately 5 min. The metal sorption capacity of spruce bark and the affinity order of metal ions were studied with four different metal ion mixtures using a column chromatographic method. Because a method of competition was used, concentration of metal ions adsorbed to bark depends on the metal ions present in the mixtures studied. In the sorption experiments with same metal ion mixtures, inner bark of spruce exhibited higher sorption capacity than outer bark. By combination of the results from several experiments, the following affinity order was obtained Fe3+ >> Pb2+ >> Cu2+ >> Cd2+ > Zn2+ > Ni2+ > Ba2+ > Ca2+ > Sr2+ > Mn2+ > Mg2+ >> K+ similar to Na+ similar to Li+. Bark has a great potential as an effective and inexpensive sorbent for removal of metal ions from, e.g., waste water.