Portersville is a borough in Butler County, Pennsylvania, United States. The population was 268 at the 2000 census.
Portersville is located at 40°55′31″N 80°8′39″W / 40.92528°N 80.14417°W / 40.92528; -80.14417 (40.925285, -80.144229).
According to the United States Census Bureau, the borough has a total area of 0.8 square miles (2.1 km²), all of it land. Portersville lies on the Butler and Lawrence County lines and is midway between the cites of Butler and New Castle.