Estimates for personal planning — not tax, legal, or payroll advice. Every number above is gross pay unless a line says otherwise; the formula, its boundaries, and its test cases are published below.
How it works
hours/yr = 40 × 52 = 2,080
hourly = $60,000 ÷ 2,080 = $28.85
biweekly = $60,000 ÷ 26 = $2,307.69
The 2,080-hour year
The standard conversion assumes 40 hours × 52 weeks = 2,080 paid hours. That's why “$60,000 a year” and “$28.85 an hour” are the same money. If you take unpaid time off, lower Weeks / year — at 50 paid weeks, $60,000 is an even $30.00/hr (also a published test case).
Hourly to salary
Flip Per to hour and the same math runs in reverse: rate × hours × weeks.
$17.50/hr at 30 hours a week is $27,300 a year — part-time schedules convert just as exactly as
full-time ones.
Biweekly vs semimonthly
The two rows that trip people up: biweekly means 26 checks (every other week); semimonthly means 24 (twice a month). Same salary, different check size. The biweekly pay calculator goes deeper, including the two 3-check months.
Hourly to annual — quick reference
| Hourly | Weekly | Biweekly | Monthly | Annual |
|---|---|---|---|---|
| $15.00/hr | $600 | $1,200.00 | $2,600.00 | $31,200 |
| $17.50/hr | $700 | $1,400.00 | $3,033.33 | $36,400 |
| $18.00/hr | $720 | $1,440.00 | $3,120.00 | $37,440 |
| $20.00/hr | $800 | $1,600.00 | $3,466.67 | $41,600 |
| $22.00/hr | $880 | $1,760.00 | $3,813.33 | $45,760 |
| $25.00/hr | $1,000 | $2,000.00 | $4,333.33 | $52,000 |
| $28.00/hr | $1,120 | $2,240.00 | $4,853.33 | $58,240 |
| $30.00/hr | $1,200 | $2,400.00 | $5,200.00 | $62,400 |
| $35.00/hr | $1,400 | $2,800.00 | $6,066.67 | $72,800 |
| $40.00/hr | $1,600 | $3,200.00 | $6,933.33 | $83,200 |
| $45.00/hr | $1,800 | $3,600.00 | $7,800.00 | $93,600 |
| $50.00/hr | $2,000 | $4,000.00 | $8,666.67 | $104,000 |
What an annual salary leaves out
Converting salary to an hourly rate compares two numbers that aren't measuring the same thing. A $60,000 salary with three weeks of paid time off is worth more per worked hour than the same salary with none — at 49 worked weeks, that $28.85 is really $30.61. Employer-paid health premiums, retirement match, and payroll taxes add roughly 20–30% on top of cash wages that never appears in either figure. Use the conversion for offer comparison, not for judging whether the job is worth it.
From the public test suite
assert salaryHourly($60,000/yr).biweekly == 2,307.69 ✓
assert salaryHourly($60,000, 50wk).hourly == 30.00 ✓
// 36 cases · 96 assertions · runs on every deploy — see all
Sources
Pure algebra — this tool needs no jurisdiction data. The formula and its public test cases are the source.
Built and maintained by Ethan Chen, independent developer. No credential is claimed that we don't have — what this page offers instead is a published formula and a public test suite.