The fire started around 2:30 Friday morning in a home on the 300 block of Washington Avenue in Phoenixville.
Firefighters arrived to find flames and smoke pouring out of the three-story twin.
When crews were told a man was trapped on the third floor, they fought through the flames to rescue him, but it was too late.
He has been identified as 24-year-old Ronald Louis Streets III
About 25 minutes after the fire broke out, a second alarm was struck and five fire companies, including at least one from Montgomery County, moved in to help.
It took about 45 minutes to place the fire under control.
The Pennsylvania State Police fire marshal is looking for the cause.