Antonio Jeffcoat, 26, of the 4500 block of North Colorado Street in Philadelphia, is charged with robbery and related offenses.
Police say Jeffcoat is the man seen on surveillance video, recorded Tuesday, holding up the Rosica Pharmacy in the 2000 block of Snyder Avenue.
The video shows the armed robber threatening a clerk, forcing workers into the stock area and stealing prescription medications.
Police say two officers spotted Jeffcoat walking in the 300 block of North Conestoga Street four days after the robbery, on Saturday.
When they stopped him, police say the officers recognized Jeffcoat from the surveillance video and arrested him.