A percentile is a position in the BLS distribution. It is not a promised offer or career forecast.
10th
$37,460
25th
$46,260
Median
$55,440
75th
$65,390
90th
$81,720
National context
What changes around the median
Roofers ranked 36 of 60 detailed construction and extraction occupations with a published annual median. The national annual mean was 4.9% above the median, showing why one center point does not describe the full distribution.
Area estimates below use the same SOC code and release. They do not adjust for cost of living, experience, benefits, hours, employer mix, or remote-work policy.
Published metro rows
Highest medians for Roofers
Ranked only among metros with a published annual median. No cost-of-living adjustment.
Use the published range, job count, place pattern, and survey limits as separate facts. The guide stays tied to SOC 47-2181 and the May 2025 BLS release.
Questions, answered
Roofers: common wage questions
What is the median wage for Roofers?
The May 2025 BLS OEWS release published a U.S. median of $55,440 per year for Roofers. It is an occupation estimate, not a promised offer or an individual's pay.
How many Roofers jobs does BLS estimate nationally?
BLS published an employment estimate of 135,490 wage and salary jobs. The estimate is not a count of current openings and excludes the self-employed.
Why is the mean wage different from the median for Roofers?
The published annual mean is 4.9% above the median. The mean uses every published wage value, while the median marks the middle of the distribution.
Which metro has the highest published median for Roofers?
Worcester, MA has the highest annual median among the metro rows with a published value on this page, at $105,270. This is a nominal BLS estimate with no price-level adjustment.
From market data to your evidence
Tailor for a real Roofers job, not a generic wage number.
Pick an eligible listing, then MeritLog can help you prepare from experience you have confirmed. WageScope never turns a BLS estimate into a qualification or résumé claim.
The May 2025 BLS OEWS estimate puts the U.S. median for Roofers at $55,440 per year. Median means the middle. Half of the wage values used for this estimate fall below that point. Half fall above it. The median is not one worker's pay. It is not a job offer. It is one clear mark for the middle of a broad national pay range.
BLS also lists 135,490 wage and salary jobs for Roofers. That count covers jobs in the survey's scope. It does not count open job ads. It also leaves out people who work for themselves. The wage and job counts share the same May 2025 reference point, so they can be read together without mixing time periods.
The Roofers mean of $58,140 per year is 4.9% above the $55,440 median on the same published median. Mean means BLS adds the wage values and divides the total by the number of jobs behind the estimate. A gap between mean and median shows that the shape is not even. It does not explain the cause of the gap.
BLS names this record Roofers and gives it SOC 47-2181. The two-part code is the stable key for this page. A role with a close name keeps a different code, wage row, job count, and area pattern. WageScope never joins two SOC records because their words sound alike.
For SOC 47-2181, the U.S. row reports 135,490 wage and salary jobs. Its annual median is $55,440 per year. Its matching mean is $58,140 per year. These facts come from one national row and one May 2025 release.
The same SOC 47-2181 appears in 52 state or territory rows, 265 metro rows, and 92 nonmetro rows in this artifact. A missing local row stays missing. The national record does not fill it, and a nearby SOC does not stand in for it.
The 10th percentile is $37,460 per year. The 25th percentile is $46,260 per year. The median is $55,440 per year. The 75th percentile is $65,390 per year. The 90th percentile is $81,720 per year. Each point marks a place in the same national wage spread.
A percentile is a rank point. It is not a career step. For example, the 10th percentile means 10% of wage values are at or below that mark. It does not mean a new worker starts there. The 90th percentile means 90% are at or below that mark. It does not mean a worker can reach it after a set number of years.
The middle half runs from $46,260 to $65,390 per year. That span is $19,130. The full 10th-to-90th span is $44,260. These spans show why one median cannot stand in for every Roofers job.
The median is 48.0% above the 10th percentile. The 90th percentile is 47.4% above the median. The two sides do not have to match. A wider upper side can pull the mean up. A wider lower side can pull it down. The data shows the shape, but not the reason for that shape.
The 25th-to-median step is $9,180 per year. The median-to-75th step is $9,950 per year. These two steps give a closer look at the middle half. They are often more useful than a single top-to-bottom gap because they keep the center in view.
Use this ladder as a fact check when you read a job post. A posted range can sit below, near, or above these BLS marks. That does not make the post wrong. A job may differ by place, hours, level, field, employer, or work rules. Keep the posted range tied to that listing. Keep the BLS range tied to the whole occupation.
Metro areas with the highest published Roofers medians
WageScope found 265 metro rows with the same published annual median for Roofers. It sorts only those rows. It does not fill a blank row. It does not turn a blank into zero. The first six rows below have the highest published medians in this release. The list is a wage rank, not a rank of places to live or work.
The first row is Worcester, MA, at $105,270 per year. The middle metro row by published pay is Grand Junction, CO, at $50,140 per year. That middle metro mark gives one more check on how far the top rows sit from a common place in the set.
These are nominal wages. Nominal means the dollar amount shown in the source. This list does not adjust for local price levels. It also does not tell us how many openings an area has now. Use a local page to see price-level context when an exact BEA row exists. Use the separate job block to inspect current employer-title matches.
1. Worcester, MA has a Roofers median of $105,270 per year, or $49,830 above the U.S. Roofers median. BLS lists 350 jobs there, against 135,490 across the U.S. The local location quotient is 1.15.
2. Trenton-Princeton, NJ has a Roofers median of $82,100 per year, or $26,660 above the U.S. Roofers median. BLS lists 140 jobs there, against 135,490 across the U.S. The local location quotient is 0.66.
Job count
Metro areas with the largest Roofers job estimates
A large wage can appear in a small job market. A large job market can have a lower wage. That is why WageScope keeps pay and job count in separate views. The six rows below have the largest published employment estimates for Roofers among metro rows in this release. Employment means the number of wage and salary jobs in scope. It does not mean open roles.
Los Angeles-Long Beach-Anaheim, CA has the largest listed metro estimate in this set, at 5,480 jobs. Its median is $63,560 per year. Compare that with Worcester, MA, which leads the published median list. The leaders may match, or they may not. Each list answers a different question.
Job count can help you see the scale of a local labor market. It cannot show churn, new hiring, job quality, remote work, or the chance that one person will get hired. Current listings add a second view, but they are a dated sample of posts. WageScope never turns the listing count into a demand score.
1. Los Angeles-Long Beach-Anaheim, CA has 5,480 estimated Roofers jobs, or 4.0% of the national 135,490 job estimate. Its median is $63,560 per year, or $8,120 above the U.S. Roofers median. Its location quotient is 1.
2. Miami-Fort Lauderdale-West Palm Beach, FL has 5,290 estimated Roofers jobs, or 3.9% of the national 135,490 job estimate. Its median is $48,030 per year, or $7,410 below the U.S. Roofers median. Its location quotient is 2.15.
Local share
Where Roofers has a larger share of local jobs
Location quotient is a share check. A value of 1 means the role has the same share of local jobs as it has across the nation. A value above 1 means the local share is larger. A value below 1 means the local share is smaller. It is not a count. It is not a wage. It does not say that a place is growing.
Sebastian-Vero Beach-West Vero Corridor, FL has the highest published location quotient in this bounded metro set, at 9.05. The same row lists 450 jobs and a median of $49,200 per year. Reading all three values keeps a high share from being mistaken for a large market or high pay.
A small area can have a high location quotient because the role makes up a large part of a small local job base. A large area can have many workers and a lower quotient. Use the quotient to ask where the role is common in the mix. Use employment to ask how many jobs BLS estimated. Use the wage fields to ask what the published pay range looks like.
1. Sebastian-Vero Beach-West Vero Corridor, FL has a Roofers location quotient of 9.05. BLS lists 450 jobs and a median of $49,200 per year, or $6,240 below the U.S. Roofers median. The U.S. job estimate is 135,490.
2. Cape Coral-Fort Myers, FL has a Roofers location quotient of 7.17. BLS lists 1,900 jobs and a median of $46,890 per year, or $8,550 below the U.S. Roofers median. The U.S. job estimate is 135,490.
SOC family
How Roofers sits in Construction and Extraction
Roofers is SOC 47-2181. BLS places it in the Construction and Extraction major group. Among 60 detailed roles in that group with a published annual median, Roofers ranks 36 of 60 by median. This is a pay rank inside one source family. It is not a rank of skill, value, status, or career fit.
The closest same-family medians help set a fair peer frame. They do not claim that the work is the same. Official SOC titles can cover different tasks and settings. WageScope uses the family only because BLS publishes that link. It does not infer a career move, a skill match, or a hiring path from the wage gap.
Use these peer rows to spot whether the $55,440 median sits near many family roles or far from them. Then open a role's own page before using its number. Each role has a different code, job count, wage spread, and place pattern. One family label does not erase those facts.
1. Tile and Stone Setters, SOC 47-2044, has a U.S. median of $55,690 per year. Its gap from Roofers is $250 per year.
2. Floor Layers, Except Carpet, Wood, and Hard Tiles, SOC 47-2042, has a U.S. median of $56,460 per year. Its gap from Roofers is $1,020 per year.
3. Extraction Workers, All Other, SOC 47-5099, has a U.S. median of $57,010 per year. Its gap from Roofers is $1,570 per year.
Data care
How much care to use with the Roofers estimate
BLS marks the employment relative standard error at 1.4%. It marks the mean-wage relative standard error at 0.6%. A relative standard error, or RSE, is a survey precision flag. A smaller RSE often means less sampling uncertainty. It is not the chance that one worker's pay is right or wrong.
The employment RSE applies to the 135,490 job estimate. The mean-wage RSE applies to the published mean of $58,140 per year. These fields do not give a matching RSE for the median or each percentile. WageScope shows the fields BLS published and does not move one RSE to another measure.
Survey values can change when BLS updates its methods, sample, models, or source year. That is why this page keeps May 2025 in view. A later release can replace these facts only after MeritLog pins the new official files, checks the rows, and reviews the page again. A changed number is not treated as a correction unless the source says so.
First, compare the same wage metric. Use annual with annual or hourly with hourly. Next, check the source date. Keep May 2025 BLS rows together. Then read employment and location quotient beside pay. This stops a high median from standing in for market size or local share. Last, add BEA price-level context only when the exact place has an approved row.
A state, metro, and nonmetro area are not the same kind of map. Do not rank them in one list without saying so. WageScope groups like with like. It also keeps a national row as a broad bench mark. A local page can show the local row, its state row when that link is exact, and the U.S. row without blending them.
If a value is blank, keep it blank. If BLS marks a top code, read it as a lower bound. Do not fill a blank from a nearby place. Do not turn a wage gap into a claim about taxes, hours, benefits, work rules, or a household budget. Those facts are not in the OEWS row.
The job block on this page uses a strict employer-title match for Roofers. It may show fewer rows than the full MeritLog job search. That is on purpose. A false negative is safer here than a job card for a different role. Each card keeps its employer, place, source, and seen date. The cards do not change the BLS wage data.
Open one listing and read its own pay, work place, level, and needs. Compare its posted range with the BLS spread only as context. A posted range is set by an employer for one role. The BLS range is a survey view across many jobs. Neither source proves that a person is fit for the work.
When you tailor a résumé, use work facts you can back up. Do not turn $55,440 into a skill or result. Do not copy a BLS job count into your work history. MeritLog can help shape confirmed experience for a chosen listing. The wage page stays public and read only. It does not save a job or create a résumé on page load.
This page does not say what one Roofers worker earns. It does not promise that a job pays the median. It does not state a starting wage. It does not explain why the mean and median differ. It does not add benefits, tips, stock, bonus pay, taxes, or work hours unless BLS includes them in the published wage measure.
The page does not count people who work for themselves. It does not turn 135,490 into current openings. It does not read private MeritLog jobs or Career Memory. MeritLog does not use the page to build a private career profile. While public analytics are on, GA4, Ahrefs, and Meta may receive the public page URL; Your Privacy Choices or Global Privacy Control turns that off. The page does not send its text to a model.
The best use is narrow and clear. Read the May 2025 BLS wage range. Check how the role changes by place. Add the separate 2024 BEA price level when an exact row exists. Inspect a dated employer-title match. Then make a résumé choice from facts you have confirmed. Keep each source tied to the question it can answer.
Are the current job listings included in the BLS wage calculation?
No. MeritLog shows eligible live public-catalog listings separately, with their own source and observation date. Posted pay never changes the official BLS distribution.
3. Chicago-Naperville-Elgin, IL-IN has a Roofers median of $82,090 per year, or $26,650 above the U.S. Roofers median. BLS lists 3,900 jobs there, against 135,490 across the U.S. The local location quotient is 0.99.
4. Bridgeport-Stamford-Danbury, CT has a Roofers median of $81,310 per year, or $25,870 above the U.S. Roofers median. BLS lists 130 jobs there, against 135,490 across the U.S. The local location quotient is 0.37.
5. St. Cloud, MN has a Roofers median of $79,250 per year, or $23,810 above the U.S. Roofers median. BLS lists 130 jobs there, against 135,490 across the U.S. The local location quotient is 1.41.
6. Atlantic City-Hammonton, NJ has a Roofers median of $77,990 per year, or $22,550 above the U.S. Roofers median. BLS lists 90 jobs there, against 135,490 across the U.S. The local location quotient is 0.64.
3. Chicago-Naperville-Elgin, IL-IN has 3,900 estimated Roofers jobs, or 2.9% of the national 135,490 job estimate. Its median is $82,090 per year, or $26,650 above the U.S. Roofers median. Its location quotient is 0.99.
4. Tampa-St. Petersburg-Clearwater, FL has 3,380 estimated Roofers jobs, or 2.5% of the national 135,490 job estimate. Its median is $47,170 per year, or $8,270 below the U.S. Roofers median. Its location quotient is 2.68.
5. New York-Newark-Jersey City, NY-NJ has 3,100 estimated Roofers jobs, or 2.3% of the national 135,490 job estimate. Its median is $76,400 per year, or $20,960 above the U.S. Roofers median. Its location quotient is 0.37.
6. Seattle-Tacoma-Bellevue, WA has 2,970 estimated Roofers jobs, or 2.2% of the national 135,490 job estimate. Its median is $64,090 per year, or $8,650 above the U.S. Roofers median. Its location quotient is 1.64.
3. North Port-Bradenton-Sarasota, FL has a Roofers location quotient of 6.7. BLS lists 1,990 jobs and a median of $48,860 per year, or $6,580 below the U.S. Roofers median. The U.S. job estimate is 135,490.
4. Longview-Kelso, WA has a Roofers location quotient of 5.68. BLS lists 200 jobs and a median of $58,830 per year, or $3,390 above the U.S. Roofers median. The U.S. job estimate is 135,490.
5. Bellingham, WA has a Roofers location quotient of 5.52. BLS lists 440 jobs and a median of $59,730 per year, or $4,290 above the U.S. Roofers median. The U.S. job estimate is 135,490.
6. Port St. Lucie, FL has a Roofers location quotient of 5.5. BLS lists 820 jobs and a median of $47,590 per year, or $7,850 below the U.S. Roofers median. The U.S. job estimate is 135,490.
Matched from employer-posted title terms, not a BLS classification. Confirm the listing's location because this occupation-wide set is not a U.S. place filter. A posted range never changes the official distribution above.