Pay period calendar
Choose a year and a pay frequency, and get every pay period of that year with its pay date. It builds a weekly, biweekly, semimonthly or monthly pay schedule you can print.
This tool builds weekly, biweekly, semimonthly or monthly pay-period dates for one calendar year. It does not account for public holidays, banking closures, or payday law.
Fill in the fields to see a result.
Build the calendar and pick a period to carry its dates into the generator.
How each frequency is counted
Weekly and biweekly schedules start where you tell them to. You give the date the first period begins inside the year you picked, each period then runs seven or fourteen calendar days, and a new period is listed for as long as its start date still falls in that year. A weekly year comes to 52 or 53 periods and a biweekly year to 26 or 27, and the last one usually ends in January of the following year.
Semimonthly is always 24 periods: the 1st to the 15th, then the 16th to the last day of the month. The second half runs 13, 14, 15 or 16 days depending on the month, which is what makes it different from paying every fifteen days. That version drifts by about a day a month and finishes the year in the wrong place.
Monthly is always 12 periods, the first to the last calendar day of each month. February is given 28 or 29 days, and leap years are worked out properly: 2000 is one, 2100 is not.
The pay date is the period end plus however many days you choose, from none up to 31. It can fall in the following month or the following year. The period itself stays in the year you asked for, and its start and end dates never move.
A semimonthly year, worked through
These are the first six of the 24 semimonthly periods of 2026, paid on the day each period ends, with any payday landing on a weekend moved to the next weekday. Nothing had to load for this table: it is the same schedule the tool above produces, rendered with the page.
| # | Period start | Period end | Before weekend rule | Pay date |
|---|---|---|---|---|
| 1 | Jan 01, 2026 | Jan 15, 2026 | Jan 15, 2026 | Jan 15, 2026 |
| 2 | Jan 16, 2026 | Jan 31, 2026 | Jan 31, 2026 | Feb 02, 2026 |
| 3 | Feb 01, 2026 | Feb 15, 2026 | Feb 15, 2026 | Feb 16, 2026 |
| 4 | Feb 16, 2026 | Feb 28, 2026 | Feb 28, 2026 | Mar 02, 2026 |
| 5 | Mar 01, 2026 | Mar 15, 2026 | Mar 15, 2026 | Mar 16, 2026 |
| 6 | Mar 16, 2026 | Mar 31, 2026 | Mar 31, 2026 | Mar 31, 2026 |
Four of these six moved. 31 January and 28 February 2026 are Saturdays and 15 February and 15 March are Sundays, so each of those pay dates went to the Monday after. The other two fall on weekdays and stayed where they were.
How the figures are worked out
Every date is worked out on the Gregorian calendar in UTC, from the year, the frequency and the two settings you choose. Your device's clock and time zone are never read, so the same inputs give the same dates whether the page is open in Los Angeles or in Tokyo, and a daylight-saving change has nothing to shift.
A period belongs to the year its start date falls in. That is why a weekly or biweekly schedule keeps its final period even though the period ends in January of the next year: cutting it short would invent a shorter period nobody is paid for.
The weekend rule looks at one thing, whether the pay date is a Saturday or a Sunday. Previous weekday sends it back to the Friday before, next weekday forward to the Monday after. A pay date on any other day is left exactly where it is, and the period dates are never touched.
What this tool leaves out
- It knows no public holidays. A pay date this calendar leaves on a Thursday may be a holiday where you are, and the page will not say so.
- It knows no bank closures. When money actually arrives depends on your employer, your bank and the clearing calendar, and none of those are here.
- It is not a payday-law check. How soon after a period ends someone has to be paid is set by state law, an employment contract or a collective agreement, and this page applies none of them.
- It moves the pay date only, and only when that date is a Saturday or a Sunday. A holiday that falls on a weekend gets no treatment of its own.
- It covers one calendar year at a time, from 2000 to 2100, on the Gregorian calendar.
- It calculates no pay. There is no amount, rate, hour count or tax figure anywhere in this tool.
Sources
Sources last reviewed Aug 18, 2026.
- IRS — Publication 15 (Circular E), Employer's Tax GuideSection 8, Payroll Period: the span of time wages are paid for.
- IRS — Publication 15-T, Federal Income Tax Withholding MethodsNames the weekly, biweekly, semimonthly and monthly payroll periods this tool offers.
- Federal Reserve — Holidays Observed (K.8)A real observed-holiday calendar, with its own weekend conventions. This tool applies none of it.
Common questions
How many pay periods are there in a year?
Weekly pay gives 52 or 53 periods, biweekly 26 or 27, semimonthly exactly 24 and monthly exactly 12. The first two vary because a year is not a whole number of weeks, so where your first period starts decides whether the extra one appears.
Is biweekly the same as semimonthly?
No. Biweekly is every fourteen days, so it keeps landing on the same weekday and gives 26 or 27 periods a year. Semimonthly is the 1st to the 15th and the 16th to the last day of the month, so it keeps landing on the same dates and always gives 24. That is two or three paydays of difference over a year.
What happens when a payday falls on a weekend?
That is your employer's arrangement, not a rule this page knows. Many pay on the Friday before and some on the Monday after. Pick whichever matches your own arrangement and the calendar applies it to every pay date it affects.
Does this account for public holidays?
No. The calendar looks at Saturdays and Sundays and nothing else. It carries no holiday list for any country, and it cannot tell you when a bank will release the money.
Does this tell me when I have to be paid by?
No. Payment timing comes from state law, an employment contract or a collective agreement, and none of them are in this tool. Use it to lay out dates you already know, and check the requirement itself with whoever sets it.