Frank James, 62, appeared in court on Thursday, for allegedly violating a law barring “terrorist attacks or other violence” against mass transit systems.
He was apprehended following a huge manhunt for the lone suspect behind the attack, which injured 23 people.
He did not enter a plea. His lawyer requested a psychiatric report.
If convicted, he faces life behind bars.
The suspect “committed a heinous and premeditated attack on ordinary New Yorkers during their morning subway commute”, said US Attorney Breon Pearce in a statement announcing the charges.
He is accused of shooting 10 people and injuring at least another 13.
The suspect escaped after the attack, police said, but left behind several incriminating personal items, including a key to a U-Haul van that he had rented, as well as a bank card with his name on it. There was also a Glock 9mm handgun legally purchased in Ohio under the name “Frank Robert James”.
He reportedly called police himself to report his whereabouts on Wednesday, US media said, citing sources in law enforcement.
The suspect, who had recent addresses in Philadelphia and Milwaukee, had nine previous arrests in New York and three in New Jersey, police said on Wednesday.
No details about his alleged motive have yet been provided.
According to prosecutors, he published a variety of videos online making statements about the New York City subway system, occasionally addressing New York City Mayor Eric Adams as he complained about the “homeless situation” on subway cars.
In one video, prosecutors said, the accused said: “And so the message to me is: I should have just gotten a gun, and started shooting.”
NYPD acknowledged in a statement on Thursday that the cameras were not working at three stations during the attack because of what the department described as a technical issue.
But it said claims that the lack of station footage had delayed the manhunt were “unfair and misleading”.
NYPD said that cameras in other parts of the subway system had helped track the suspect’s movements.