Plumber salary in Iowa
Median $30.72 an hour for 5,730 plumbers, pipefitters and steamfitters, May 2025, with the union scale by county and the trend since 1999.
Plumber pay in Iowa: the full range
Iowa ranks 26th of 51 states for median plumber pay, and 15th once adjusted for cost of living (the cost-of-living-adjusted median is $34.99). 5,730 plumbers, pipefitters and steamfitters work in the state.
| Career stage (approximate) | Hourly | Annual | Where it sits in the distribution |
|---|---|---|---|
| Apprentice / entry | $21.88 – $24.95 | $45,510 – $51,890 | roughly the 10th–25th percentile |
| Journeyman | $24.95 – $41.02 | $51,890 – $85,320 | the middle half, around the median |
| Master / foreman / specialist | $41.02 – $46.87 | $85,320 – $97,500 | the 75th–90th percentile and above |
Where does your pay fall?
Plumber pay by metro in Iowa
| Metro | 10th | Median $/hr | 90th | Jobs | vs state |
|---|---|---|---|---|---|
| Cedar Rapids | $22.99 | $40.01 | $45.48 | 780 | 30% above |
| Davenport | $22.39 | $36.69 | $48.52 | 680 | 19% above |
| Des Moines | $22.94 | $36.08 | $47.87 | 2,150 | 17% above |
| Ames | $20.03 | $30.68 | $46.87 | 160 | about the same as |
| Omaha | $22.46 | $30.48 | $47.38 | 2,430 | 1% below |
| Waterloo | $22.10 | $29.91 | $44.52 | 220 | 3% below |
| Dubuque | $19.00 | $29.51 | $48.99 | 120 | 4% below |
| Iowa City | $21.72 | $29.49 | $47.08 | 190 | 4% below |
| Sioux City | $21.92 | $29.28 | $46.83 | 240 | 5% below |
Plumber wages in Iowa over time
Table
| Year | Iowa $/hr | In 2025 $ | US $/hr | Jobs |
|---|---|---|---|---|
| 1999 | $16.13 | $31.17 | $17.41 | 3,330 |
| 2000 | $16.60 | $31.04 | $18.19 | 3,990 |
| 2001 | $16.87 | $30.67 | $18.61 | 4,150 |
| 2002 | $17.31 | $30.98 | $19.31 | 4,290 |
| 2003 | $17.50 | $30.62 | $19.69 | 4,260 |
| 2004 | $17.69 | $30.15 | $19.85 | 4,930 |
| 2005 | $20.94 | $34.52 | $20.27 | 4,860 |
| 2006 | $20.00 | $31.94 | $20.56 | 5,490 |
| 2007 | $20.18 | $31.33 | $21.20 | 5,270 |
| 2008 | $20.42 | $30.53 | $21.94 | 5,380 |
| 2009 | $20.57 | $30.87 | $22.27 | 4,570 |
| 2010 | $21.58 | $31.86 | $22.43 | 4,140 |
| 2011 | $22.37 | $32.02 | $22.96 | 4,200 |
| 2012 | $21.90 | $30.71 | $23.62 | 4,020 |
| 2013 | $21.54 | $29.77 | $24.13 | 4,490 |
| 2014 | $21.56 | $29.32 | $24.36 | 4,720 |
| 2015 | $22.54 | $30.62 | $24.34 | 4,540 |
| 2016 | $22.88 | $30.69 | $24.74 | 4,340 |
| 2017 | $23.97 | $31.48 | $25.28 | 4,530 |
| 2018 | $24.74 | $31.72 | $25.92 | 4,270 |
| 2019 | $27.57 | $34.72 | $26.52 | 4,460 |
| 2020 | $25.50 | $31.72 | $27.08 | 4,590 |
| 2021 | $29.09 | $34.56 | $28.79 | 5,490 |
| 2022 | $29.44 | $32.39 | $28.89 | 5,780 |
| 2023 | $29.85 | $31.54 | $29.59 | 6,640 |
| 2024 | $29.44 | $30.21 | $30.27 | 6,350 |
| 2025 | $30.72 | $30.72 | $30.67 | 5,730 |
In today's dollars, the median plumber wage in Iowa changed by +0.3% over the last ten years of data.
Union scale and prevailing wage for plumbers in Iowa
On federally funded construction in Iowa, contractors must pay plumbers at least the Davis-Bacon rate for the county. 39 of the 97 counties with a Building rate use a union contract rate (typical package $66.45 an hour including fringe); the rest use a survey rate (typical $35.27). 58 of the 97 counties still use a survey rate dated 2016 or earlier (for example Adair County at $34.78). The market median for the state is $30.72.
| County | Rate source | Base | Fringe | Total | Determination |
|---|---|---|---|---|---|
| Clinton | Union PLUM0025-006 2025-05-01 | $46.10 | $27.05 | $73.15 | IA20260038 |
| Scott | Union PLUM0025-006 2025-05-01 | $46.10 | $27.05 | $73.15 | IA20260073 |
| Crawford | Union PLUM0033-001 2025-06-01 | $45.20 | $23.25 | $68.45 | IA20260039 |
| Dallas | Union PLUM0033-004 2025-06-01 | $45.20 | $23.25 | $68.45 | IA20260064 |
| Harrison | Union PLUM0033-028 2025-06-01 | $45.20 | $23.25 | $68.45 | IA20260067 |
| Mills | Union PLUM0033-028 2025-06-01 | $45.20 | $23.25 | $68.45 | IA20260070 |
| Polk | Union PLUM0033-004 2025-06-01 | $45.20 | $23.25 | $68.45 | IA20260071 |
| Pottawattamie | Union PLUM0033-028 2025-06-01 | $45.20 | $23.25 | $68.45 | IA20260072 |
| Story | Union PLUM0033-004 2025-06-01 | $45.20 | $23.25 | $68.45 | IA20260074 |
| Wapello | Union PLUM0033-004 2025-06-01 | $45.20 | $23.25 | $68.45 | IA20260055 |
| Warren | Union PLUM0033-004 2025-06-01 | $45.20 | $23.25 | $68.45 | IA20260075 |
| Woodbury | Union PLUM0033-028 2025-06-01 | $45.20 | $23.25 | $68.45 | IA20260077 |
| Benton | Union PLUM0125-004 2025-06-30 | $45.51 | $21.57 | $67.08 | IA20260078 |
| Johnson | Union PLUM0125-004 2025-06-30 | $45.51 | $21.57 | $67.08 | IA20260068 |
| Jones | Union PLUM0125-004 2025-06-30 | $45.51 | $21.57 | $67.08 | IA20260078 |
| Linn | Union PLUM0125-004 2025-06-30 | $45.51 | $21.57 | $67.08 | IA20260069 |
| Buena Vista | Union PLUM0033-010 2025-06-01 | $43.20 | $23.25 | $66.45 | IA20260057 |
| Calhoun | Union PLUM0033-010 2025-06-01 | $43.20 | $23.25 | $66.45 | IA20260057 |
| Cherokee | Union PLUM0033-010 2025-06-01 | $43.20 | $23.25 | $66.45 | IA20260057 |
| Clay | Union PLUM0033-010 2025-06-01 | $43.20 | $23.25 | $66.45 | IA20260057 |
| Dickinson | Union PLUM0033-010 2025-06-01 | $43.20 | $23.25 | $66.45 | IA20260042 |
| Emmet | Union PLUM0033-010 2025-06-01 | $43.20 | $23.25 | $66.45 | IA20260057 |
| Hamilton | Union PLUM0033-010 2025-06-01 | $43.20 | $23.25 | $66.45 | IA20260057 |
| Hancock | Union PLUM0033-010 2025-06-01 | $43.20 | $23.25 | $66.45 | IA20260057 |
| Humboldt | Union PLUM0033-010 2025-06-01 | $43.20 | $23.25 | $66.45 | IA20260057 |
| Ida | Union PLUM0033-010 2025-06-01 | $43.20 | $23.25 | $66.45 | IA20260057 |
| Kossuth | Union PLUM0033-010 2025-06-01 | $43.20 | $23.25 | $66.45 | IA20260057 |
| Lyon | Union PLUM0033-010 2025-06-01 | $43.20 | $23.25 | $66.45 | IA20260057 |
| O'Brien | Union PLUM0033-010 2025-06-01 | $43.20 | $23.25 | $66.45 | IA20260057 |
| Osceola | Union PLUM0033-010 2025-06-01 | $43.20 | $23.25 | $66.45 | IA20260057 |
| Palo Alto | Union PLUM0033-010 2025-06-01 | $43.20 | $23.25 | $66.45 | IA20260057 |
| Plymouth | Union PLUM0033-010 2025-06-01 | $43.20 | $23.25 | $66.45 | IA20260057 |
| Pocahontas | Union PLUM0033-010 2025-06-01 | $43.20 | $23.25 | $66.45 | IA20260057 |
| Sac | Union PLUM0033-010 2025-06-01 | $43.20 | $23.25 | $66.45 | IA20260057 |
| Sioux | Union PLUM0033-010 2025-06-01 | $43.20 | $23.25 | $66.45 | IA20260053 |
| Webster | Union PLUM0033-010 2025-06-01 | $43.20 | $23.25 | $66.45 | IA20260056 |
| Winnebago | Union PLUM0033-010 2025-06-01 | $43.20 | $23.25 | $66.45 | IA20260057 |
| Wright | Union PLUM0033-010 2025-06-01 | $43.20 | $23.25 | $66.45 | IA20260057 |
| Dubuque | Union PLUM0125-005 2025-06-30 | $43.26 | $22.07 | $65.33 | IA20260065 |
| Appanoose | Survey SUIA2016-005 2016-07-19 | $31.85 | $15.12 | $46.97 | IA20260032 |
| Cedar | Survey SUIA2016-009 2016-07-19 | $31.85 | $15.12 | $46.97 | IA20260036 |
| Davis | Survey SUIA2016-013 2016-07-19 | $31.85 | $15.12 | $46.97 | IA20260040 |
| Des Moines | Survey SUIA2016-014 2016-07-19 | $31.85 | $15.12 | $46.97 | IA20260041 |
| Henry | Survey SUIA2016-036 2016-07-19 | $31.85 | $15.12 | $46.97 | IA20260061 |
| Iowa | Survey SUIA2016-018 2016-07-19 | $31.85 | $15.12 | $46.97 | IA20260045 |
| Jackson | Survey SUIA2016-036 2016-07-19 | $31.85 | $15.12 | $46.97 | IA20260061 |
| Jasper | Survey SUIA2016-019 2016-07-19 | $31.85 | $15.12 | $46.97 | IA20260046 |
| Jefferson | Survey SUIA2016-036 2016-07-19 | $31.85 | $15.12 | $46.97 | IA20260061 |
| Keokuk | Survey SUIA2016-036 2016-07-19 | $31.85 | $15.12 | $46.97 | IA20260061 |
| Lee | Survey SUIA2016-020 2016-07-19 | $31.85 | $15.12 | $46.97 | IA20260047 |
| Louisa | Survey SUIA2016-036 2016-07-19 | $31.85 | $15.12 | $46.97 | IA20260061 |
| Mahaska | Survey SUIA2016-036 2016-07-19 | $31.85 | $15.12 | $46.97 | IA20260061 |
| Marion | Survey SUIA2016-021 2016-07-19 | $31.85 | $15.12 | $46.97 | IA20260048 |
| Marshall | Survey SUIA2016-022 2016-07-19 | $31.85 | $15.12 | $46.97 | IA20260049 |
| Monroe | Survey SUIA2016-036 2016-07-19 | $31.85 | $15.12 | $46.97 | IA20260061 |
| Poweshiek | Survey SUIA2016-025 2016-07-19 | $31.85 | $15.12 | $46.97 | IA20260052 |
| Tama | Survey SUIA2016-036 2016-07-19 | $31.85 | $15.12 | $46.97 | IA20260061 |
| Van Buren | Survey SUIA2016-036 2016-07-19 | $31.85 | $15.12 | $46.97 | IA20260061 |
| Muscatine | Survey SUIA2016-023 2016-07-19 | $31.28 | $10.86 | $42.14 | IA20260050 |
| Washington | Survey SUIA2016-051 2016-07-19 | $29.11 | $11.55 | $40.66 | IA20260076 |
| Allamakee | Survey SUIA2016-004 2016-07-19 | $25.66 | $9.61 | $35.27 | IA20260031 |
| Buchanan | Survey SUIA2016-055 2016-07-19 | $25.66 | $9.61 | $35.27 | IA20260080 |
| Butler | Survey SUIA2016-055 2016-07-19 | $25.66 | $9.61 | $35.27 | IA20260080 |
| Chickasaw | Survey SUIA2016-055 2016-07-19 | $25.66 | $9.61 | $35.27 | IA20260080 |
| Clayton | Survey SUIA2016-034 2016-07-19 | $25.66 | $9.61 | $35.27 | IA20260059 |
| Delaware | Survey SUIA2016-034 2016-07-19 | $25.66 | $9.61 | $35.27 | IA20260059 |
| Fayette | Survey SUIA2016-055 2016-07-19 | $25.66 | $9.61 | $35.27 | IA20260080 |
| Floyd | Survey SUIA2016-016 2016-07-19 | $25.66 | $9.61 | $35.27 | IA20260043 |
| Franklin | Survey SUIA2016-055 2016-07-19 | $25.66 | $9.61 | $35.27 | IA20260080 |
| Hardin | Survey SUIA2016-055 2016-07-19 | $25.66 | $9.61 | $35.27 | IA20260080 |
| Howard | Survey SUIA2016-017 2016-07-19 | $25.66 | $9.61 | $35.27 | IA20260044 |
| Mitchell | Survey SUIA2016-055 2016-07-19 | $25.66 | $9.61 | $35.27 | IA20260080 |
| Winneshiek | Survey SUIA2016-055 2016-07-19 | $25.66 | $9.61 | $35.27 | IA20260080 |
| Worth | Survey SUIA2016-055 2016-07-19 | $25.66 | $9.61 | $35.27 | IA20260080 |
| Adair | Survey SUIA2016-002 2016-07-19 | $23.94 | $10.84 | $34.78 | IA20260029 |
| Adams | Survey SUIA2016-003 2016-07-19 | $23.94 | $10.84 | $34.78 | IA20260030 |
| Audubon | Survey SUIA2016-006 2016-07-19 | $23.94 | $10.84 | $34.78 | IA20260033 |
| Boone | Survey SUIA2016-007 2016-07-19 | $23.94 | $10.84 | $34.78 | IA20260034 |
| Carroll | Survey SUIA2016-008 2016-07-19 | $23.94 | $10.84 | $34.78 | IA20260035 |
| Cass | Survey SUIA2016-033 2016-07-19 | $23.94 | $10.84 | $34.78 | IA20260058 |
| Clarke | Survey SUIA2016-033 2016-07-19 | $23.94 | $10.84 | $34.78 | IA20260058 |
| Decatur | Survey SUIA2016-035 2016-07-19 | $23.94 | $10.84 | $34.78 | IA20260060 |
| Fremont | Survey SUIA2016-035 2016-07-19 | $23.94 | $10.84 | $34.78 | IA20260060 |
| Greene | Survey SUIA2016-035 2016-07-19 | $23.94 | $10.84 | $34.78 | IA20260060 |
| Lucas | Survey SUIA2016-035 2016-07-19 | $23.94 | $10.84 | $34.78 | IA20260060 |
| Monona | Survey SUIA2016-035 2016-07-19 | $23.94 | $10.84 | $34.78 | IA20260060 |
| Montgomery | Survey SUIA2016-035 2016-07-19 | $23.94 | $10.84 | $34.78 | IA20260060 |
| Page | Survey SUIA2016-024 2016-07-19 | $23.94 | $10.84 | $34.78 | IA20260051 |
| Ringgold | Survey SUIA2016-035 2016-07-19 | $23.94 | $10.84 | $34.78 | IA20260060 |
| Shelby | Survey SUIA2016-035 2016-07-19 | $23.94 | $10.84 | $34.78 | IA20260060 |
| Taylor | Survey SUIA2016-035 2016-07-19 | $23.94 | $10.84 | $34.78 | IA20260060 |
| Union | Survey SUIA2016-027 2016-07-19 | $23.94 | $10.84 | $34.78 | IA20260054 |
| Wayne | Survey SUIA2016-035 2016-07-19 | $23.94 | $10.84 | $34.78 | IA20260060 |
| Cerro Gordo | Survey SUIA2016-010 2016-07-19 | $23.95 | $10.13 | $34.08 | IA20260037 |
| Black Hawk | Survey SUIA2016-037 2016-07-19 | $25.05 | $8.97 | $34.02 | IA20260062 |
| Bremer | Survey SUIA2016-038 2016-07-19 | $24.71 | $8.80 | $33.51 | IA20260063 |
| Grundy | Survey SUIA2016-041 2016-07-19 | $24.71 | $8.80 | $33.51 | IA20260066 |
Building construction type, current revisions as of 2026-09-28. Residential, Heavy and Highway rates differ; look them up on the Iowa prevailing wage page. This is not the official wage determination.
Is construction work growing in Iowa?
Contractor pay by county
Average pay at plumbing, heating and air-conditioning contractors establishments by county (all employees, not just plumbers), from the Quarterly Census of Employment and Wages, 2025 annual averages.
| County | Employees | Average annual pay | Avg weekly wage |
|---|---|---|---|
| Polk County | 4,936 | $93,825 | $1,804 |
| Woodbury County | 705 | $90,444 | $1,739 |
| Linn County | 2,122 | $87,280 | $1,678 |
| Benton County | 94 | $84,377 | $1,623 |
| Scott County | 1,151 | $83,930 | $1,614 |
| Pottawattamie County | 397 | $80,299 | $1,544 |
| Wapello County | 279 | $79,163 | $1,522 |
| Boone County | 190 | $78,983 | $1,519 |
| Black Hawk County | 521 | $77,457 | $1,490 |
| Carroll County | 149 | $75,167 | $1,446 |
| Johnson County | 443 | $71,992 | $1,384 |
| Dubuque County | 354 | $71,482 | $1,375 |
| Marshall County | 81 | $71,436 | $1,374 |
| Clinton County | 123 | $71,416 | $1,373 |
| Wright County | 22 | $70,798 | $1,361 |
| Des Moines County | 286 | $70,731 | $1,360 |
| Webster County | 174 | $70,717 | $1,360 |
| Story County | 308 | $69,966 | $1,346 |
| Jasper County | 209 | $69,265 | $1,332 |
| Winneshiek County | 38 | $67,822 | $1,304 |
| Winnebago County | 19 | $67,603 | $1,300 |
| Sioux County | 129 | $67,253 | $1,293 |
| Monroe County | 33 | $66,716 | $1,283 |
| Guthrie County | 29 | $66,630 | $1,281 |
| Mills County | 35 | $65,633 | $1,262 |
| Cherokee County | 42 | $65,572 | $1,261 |
| Muscatine County | 85 | $65,429 | $1,258 |
| Fayette County | 57 | $64,527 | $1,241 |
| Warren County | 248 | $64,292 | $1,236 |
| Mitchell County | 36 | $62,689 | $1,206 |
| Emmet County | 47 | $61,791 | $1,188 |
| Dallas County | 305 | $61,499 | $1,183 |
| Montgomery County | 52 | $61,216 | $1,177 |
| Sac County | 21 | $59,993 | $1,154 |
| Hardin County | 100 | $59,132 | $1,137 |
| Mahaska County | 68 | $59,097 | $1,136 |
| Jones County | 149 | $58,458 | $1,124 |
| Buena Vista County | 30 | $58,344 | $1,122 |
| Page County | 39 | $56,895 | $1,094 |
| Iowa County | 58 | $56,204 | $1,081 |
| Washington County | 86 | $54,796 | $1,054 |
| Palo Alto County | 37 | $53,340 | $1,026 |
| Jackson County | 24 | $52,929 | $1,018 |
| Chickasaw County | 72 | $51,523 | $991 |
| Harrison County | 38 | $50,518 | $971 |
| Lyon County | 120 | $49,020 | $943 |
| Louisa County | 16 | $48,549 | $934 |
| Henry County | 46 | $48,054 | $924 |
| Davis County | 6 | $47,024 | $904 |
| Adair County | 17 | $46,903 | $902 |
| Buchanan County | 45 | $46,365 | $892 |
| Monona County | 20 | $45,889 | $882 |
| Grundy County | 20 | $43,695 | $840 |
| Greene County | 15 | $43,393 | $834 |
| Hamilton County | 21 | $43,159 | $830 |
| Allamakee County | 20 | $43,087 | $829 |
| Clarke County | 7 | $42,760 | $822 |
| Jefferson County | 16 | $38,068 | $732 |
Keep comparing
Plumber pay in neighbouring states
Other trades in Iowa
Questions this page answers
How much do plumbers make in Iowa?
The median plumber in Iowa earned $30.72 an hour ($63,890 a year) in May 2025, about the same as the national median of $30.67. The middle half earn $24.95–$41.02; the top 10% earn more than $46.87.
Where does Iowa rank for plumber pay?
Iowa ranks 26th of 51 states for plumber pay, with a median of $30.72 an hour, and 15th after adjusting for Iowa's cost of living (BEA price parity 87.8, US = 100).
What is the union plumber rate in Iowa?
Davis-Bacon determinations list a union contract rate for plumbers in 39 counties, with a typical package of $66.45 an hour including fringe benefits; see the county table above.
How many plumbers work in Iowa?
BLS counted 5,730 plumbers, pipefitters and steamfitters in Iowa in May 2025, 3.7 per 1,000 jobs (location quotient 1.23; 1.0 is the national average concentration).
Sources and notes
- BLS Occupational Employment and Wage Statistics, May 2025, Iowa and metro areas, SOC 47-2152.
- BLS Current Employment Statistics, state construction employment through 2026-08.
- BLS Quarterly Census of Employment and Wages, 2025 annual averages.
- BEA Regional Price Parities (cost-of-living adjustment).
- SAM.gov Davis-Bacon wage determinations, current revisions as of 2026-09-28. Not the official determination.