The basics: what are working hours per month?
To calculate the working hours for a whole month, a look at the contract is often enough. It usually states the weekly working time. But because a month almost never has exactly four weeks, an average value is used for the calculation. A year has 52 weeks, and dividing these by twelve months gives 4.35 weeks per month.
So the simple formula is:
[contractual weekly hours] x 4.35 h = [working hours per month]
Another approach uses a factor of 4.3, which rests on the same basis. What matters is always to distinguish between the contractually agreed working time (the target hours) and the actual working time. The actual time can deviate from the contractual target hours because of illness, vacation or overtime.
The legal framework in Germany
When it comes to working time, Germany has clear rules that apply to everyone. They are set out in the German Working Hours Act (Arbeitszeitgesetz, ArbZG). Normally, no more than eight hours a day may be worked. Extending this to ten hours is only permitted if the average across six months comes back to eight hours a day – spread over six working days per week.
In addition, clear breaks must be observed: anyone working more than six hours must take a 30-minute break. For more than nine hours it is even 45 minutes. After the end of the shift, the law also prescribes a rest period of at least eleven hours before work may be taken up again the next day.
The concrete figures at a glance
To help you picture the monthly working time for different models, a simple overview helps. The exact average of 4.35 weeks is used here:
| Working model | Hours per week | Working hours per month |
|---|---|---|
| Full-time | 40 hours | 174 hours |
| Full-time | 35 hours | 152.25 hours |
| Part-time | 20 hours | 87 hours |
| Casual worker | 10 hours | 43.5 |
Variation caused by public holidays
The number of real working days in a month depends heavily on the calendar. One major reason for the variation is public holidays, which are spread very differently across the regions of Germany.
Depending on where you work, the actual monthly working time differs considerably. You can find an overview of public holidays by federal state here. These days off also have a noticeable economic impact, because each day off costs the economy up to two billion euros.
A worked example: May 2026 in North Rhine-Westphalia
| Full-time 40 h | Part-time 20 h | |
|---|---|---|
| Calendar days May 2026 | 31 | 31 |
| Saturdays/Sundays | 5/5 | 5/5 |
| Public holidays (on working days) | 3 | 3 |
| Actual working days | 18 | 18 |
| Hours per day | 8h | 8h |
| Actual working hours per month | 144h | 72h |
| Average value (4.35 formula) | 174h | 87h |
| Difference from the average | - 30h | - 15h |
With 3 public holidays falling on working days, May 2026 is a particularly “short” month in North Rhine-Westphalia – the difference of 30 hours hours from the calculated average is considerable. That is almost a whole working week less.
Why this matters in practice: payroll and overtime
Accurate day-to-day recording of hours is essential. It makes sure that salaries are correct, that premium pay is calculated properly and that the minimum wage is observed. When people work longer, overtime builds up. The law says quite clearly that this overtime must be paid separately or balanced out with time off. Following a ruling by the Federal Labour Court (Bundesarbeitsgericht), precise daily recording of working time is now a firm obligation for everyone.
Conclusion and easy time tracking with clockin
Anyone who keeps an eye on their own working hours protects themselves against unpaid overtime and makes sure that break and rest periods are observed. In practice, though, this is still often done with slips of paper, Excel spreadsheets or from memory. And that is exactly where mistakes creep in.
clockin solves this problem simply: clocking in by phone, break recording to the minute, finished timesheets at the end of the month – automatically and in line with the law. No lost minutes, no paperwork.
.png)
.avif)


.avif)
.avif)