- Employee:
- —
- Employer:
- —
- Period:
- —
- Rate:
- —
- Printed:
- —
| Day | Start 1 | End 1 | Start 2 | End 2 | Start 3 | End 3 | Break | Hours | Pay | Notes |
|---|---|---|---|---|---|---|---|---|---|---|
| Day | Start 1 | End 1 | Start 2 | End 2 | Start 3 | End 3 | Break | Hours | Pay | Notes |
|---|---|---|---|---|---|---|---|---|---|---|
TimeWorked adds up your work hours, deducts unpaid breaks, applies daily and weekly overtime, and turns the result into pay — in your browser, with no account and no data leaving your device. Enter times however you like (9, 9:30, 930, 9:30 am, 1730) and everything recalculates as you type.
Entries live in your browser's local storage. There is no server, no account and no sync — so there is nothing to leak.
Up to three in/out pairs a day, plus an unpaid break in minutes. Overnight shifts that cross midnight are handled automatically.
Set a daily threshold, a weekly threshold, or both. Hours are never counted as overtime twice.
Round shifts to the nearest 5, 6, 10, 15 or 30 minutes — up, down or nearest — to match how your employer runs payroll.
Download a CSV for payroll or a JSON backup you can restore on another device — the round trip actually works.
Printing produces a clean sheet with your name, employer, pay period, totals and signature lines.
9, 9:30, 930, 0930, 9:30am, 1730. Values snap to HH:MM when you leave the cell; anything unrecognised turns red instead of silently counting as zero.Each in/out pair becomes a duration in minutes. If the end time is earlier than the start time the shift is treated as crossing midnight, so 22:00 → 06:00 is eight hours rather than a negative number. Durations are rounded individually if you have set a rounding rule, then summed, then the unpaid break is subtracted.
Overtime is applied in two passes. First, any hours above your daily threshold on a given day become overtime. Whatever remains counts as regular hours; if the week's regular hours then exceed your weekly threshold, the excess becomes overtime too — attributed to the latest days of the week. This ordering means an hour is never paid at the overtime rate twice, which is the mistake most spreadsheet timesheets make.
Gross pay is regular hours × rate + overtime hours × rate × multiplier. It is pay before tax, and it does not model double-time, shift differentials or statutory holiday premiums.
Overtime rules vary. US federal law (the FLSA) requires 1.5× after 40 hours in a week, with no daily requirement; some states — California among them — add daily thresholds and double-time. Other countries differ again. Set the thresholds to match your own contract or jurisdiction, and treat the result as an estimate, not legal or payroll advice.
localStorage, on the device you typed it on.Every tool runs in your browser, needs no account, and is free.
One day, clocked in and out up to three times.
Duration between two clock times, including overnight.
Split hours into regular, overtime and double time.
Convert an hourly rate to annual pay and back.
Turn an accrual rate into days and a year-end balance.
Add durations together or shift a clock time.
Convert 12-hour and 24-hour time, with the full chart.
The 0–59 minute payroll conversion chart.
Weekly, biweekly and monthly sheets to print or export.
How hours actually turn into pay — overtime rules, the regular rate, rounding, breaks and pay periods. Each guide cites its sources and carries a review date.
Federal rules plus the states that add daily or lower thresholds.
Why overtime is rarely just 1.5× your hourly wage.
When rounding punches is lawful and when it is not.
Which breaks are paid, and which states require them.
Weekly, biweekly, semi-monthly and the 27-paycheck year.
Where 2,080 comes from, and the months that break it.
Yes. There is no paid tier, no trial and no feature held back. The site carries advertising; the calculator itself is unrestricted.
Yes, by moving the file yourself. Choose Export → Full backup (JSON), copy the file to the other device, and use Import. The backup carries your settings as well as your entries, and importing can be undone.
24-hour (14:30, 1430), 12-hour (2:30 PM, 230p, 2.30pm), bare hours (9 means 09:00) and the words noon and midnight. 24:00 is accepted as end-of-day. Entries are normalised to HH:MM when you leave the cell.
Just enter it. When the end time is earlier than the start time the shift is assumed to cross midnight, so 22:00 to 06:00 counts as 8 hours. The whole shift is credited to the day it started on.
Daily overtime first, then weekly. Hours above the daily threshold on a day become overtime; the remaining regular hours are then tested against the weekly threshold, and any excess becomes overtime as well. Nothing is counted twice. Set either threshold to 0 to switch it off.
Yes. Enter break minutes per day in the Break column, or set a default that applies to every worked day. Breaks are deducted after rounding and never take a day below zero hours.
Almost always rounding. Many payroll systems round each punch to the nearest quarter hour, or round the daily total to the nearest tenth of an hour. Set Round shifts to under More settings to match, and the totals should line up.
Yes. After your first visit the page is cached, so it opens without a connection and keeps calculating and saving normally.
No — it is gross pay, before income tax, national insurance, superannuation, benefit deductions or any other withholding.