Electroplating sludge (ES) containing large quantities of heavy metals is regarded as a hazardous waste in China. This paper introduced a simple method of treating ES using environmentally friendly fixatives biochar (BC) and iron sulfide (FeS), respectively. After 3 days of treatment with FeS at a FeS-to-ES mass ratio of 1:5, the toxicity characteristic leaching procedure (TCLP)-based leachability of total Cr (TCr), Cu(II), Ni(II), Pb(II), and Zn(II) was decreased by 59.6, 100, 63.8, 73.5, and 90.5 %, respectively. After 5 days of treatment with BC at a BC-to-ES mass ratio of 1:2, the TCLP-based leachability was declined by 35.1, 30.6, 22.3, 23.1, and 22.4 %, respectively. Pseudo first-order kinetic model adequately simulated the sorption kinetic data. Structure and morphology analysis showed that adsorption, electrostatic attraction, surface complexation, and chemical precipitation were dominant mechanisms for heavy metals immobilization by BC, and that chemical precipitation (formation of metal sulfide and hydroxide precipitates), iron exchange (formation of CuFeS2), and surface complexation were mainly responsible for heavy metals removal by FeS. Economic costs of BC and FeS were 500 and 768 CNY/t, lower than that of Na2S (940 CNY/t). The results suggest that BC and FeS are effective, economic, and environmentally friendly fixatives for immobilization of heavy metals in ES before landfill disposal.