Hours Calculator
Work out the hours between a start and end time (minus breaks), or paste a whole time card and have the week read for you - with pay, overtime, and both h:mm and decimal hours.
- Free, no account
- No watermark
- No usage limit
About the Hours Calculator
The hours between 9 and 5 is the easy part. Anyone can do that in their head. What actually costs people money is the step right after: writing those hours down in the shape payroll wants, and totaling a real week where a lunch break, an overnight shift, and a rounding rule all stack up.
That's what this calculator does. Type a start and an end time and it hands back the gap three ways at once, as 8h 30m, as the clock-style 8:30, and as 8.5 decimal hours, since the same length of time gets written all three ways depending on who's asking. Knock off a break, then add your pay rate and it turns the hours into dollars, overtime included. Switch to weekly mode and it stacks seven days into one running total, the one piece nearly every free hours calculator leaves you to add up by hand. It all runs on your device, so the times and pay rates you type never leave your browser.
And in weekly mode you don't have to fill the grid at all. Paste the time card the way it was already written, as Mon 8:15-4:45 30 lunch, Tue 9-5, 45 min break or Wed 8:30am to 5pm, and it reads the shifts straight off the lines. That's the part every other timesheet calculator makes you do by hand, twenty-one boxes at a time, from a paper card or an email thread that already says it perfectly well.
How to use
- Pick a mode. Hours between times for one gap, Weekly time card for a full week, Add / subtract time to shift a time forward or back.
- Set your start and end time. Use the picker, type it, or hit Now. The answer appears once both times are valid.
- Drop in a break as whole minutes (30 for a half-hour lunch), or leave it blank for the full span.
- Read the result three ways. Hours and minutes up top, then the same duration as a clock time, decimal hours for payroll, and raw minutes.
- Build a week, either way round. Fill a start, end, and break per day worked, and each day totals live and the week updates as you go, days off stay empty. Or hit Paste a whole week, drop in the card as it was written, one day per line, and let it read them for you.
- Add pay by ticking Add pay and entering your rate. The weekly card can also pay overtime past a threshold (40 hours) at a multiplier like 1.5.
- Set rounding if your workplace rounds to the nearest quarter-hour or tenth. Otherwise leave it exact.
Times past midnight are fine, an end earlier than the start reads as an overnight shift and the tool adds a day, with a note so you know. Your last entry stays on your device, and Share hands you a link with your exact setup baked in.
Pasting a week instead of typing one
A week is twenty-one boxes: seven starts, seven ends, seven breaks. Filling them by hand from a card that already says the same thing is the actual work of a Friday afternoon, and it is where transcription mistakes come from.
So paste the card instead. It reads a day per line, in the shapes people really write:
Mon 8:15-4:45 30 lunch
Tue 9-5, 45 min break
Wed 8:30am to 5pm
Thu 07:00-15:30
Fri 9-1
Day names are optional, and without them the lines fill from Monday. Times work with or without am/pm, with a colon or a dot or neither, and in 24-hour form. Breaks are picked up from 30 lunch, 45 min break, 1 hr lunch, unpaid 30 and similar. Dashes, en dashes, to, until and thru all separate a pair.
And when a line can't be read, it says so instead of guessing. This feeds payroll, so a parser that quietly approximates is worse than no parser at all, because the total still looks plausible and nobody checks it. Every line it couldn't read comes back listed by its line number with the reason. Three cases it deliberately refuses rather than half-reads:
A split shift, like Mon 8-12, 1-5. That is two separate in/out pairs, and the card holds one start and one end per day. Reading the first pair and dropping the second would silently halve the day, so it flags it and leaves you to enter the outer times with the gap as a break.
Two shifts on one day. The second does not overwrite the first, and both are reported.
More than seven days. It's a one-week card and it says so rather than dropping the overflow.
The one assumption it does make is the sensible one: 8-4 means 8am to 4pm. A bare end time earlier than the start is re-read as an afternoon time, because that's what a paper card means. A 24-hour time like 22:00-06:00 is left exactly as written and treated as the overnight shift it is.
Check the grid before you trust the total. Everything lands in the same editable boxes, so a misread is a two-second fix. But it is your eyes on the numbers that make them right, not the parser's.
Why 8.30 is not eight and a half hours
Clock time and decimal time look almost identical and mean completely different things, and confusing the two is the mistake that shows up in paychecks and nobody catches.
You worked eight hours and thirty minutes. On a schedule that's 8:30. On a payroll timesheet it's 8.5, because the digits after the point are hundredths of an hour, so half an hour is 0.5 and never 0.30. Type 8.30 into a decimal field meaning eight hours and thirty minutes and the system reads eight-point-three hours, which comes to eight hours and eighteen minutes, so twelve minutes of your time goes missing on that one line. Do it every shift and that's real money leaving in the wrong direction.
The conversion is nothing, decimal hours are just the minutes divided by 60, so a half hour is 0.5 and a third of one (twenty minutes) is the ugly 0.333. Nobody wants to run that five times before lunch, so the tool prints h:mm and decimal side by side and you read off whichever the form wants. Decimal exists for one reason: pay is a multiplication and a colon isn't a number, you can't multiply 8:30 by your rate.
The weekly total, which is the real question
Most timesheet questions are really about the whole week, several days each with their own start, end, and break, sometimes a night shift buried in the middle. That's exactly where doing it by hand comes apart, because you're carrying minutes from one day into the next and a single slip throws the whole figure.
Weekly mode is built for that. One row per day, Sunday through Saturday, with a live running total in both h:mm and decimal and each day's break handled on its own. A day that crosses midnight totals correctly next to the day shifts, no negative numbers to untangle. When you're done, one button copies a clean plain-text breakdown of every day plus the total, ready to paste into an email or your timesheet. This is the part a plain start-to-end calculator can't give you, and the reason to keep this one over the dozen that only measure a single gap.
Paid or unpaid is up to your workplace. The tool only subtracts the breaks you enter, so you choose which ones come out.
Rounding, overtime, and the midnight rollover
Rounding. Real durations rarely land on clean numbers, so plenty of timesheets round. The most common is the nearest quarter-hour, known as the "7-minute rule": the first seven minutes past a quarter mark fall back to it, and from eight onwards you get the next one. Legal and consulting billing rounds to the nearest tenth, six-minute blocks. Pick your policy and the tool applies it before totaling. One warning: rounding is meant to be fair over time, not tilted one way. A policy that shaves time off both ends of every shift lands consistently in the employer's favor, and those get challenged.
Overtime. The weekly card pays overtime past a threshold. US non-exempt hourly workers are generally owed at least time-and-a-half beyond 40 hours a week under the federal Fair Labor Standards Act, so the tool defaults to 40 hours at 1.5x and lets you change both. Log 46 hours at $20 and the first 40 pay at $20, the extra 6 at $30, for $980 gross. Some states add daily overtime rules, so treat it as an estimate and check your local policy. The U.S. Department of Labor's overtime page is the official word.
The midnight rollover. A 10 PM to 6 AM shift breaks naive subtraction, 6 minus 22 is minus 16, when the clock really ran forward 8 hours. When the end reads earlier than the start, the tool sees the shift wrapped past midnight, adds a full day, and returns the 8. Nurses on a 7-to-7, a bartender closing at 2 AM, every night shift goes negative without it. The same logic runs in add/subtract mode, so five hours onto a 10 PM start lands at 3 AM the next day.
Frequently asked questions
Why is my Excel total off when I paste in times?
Excel and Google Sheets store a time as a fraction of a day, not a count of hours. A cell showing 8:30 is really holding 0.354, about a third of a 24-hour day. Add a column of those, format the sum as a plain number, and you get a fraction instead of the hours you expected, a week of real shifts that reads as 1.5. The fix is to multiply the total by 24. Or copy the decimal figures straight out of this tool, where that step is already done, and paste those.
Can I use this for freelance or legal billing to the tenth?
Yes, that's what the six-minute rounding option is for. Consultants and lawyers usually bill in tenths of an hour, so a 15-minute call is 0.25 and a 20-minute one rounds to the nearest 0.1. Set rounding to the nearest 6 minutes, enter your rate, and the pay line multiplies it out. Getting that 15-versus-20-minute call right is the difference between billing accurately and undercharging without realizing it.
Does daylight saving throw the number off?
For an ordinary day, no, it works purely from the clock times you type and never touches time zones or dates. The exception is the two days a year the clocks change, a "spring forward" morning is really 23 hours long and a "fall back" one 25, so a shift crossing that exact changeover comes out an hour off the raw clock difference. Rare, tied to a specific date, worth knowing if you work that night.
Why does my payroll system split an overnight shift across two dates?
Because it genuinely spans two calendar dates. This tool gives you the clean total duration, but if your payroll software books hours by the day, part of a night shift lands on one date and part on the next, which can matter where daily overtime thresholds apply. The duration shown here is correct either way, and it is your payroll policy that decides how those hours get split across the two dates.
Should I use this or a date calculator?
Use this when the answer is in hours and minutes, a shift inside a day or across one midnight, or a week of them summed. Reach for a date tool when the answer is whole calendar days. For working days to a deadline use the Business Days Calculator. For a plain gap between two dates, the Date Difference Calculator. Same family of question, completely different arithmetic underneath. And since it all runs in your browser with nothing uploaded, it's fine for quietly checking your paycheck against the hours you know you worked.