West Yorkshire Police said Thomas Mair, 52, has been charged with the murder of the 41-year-old.
She was shot and stabbed outside her constituency surgery in Birstall, West Yorkshire, on Thursday.
Mr Mair will appear at Westminster Magistrates' Court on Saturday and faces a number of other charges, including grievous bodily harm.
He is further charged with possession of a firearm with intent and possession of an offensive weapon, the force said.
Speaking on Friday, temporary Chief Constable Dee Collins said a 77-year-old man remains in a stable condition in hospital after he was injured when he "bravely intervened" in an effort to help the mother of two.
Vigils were held across the country on Friday evening as members of the public and politicians came together to lay flowers, light candles and stand in silence in memory of Mrs Cox.