The separation of chalcopyrite from pyrite is usually carried out under high alkaline conditions. However, the separation mechanism of chalcopyrite from pyrite under high alkaline conditions was still unclear. In this work, the effects of hydroxyl on the separation of chalcopyrite from pyrite were systematically investigated by flotation tests, Zeta potential measurements, adsorption studies, Fourier Transform Infrared Spectrometer (FTIR) analysis and density functional theory (DFT) calculations. Micro-flotation results showed that chalcopyrite could be separated from pyrite in high alkaline pulp. Furthermore, Zeta potential indicated that the adsorption of xanthate on the surface of pyrite was obviously weakened at pH = 12, while its on chalcopyrite surface had little change. Such results were confirmed by adsorption tests. The adsorption amount of sodium butyl xanthate (SBX) on chalcopyrite was much higher than pyrite at pH = 12. Besides, FTIR analysis demonstrated that the characteristic peaks (C=S, C–O–C) of SBX were observed for chalcopyrite, while no characteristic peak of SBX was found for pyrite. DFT calculation further confirmed that the competitiveness of xanthate on the surface Cu sites of chalcopyrite was stronger than on the surface Fe sites of pyrite. Hydroxyl ion can be effectively adsorbed on pyrite rather than chalcopyrite, owing to its stronger affinity with pyrite.