Biochar is an efficient and inexpensive material that can be used to remove heavy metal pollutants in water. In this study, crayfish shells were pyrolyzed to produce biochar (CBC) at 800°C, and the CBC effectively removed cadmium and zinc from water. BET and SEM-EDS revealed that CBC was porous and contained a large amount of Ca elements. The mesoporous pore volume accounted for 98.56% of the total pore volume, and the specific surface area was 20.0701 m2/g. After adsorption of Cd2+ and Zn2+, the content of C, O, and Ca elements significantly decreased. The adsorption process of CBC was consistent with quasi-second-order kinetics and the Freundlich isothermal model, and the maximum adsorption amounts of Cd2+ and Zn2+ were 1,152.5 mg/g and 1,135.0 mg/g, respectively. In the composite heavy metal system, Zn2+ can promote the adsorption of Cd2+. FTIR and XRD revealed that the main components of CBC were CaCO3 and Ca(OH)2, which mainly comprised hydroxyl radicals, π bonds in phenol hydroxyl groups, and halides. Our findings indicate that CBC is a highly efficient adsorbent for Cd2+ and Zn2+ in water and can be used to remove heavy metals in composite systems.