Business Days Calculator
Calculate the number of working days (Monday-Friday) between two dates, excluding weekends — instantly, in your browser.
- Free — No signup required
- Instant — Results update as you type
- Private — Processed in your browser
Calendar days and working days are different currencies, and plans quietly go wrong when someone converts between them by eye. "Ten days" spanning two weekends is six working days. The tool above counts the weekdays between two dates so you do not have to.
How it works
Pick a start date and an end date. The tool walks the range one day at a time and reports three figures: the number of business days, the number of weekend days, and the total days in the range.
Two behaviours are worth stating explicitly, because they are the ones that catch people out:
- Both endpoints are counted. Monday to Friday of the same week is five business days, not four. This matches how a delivery window or a notice period is normally read — "five working days from Monday" ends on Friday.
- Order does not matter. If you enter the end date before the start date, the tool swaps them and reports the same positive counts rather than a negative number.
Dates are parsed as local midnight, not UTC, so a range never shifts by a day depending on which side of the international date line your machine is on. That off-by-one is the single most common bug in home-grown date arithmetic, and avoiding it is the reason the parsing is deliberately strict about the YYYY-MM-DD format the date picker produces.
What it does not know
Public holidays. The tool counts Saturdays and Sundays as non-working and everything else as working. It has no holiday calendar, and deliberately so: holidays are national, regional and sometimes company-specific, and a built-in list that is wrong for your country is worse than no list. Subtract your own holidays from the result — if three of the weekdays in the range are public holidays where the work is happening, the working-day count is three lower.
Non-standard weeks. Friday–Saturday weekends, four-day weeks and shift patterns are all common and none of them are modelled here. If your week is not Monday–Friday, use the total days figure and apply your own ratio.
Part days and time zones. The unit is a whole calendar day in your local time zone. A cross-border SLA measured in business hours needs an hours-based calculation against the recipient's zone, which is a genuinely harder problem.
Where the number gets used
Business-day counts sit under most scheduling and contractual arithmetic: notice periods, payment terms, SLA response windows, regulatory filing deadlines and sprint capacity. Getting from a working-day estimate to a calendar date on a plan — and back again — is exactly the conversion that makes a schedule slip before any work has gone wrong. Schedule management covers durations, dependencies, lag and the critical path, and estimation and planning explains why estimates given in ideal working days need an explicit factor before they become dates anyone should commit to.
In code, resist writing this loop yourself. Modern date libraries model the distinction properly — java.time has LocalDate, DayOfWeek and TemporalAdjusters.next(...), and every mainstream language has an equivalent — and they already handle leap years, month lengths and daylight-saving transitions. Optional and the date-time API walks through the types and when to reach for each.
For the plain calendar-day difference without the weekday filter, the days between dates tool is the right one — note that it measures the interval and so reports one day fewer than this tool over the same range. To label a date by its ISO week, use the week number tool.
FAQ
- Does this exclude public holidays?
- No — it excludes weekends (Saturday and Sunday) only. Public holidays vary by country, so subtract any known holidays from the result manually.
- Are the start and end dates both counted?
- Yes — the count is inclusive of both the start and end date.
- Is my data uploaded anywhere?
- No. The calculation happens entirely in your browser.