Cross-linked chitosan was synthesized with glutaraldehyde (chitosan-GLA) and epichlorohydrin (chitosan-ECH). The structures of these matrices were characterized by elemental analysis, Fourier-transform infrared spectrometry (FT-IR), the degree of de-acetylation and the surface topography as determined via scanning electron microscopy (SEM). After promoting interaction with the metal ion, the adsorbent was also studied using FT-IR and energy dispersive X-ray spectroscopy (EDXS). Adsorption studies for Cu(II) and Hg(II) ions were carried out in a batch process. The adsorption kinetics were tested using three models, viz. pseudo-first-order, pseudo-second-order and intra-particle diffusion. The experimental kinetic data were best fitted by the pseudo-second-order model for Cu(II) ions (R 2 ≥ 0.98) and for Hg(II) ions (R 2 = 0.99). Higher rate constants (k 2 ) were obtained for the adsorption of Cu(II) ions onto chitosan-GLA [1.40 g/(mmol h)] and for Hg(II) ions onto raw chitosan [5.65 g/(mmol h)]. The adsorption rate depended on the concentration of Cu(II) and Hg(II) ions on the adsorbent surface and on the quantity of ions adsorbed at equilibrium. At 293 K, the Langmuir-Freundlich model provided a better fit to the adsorption isotherms on both raw and cross-linked chitosan membranes. The maximum adsorption capacity for Cu(II) ions was obtained with the chitosan-GLA matrix (2.7 mmol/g). A maximum adsorption capacity of 3.1 mmol/g was attained for Hg(II) ions onto the chitosan-ECH matrix.