About Hours Calculator Online
Hours Calculator Online is built and maintained by beFortunate, a company based in the Netherlands that builds focused, practical online tools. It is a set of free time and payroll-arithmetic calculators that run entirely in your browser, paid for by advertising, with no accounts and no data collection. Reach us at [email protected].
Who runs this site
The operator is beFortunate (befortunate.nl), a company based in the Netherlands that builds focused, practical online tools. We build and run focused web tools rather than one large product, and this site is one of them. The same studio also operates Margin Calculator Online for profit margin and markup work and Grading Calculator Online for grades and weighted averages. They share this site's approach: a single job done properly, no sign-up, nothing to install.
We are deliberately small. That has a practical consequence worth stating up front, since it shapes what you can expect from us: there is no support department, no phone line and no live chat. Everything reaches the same mailbox and is read by the people who wrote the code.
Why this site exists
Working out hours worked is simple arithmetic that is unusually easy to get wrong. Clock time is base 60, pay is base 10, and the conversion between them trips up people who are perfectly comfortable with numbers. A shift of 7 hours and 45 minutes is 7.75 hours, not 7.45 — and that one slip is a 20-minute error in a single day, repeated across a timesheet.
Overnight shifts add a second trap. Subtracting a 10 PM start from a 6 AM end gives a negative number, which a spreadsheet will happily display. Breaks add a third: whether a lunch is deducted, and from which total, changes the answer. We wanted a tool that handled all three correctly by default and showed its working, instead of a form that returns a number you have no way to check.
The site grew into a small family of calculators around that core: a single-shift hours calculator, a weekly time card and timesheet, a two-way decimal hours converter, a duration tool, an add-and-subtract-time tool, and an overtime calculator that splits a week into regular and overtime hours without counting any hour twice.
How the calculations are built and tested
All the arithmetic lives in one module of pure functions: values go in, values come out, and nothing touches the page or the network. Keeping that code isolated is what makes it possible to test properly, and we treat the arithmetic as the part of this site that is not allowed to be wrong.
Three decisions do most of the work:
- Integer minutes throughout. Times are parsed to whole minutes and every operation is integer minute arithmetic. Decimal hours appear only at the final step, rounded to two places. There is no accumulated floating-point drift because there are no intermediate decimals to drift.
- Errors instead of guesses. When an input cannot be read, or a break is longer than the shift it belongs to, the calculator says so and names the field. It does not substitute a plausible value or display a negative shift.
- Explicit rules, written down. Every formula, parsing rule and rounding decision is documented on the how it works page, so you can reproduce any result by hand.
That module is covered by 50 automated unit tests written with Node's built-in test runner. They run on every change, and a failure stops the change. The tests cover each accepted time format and the inputs that must be rejected, midnight crossover in both directions, breaks equal to and exceeding the shift, the decimal rounding boundaries, the daily-then-weekly overtime split with each threshold enabled and disabled, gross pay at several multipliers, and the CSV export including awkward characters in day labels.
Editorial method
The written guides are held to the same standard as the code. Each one uses figures you can verify yourself, and where a rule depends on jurisdiction we say that plainly rather than presenting one country's thresholds as universal. Our overtime rules guide is the clearest example: it explains how daily and weekly thresholds interact, and is explicit that the numbers that apply to you come from your own law, contract or collective agreement.
Pages carry a review date, not a vague freshness claim. When we revise a page, the date changes and the change is real. When we have not revisited a page, the date stays where it is — a stale date is more honest than a refreshed one that signals work nobody did. Everything currently on the site was last reviewed 1 November 2026.
Corrections are genuinely welcome, and a reproducible one is a gift. If a calculator returns a figure you believe is wrong, send the exact inputs along with the result you expected, and we can turn it into a test case. Bugs found that way get fixed and then stay fixed, because the test remains in the suite afterwards. The contact page sets out what to include.
Our privacy stance
Nothing you type leaves your browser. There is no backend, no database and no server-side processing of any kind — the whole site is static HTML, CSS and vanilla JavaScript served by nginx from a container in the Netherlands. Your start and end times, break lengths and hourly rates are calculated on your own device and are never transmitted, logged or stored by us. The web server keeps no access log.
Local storage is used for exactly two things, and by the site itself rather than by a third party: your 12-hour or 24-hour clock preference, and the contents of the weekly time card and timesheet grids so that a reload does not cost you the week you just typed. That data stays on your device and clearing site data removes it. The writes are wrapped in error handling so private browsing mode does not break anything.
Shareable result links encode your inputs in the URL query string. That link is assembled locally and goes nowhere unless you choose to share it. The privacy policy and cookie policy go through all of this in detail, including the one third party involved.
How the site is funded
Advertising, through Google AdSense. That is the entire business model. There is no paywall, no premium tier, no subscription and no feature held back for paying users — every calculator is complete and free for everyone, and we have no plans to change that.
Google AdSense, together with Google's own consent management, is the only third-party code loaded on the site. Google and its advertising partners may set cookies and read device identifiers to serve and measure ads; before you give consent, non-personalised ads are served. You can change your choice at any time with the Cookie settings button in the footer. No analytics product is installed at launch.
We do not sell personal data. We could not sell your calculator inputs if we wanted to, because we never receive them. There is also an ad-free embeddable version of the hours calculator at /embed/ that other sites can place in an iframe, which carries no advertising at all.
What this site is not
This is an arithmetic tool. It adds, subtracts and converts time, and applies thresholds that you supply. It is not legal, payroll, tax or employment advice, and it is not a substitute for advice from a qualified professional or from your payroll department.
The calculators do not know your jurisdiction, your contract, your collective agreement or your employer's rounding policy. They do not know whether a particular break is paid or unpaid where you work, which overtime threshold applies to your role, how your employer treats on-call time, or what deductions come out of your gross pay. Pay figures are gross: no tax, no social contributions, nothing withheld. Where a worked example uses a 40-hour week or a 1.5× multiplier, that is an illustration, not a statement about your entitlement. The disclaimer covers the limits in full, and the terms of use set out the conditions for using the site.
If money or a legal right turns on the answer, treat the output as a cross-check on someone else's figure rather than the final word. That is what we use it for ourselves.
Getting in touch
Email [email protected] for anything: a calculation error, a feature request, a question about embedding the widget, a press or link enquiry, or an advertising and privacy question. Contact is by email only. We aim to reply within a few business days, which is an honest estimate from a small team rather than a service commitment. There is no account support, for the simple reason that there are no accounts.