Summary:
Zip code 01852 in Lowell contains 11 schools — 6 elementary, 2 middle, and 3 high — serving students from pre-kindergarten through grade 12, most of them in the Lowell district, which ranks 273 out of 351 in Massachusetts (about the 22nd percentile, 1 star), while Lowell Community Charter Public School and Lowell Middlesex Academy Charter School operate as their own charter districts. Listed enrollment totals 8,123 students, but it is heavily concentrated: Lowell High alone enrolls 3,446 students, about 42.4% of the total, while the smallest school is Leblanc Therapeutic Day School with 36 students. Free/reduced lunch percentages are not reported for any school here, so economic-disadvantage comparisons are not possible.
Academic standouts: Lowell Community Charter Public School is the strongest, ranked 467/899 (48th percentile, 2 stars), with 2025–2026 All Grades ELA at 41.74% — above the state's 40.03% and far above the district's 27.26% — and it also beats the district in math (37.53% vs. 32.38%) and science (29.94% vs. 23.00%). B.F. Butler Middle School is the top middle school (274/478, 43rd percentile, 2 stars), with 8th-grade math at 52.83% vs. the district's 39.31%. Pyne Arts has the highest All Grades ELA among district schools at 37.10%; Peter W Reilly is balanced (ELA 33.93%, math 34.73%); and Moody Elementary posts 4th-grade math at 61.11%, far above the district's 34.84%, though its All Grades ELA is 25.00%.
Concerns: James Sullivan Middle School has the weakest middle results (rank 393/478, 18th percentile, 1 star; All Grades ELA 19.09%), and Rogers STEM Academy is also low (rank 744/899, 17th percentile, 1 star; All Grades ELA 20.65%). Lowell Middlesex Academy Charter School has a 38.3% graduation rate and 21.3% dropout rate. Lowell High has an 83.1% graduation rate and 11.8% dropout rate, better than the district's 80.2% and 12.3%, but its 10th-grade scores remain below state. Spending ranges from $14,642 to $36,772 and does not clearly track outcomes; Leblanc has no test-score data, which should be read as unavailable, not zero.
Thank you for your feedback!