Portersville is located near the western border of Butler County at . It is surrounded by Muddy Creek Township, though the borough's western border comes within of the Lawrence County line. U.S. Route 19, Perry Highway, passes through the center of the borough, leading north to Mercer and south to Zelienople. Interstate 79 passes just east of the borough, with access from Exit 96. I-79 leads south to Pittsburgh and north to Erie. Moraine State Park, situated around Lake Arthur, is a short distance east of I-79. Portersville lies between the cities of Butler east and New Castle to the west. According to the United States Census Bureau, the borough has a total area of, all of it land.
Portersville has several events each year in the immediate and surrounding areas. The Portersville Steam Show occurs three times a year. This event displays older steam engines and farm machinery to the public. The Moraine/Lake Arthur Regatta has water related activities for the entire family. The Pennsic War occurs each summer north of Portersville. McConnells Mill State Park, west of Portersville, holds its Heritage Daysin September.
Demographics
As of the census of 2000, there were 268 people, 103 households, and 79 families residing in the borough. The population density was 328.4 people per square mile. There were 109 housing units at an average density of 133.6 per square mile. The racial makeup of the borough was 99.63% White, and 0.37% from two or more races. There were 103 households, out of which 36.9% had children under the age of 18 living with them, 64.1% were married couplesliving together, 8.7% had a female householder with no husband present, and 23.3% were non-families. 20.4% of all households were made up of individuals, and 6.8% had someone living alone who was 65 years of age or older. The average household size was 2.60 and the average family size was 3.03. In the borough the population was spread out, with 26.5% under the age of 18, 6.0% from 18 to 24, 34.3% from 25 to 44, 25.0% from 45 to 64, and 8.2% who were 65 years of age or older. The median age was 37 years. For every 100 females there were 98.5 males. For every 100 females age 18 and over, there were 93.1 males. The median income for a household in the borough was $37,750, and the median income for a family was $40,536. Males had a median income of $35,625 versus $17,500 for females. The per capita income for the borough was $17,356. About 7.8% of families and 6.4% of the population were below the poverty line, including 9.7% of those under the age of eighteen and none of those sixty five or over.