Police have arrested a Bronx man who is accused of sexually abusing several children — including some he met at homeless shelters — over the course of almost a decade.

Stephen Charles, 42, is charged with more than 30 counts of various crimes, including predatory sexual assault against a child, rape, use of a child in sexual performance, promoting a sexual performance by a child and endangering the welfare of a child. He was arrested Friday night.

Officials allege he sexually abused a 10-year-old boy, an 11-year-old boy, a 13-year-old boy, a 13-year-old girl, a 16-year-old boy and an 18-year-old boy. They said the incidents occurred between Jan. 1, 2018 and May 5, 2026.

Police said one of the victims was a member of Charles’ family, and he met several others while they were all living at the same shelters.

The arrest came a day after the NYPD put out a request asking the public to look out for Charles. He was detained just before 7 p.m. in the 50 precinct, which includes the neighborhoods of Riverdale, Fieldston, Kingsbridge, Marble Hill and Spuyten Duyvil. Charles’ last known address is in Edenwald, according to police.

Information for Charles’ lawyer was not immediately available.