As filmmaker and writer Nora Ephron said during a '96 commencement address at Wellesley College, "Your education is a dress rehearsal for a life that is yours to lead." If that's the case, high school may be one of the greatest dress rehearsals of all.
It's a place where students explore their interests, dive into extracurricular activities, finally get the freedom to choose their own classes, and prepare for college or the workplace. For many of these students and their families, public education is key: 49.4 million students enrolled in public pre-K-12 schools in fall 2021, according to the National Center for Education Statistics. Of those, about a third were in high school, enrolled across about 23,500 public secondary schools nationwide.
For many anxious parents, getting their kids into the best of these public high schools is of the utmost importance. Some families even move homes to get into better school districts. However, among all of these thousands of schools, a few stand out for their academic excellence, incredible track records, and the future success of their young students.
Stacker compiled a list of the 30 best public high schools in Iowa using 2023 rankings from Niche. Niche uses seven weighted factors for its rankings. A majority of the score is based on academics, but other factors include culture and diversity; sports; clubs and activities; resources; and surveys of parents, teachers, and students. School districts are provided when available; otherwise, the city is listed instead.
Daniel Hoz // Shutterstock
1 / 30#30. Grinnell Community Senior High School
- Location: Grinnell-Newburg Community School District, IA
- Enrollment: 452 (13:1 student to teacher ratio)
- Niche grade: Grade A-
Achira22 // Shutterstock
2 / 30#29. Van Meter Junior/Senior High School
- Location: Van Meter Community School District, IA
- Enrollment: 283 (14:1 student to teacher ratio)
- Niche grade: Grade A-
Ground Picture // Shutterstock
3 / 30#28. Cedar Falls High School
- Location: Cedar Falls Community School District, IA
- Enrollment: 1,292 (14:1 student to teacher ratio)
- Niche grade: Grade A-
LightField Studios // Shutterstock
4 / 30#27. Kee High School
- Location: Eastern Allamakee Community School District, IA
- Enrollment: 108 (7:1 student to teacher ratio)
- Niche grade: Grade A-
Mircea Moira // Shutterstock
5 / 30#26. Maquoketa Valley Senior High School
- Location: Maquoketa Valley Community School District, IA
- Enrollment: 191 (11:1 student to teacher ratio)
- Niche grade: Grade A-
LStockStudio // Shutterstock
6 / 30#25. Williamsburg Junior/Senior High School
- Location: Williamsburg Community School District, IA
- Enrollment: 573 (12:1 student to teacher ratio)
- Niche grade: Grade A-
panitanphoto // Shutterstock
7 / 30#24. Bettendorf High School
- Location: Bettendorf Community School District, IA
- Enrollment: 1,550 (16:1 student to teacher ratio)
- Niche grade: Grade A-
Jacob Lund // Shutterstock
8 / 30#23. Le Mars High School
- Location: Le Mars Community School District, IA
- Enrollment: 654 (17:1 student to teacher ratio)
- Niche grade: Grade A-
ImageFlow // Shutterstock
9 / 30#22. Marion High School
- Location: Marion Independent School District, IA
- Enrollment: 681 (16:1 student to teacher ratio)
- Niche grade: Grade A-
Ground Picture // Shutterstock
10 / 30#21. West Marshall High School
- Location: West Marshall Community School District, IA
- Enrollment: 319 (16:1 student to teacher ratio)
- Niche grade: Grade A-
Tyler Olson // Shutterstock
11 / 30#20. Ames High School
- Location: Ames Community School District, IA
- Enrollment: 1,419 (17:1 student to teacher ratio)
- Niche grade: Grade A-
SEALANDSKYPHOTO // Shutterstock
12 / 30#19. Spirit Lake High School
- Location: Spirit Lake Community School District, IA
- Enrollment: 396 (17:1 student to teacher ratio)
- Niche grade: Grade A-
sirtravelalot // Shutterstock
13 / 30#18. Pella High School
- Location: Pella Community School District, IA
- Enrollment: 738 (16:1 student to teacher ratio)
- Niche grade: Grade A-
maroke // Shutterstock
14 / 30#17. John F. Kennedy High School
- Location: Cedar Rapids Community School District, IA
- Enrollment: 1,741 (18:1 student to teacher ratio)
- Niche grade: Grade A-
Studio KIWI // Shutterstock
15 / 30#16. City High School
- Location: Iowa City Community School District, IA
- Enrollment: 1,557 (15:1 student to teacher ratio)
- Niche grade: Grade A-
GagliardiPhotography // Shutterstock
16 / 30#15. Western Dubuque High School
- Location: Western Dubuque Community School District, IA
- Enrollment: 935 (16:1 student to teacher ratio)
- Niche grade: Grade A-
Monkey Business Images // Shutterstock
17 / 30#14. Treynor Middle/High School
- Location: Treynor Community School District, IA
- Enrollment: 263 (15:1 student to teacher ratio)
- Niche grade: Grade A-
Ground Picture // Shutterstock
18 / 30#13. Johnston Senior High School
- Location: Johnston Community School District, IA
- Enrollment: 1,792 (20:1 student to teacher ratio)
- Niche grade: Grade A-
Joyseulay // Shutterstock
19 / 30#12. Liberty High School
- Location: Iowa City Community School District, IA
- Enrollment: 1,145 (15:1 student to teacher ratio)
- Niche grade: Grade A
LStockStudio // Shutterstock
20 / 30#11. Linn-Mar High School
- Location: Linn-Mar Community School District, IA
- Enrollment: 2,273 (17:1 student to teacher ratio)
- Niche grade: Grade A
#10. St. Ansgar High School
- Location: St. Ansgar Community School District, IA
- Enrollment: 161 (9:1 student to teacher ratio)
- Niche grade: Grade A
#9. Gilbert High School
- Location: Gilbert Community School District, IA
- Enrollment: 521 (16:1 student to teacher ratio)
- Niche grade: Grade A
#8. Ankeny High School
- Location: Ankeny Community School District, IA
- Enrollment: 1,330 (17:1 student to teacher ratio)
- Niche grade: Grade A
Roman Kosolapov // Shutterstock
24 / 30#7. Decorah High School
- Location: Decorah Community School District, IA
- Enrollment: 577 (15:1 student to teacher ratio)
- Niche grade: Grade A
LBeddoe // Shutterstock
25 / 30#6. MOC-Floyd Valley High School
- Location: MOC-Floyd Valley Community School District, IA
- Enrollment: 471 (14:1 student to teacher ratio)
- Niche grade: Grade A
#5. Ankeny Centennial High School
- Location: Ankeny Community School District, IA
- Enrollment: 1,419 (17:1 student to teacher ratio)
- Niche grade: Grade A
DenisProduction.com // Shutterstock
27 / 30#4. Valley High School
- Location: West Des Moines Community School District, IA
- Enrollment: 2,058 (17:1 student to teacher ratio)
- Niche grade: Grade A
#3. Waukee Senior High School
- Location: Waukee Community School District, IA
- Enrollment: 1,154 (9:1 student to teacher ratio)
- Niche grade: Grade A
Anna Jurkovska // Shutterstock
29 / 30#2. Pleasant Valley High School
- Location: Pleasant Valley Community School District, IA
- Enrollment: 1,643 (18:1 student to teacher ratio)
- Niche grade: Grade A+
#1. West Senior High School
- Location: Iowa City Community School District, IA
- Enrollment: 1,455 (16:1 student to teacher ratio)
- Niche grade: Grade A+
This story features data reporting and writing by Emma Rubin and is part of a series utilizing data automation across 50 states.