Toronto police have charged a man accused of leaving a puppy in a garbage can at a shopping centre last week.

Police say a man was seen on security footage discarding a dark bag in a trash can on July 11.

A bystander discovered a puppy in sealed plastic bags after he heard yelps coming from inside the garbage can.

Police say a 35-year-old man turned himself in on Thursday and was charged with wilful neglect and causing unnecessary harm to an animal.

They say an investigation by Toronto Animal Services as a result of the arrest led to the seizure of 23 adult dogs and 14 puppies after various search warrants were executed.

The man will make his first appearance in court at the end of August.