Abstract Protonated cross-linked chitosan was used to remove perchlorate from aqueous solution. Adsorption isotherms, the effects of pH and co-existing anions on the adsorption process, proper actual contact time in the adsorption column and the regeneration ability of the adsorbent were investigated. The equilibrium data fitted well with Langmuir and Freundlich isotherm models, and the maximum monolayer adsorption capacity was 45.455 mg g −1 . To balance the protonated degree of the amino groups and the effect of the ion competing on adsorption capacity, the optimal pH value was determined to be about 4.0. Column adsorption results indicated that the proper actual contact time was 8.1 min and the effluent perchlorate could be steadily kept below 24.5 μg L −1 up to about 95 bed volumes with the influent perchlorate of 10 mg L −1 . The presence of other anions weakened the perchlorate adsorption, especially the high valence anion such as sulfate. The adsorbents could be well regenerated by sodium hydroxide solution with pH 12 and reused at least for 15 cycles. Electrostatic attraction as well as physical force was the main driving force for perchlorate adsorption.