Michael Adebolajo, 28, has been charged with the murder of 25-year-old soldier Lee Rigby as well as the attempted murder of two police officers, London's Metropolitan Police said.
"He was also charged with possession of a firearm," Scotland Yard said in a statement.
He will appear before Westminster Magistrates Court in London on Monday.
Adebolajo was one of two men shot by police at the scene of the murder near Rigby's barracks in Woolwich, southeast London, on May 22.
He and the other suspect, 22-year-old Michael Adebowale, were taken to separate hospitals under armed guard.
Adebowale was discharged from hospital on Tuesday and a day later was charged with Rigby's murder and possessing a firearm.
Adebolajo was released on Friday and taken into custody for questioning by counter-terror police.
Both suspects are Muslim converts who were raised in London in Nigerian Christian families.