Pick a start date and an end date, choose a workweek, and the calculator returns the number of business days between them along with total days and weekend days. Toggle "Include end date" when the closing date counts toward the span, for example a billing window or a notice period that ends on its last day. Optionally pick a country to subtract that calendar's public holidays in addition to weekends. The result is calendar math, not clock math, so a one-day window returns one or zero business days depending on the weekday and the holiday flag, never a fraction. To land on the Nth working day forward from a start, use the add business days calculator instead.
Common use cases
- Quoting a project lead time. A client signs on Monday 2026-04-27 and asks when the deliverable lands "in 10 working days." Set start to today, end to 2026-05-08, include the end date, and confirm the count is 10. Quote that Friday in the statement of work so the contract and the calendar agree.
- Estimating payroll periods. A semi-monthly payroll cycle pays for the working days inside each half-month. Enter the cycle start and cycle end, pick the country to remove public holidays, and read the business-day count straight off the result. The figure feeds straight into the hours-per-period field on the timesheet.
- Sizing a vacation request. A two-week trip from 2026-07-13 through 2026-07-26 looks like 14 days off. The calculator shows it costs only 10 business days against the leave balance, because both weekends inside the span are unpaid days the employer never owed.
- Checking a regulatory response window. A regulator gives 15 business days to file a response. Set the receipt date as start, iterate end dates until the count reaches 15, and confirm the Friday that lands. Reverse the inputs to read a negative count when the receipt date trails the deadline.
- Sanity-checking a contract clock. When a contract reads "within 30 days" without specifying calendar or business days, run both. The total-days row covers the calendar reading; the business-days row covers the working-day reading. The gap between the two is the negotiation room.
How it works
The calculator parses both dates as plain YYYY-MM-DD values, walks one day at a time from the earlier date to the later date, and counts each day that falls on a workday in the chosen workweek. The default workweek is Monday through Friday, and the count drops by one for each public holiday you opt into through the country picker. Saturdays, Sundays, and excluded holidays show up in the weekend-days and total-days rows so you can audit the math.
- Enter the start and end dates. Pick both dates in YYYY-MM-DD form. Either date can come first; the calculator handles reversed inputs by returning a negative count.
- Decide whether the end date counts. Leave "Include end date" off when the end is the morning the clock stops, like a deadline. Switch it on when the end date itself is a working day inside the span, like the last day of a billing period.
- Pick a workweek. Keep Monday through Friday for most jurisdictions. Switch to Sunday through Thursday for Saudi Arabia, Egypt, or other regions with a Friday weekend, or set a custom pattern for shift work.
- Choose a country for holidays. Selecting a country pulls that calendar from the date-holidays dataset and subtracts each public holiday that falls on a workday. Leave it blank to count weekends only.
- Read all three rows. Total days is the calendar span; business days is what survives after weekends and holidays; weekend days is the difference. Reconcile the three before pasting any of them into a contract.
Worked examples
Standard two-week working span
Enter start 2026-04-27 (Monday), end 2026-05-08 (Friday), include the end date, keep Monday through Friday, leave country blank.
Result: The calculator returns 10 business days across a 12-day total, with 2 weekend days.
Two full Monday-Friday weeks land 10 working days apart whenever no holidays sit inside the span. This is the baseline answer to compare every other example against.
Christmas week with US holidays excluded
Enter start 2026-12-22 (Tuesday), end 2026-12-31 (Thursday), include the end date, pick country United States.
Result: The calculator returns 7 business days. Without the country selected the figure would be 8; Christmas Day on Friday 2026-12-25 is the dropped working day.
New Year's Day 2027 sits outside the window, so only one US federal holiday lands inside this span.
A weekend-only span
Enter start 2026-04-25 (Saturday), end 2026-04-26 (Sunday), include the end date, default workweek.
Result: The calculator returns 0 business days, with 2 weekend days and 2 total days.
A two-day window can be entirely non-working. The same span on a Monday-Tuesday returns 2 business days; the difference is which weekday the start lands on.
Span containing a Monday holiday
Enter start 2026-01-12 (Monday), end 2026-01-23 (Friday), include the end date, pick country United States.
Result: The calculator returns 9 business days. Without the country selected the figure would be 10; Martin Luther King Jr. Day on Monday 2026-01-19 is the dropped working day.
A federal holiday that lands on a weekday inside the span trims the count by exactly one. A holiday that falls on a Saturday or Sunday already sits in the weekend-days row, so it never moves the business-day count.
Edge cases & gotchas
- The "include end date" toggle shifts the count by one. Turn the toggle off and the end date drops out of the walk; turn it on and it counts. For 2026-04-27 to 2026-05-08, the count is 10 with the toggle on and 9 with it off. Match the toggle to the contract: invoice periods usually include the closing date, while deadlines usually do not.
- Reversed inputs return a negative count. Entering 2026-05-08 as start and 2026-04-27 as end returns -10 business days, not zero and not an error. The sign signals direction, which is useful for an invoice that bills backward from a closing date. Swap the inputs to read a positive count.
- Holidays that land on a weekend. When a public holiday falls on a Saturday or Sunday, the date-holidays dataset still lists the actual date. Because the calculator subtracts holidays only when they land on a workday, a Saturday holiday already sits in the weekend-days row and does not change the business-day total. Many calendars then observe the holiday on the adjacent Friday or Monday; the dataset records that observed date separately when applicable.
- Same start and end date. With the toggle on and a weekday date, a one-day span returns 1 business day. With the toggle off it returns 0, because the only date in the span is the boundary that the toggle skips. A weekend date returns 0 either way.
Frequently asked questions about Business Days Between Dates
What counts as a business day?
In this calculator, any day inside the span that falls on a configured workday and is not in the chosen country's public holiday list. The default workweek is Monday through Friday. Switch the workweek picker for Friday-weekend regions or custom shift patterns.
Does it follow ISO 8601?
Dates are read as YYYY-MM-DD per ISO 8601, and the calculator runs in UTC so a date never shifts based on your time zone. ISO 8601 itself does not define "business day"; the workweek picker covers regional conventions like Monday-Friday or Sunday-Thursday.
How are public holidays sourced?
From the date-holidays npm package, which ships per-country lists for federal and equivalent national holidays. Selecting a country pulls every "public" holiday for the years your span covers and subtracts each one that lands on a workday.
Why does my count differ by one from another tool?
Almost always the "Include end date" toggle. A second source of disagreement is which holidays the other tool subtracts; some include bank holidays and observances, this one keeps to the public-holiday tier. For continuous wall-clock deadlines instead of working-day spans, the SLA deadline calculator is the tool you want.
Can I count working days that span a year boundary?
Yes. A span like 2026-12-22 to 2027-01-08 walks straight through the rollover and pulls holiday lists for both years. The result reconciles to the same total whether you compute it as a single span or as two halves.
How do I find the date that is N business days from today?
Use the dedicated add-business-days calculator for forward or backward stepping. This tool counts days inside a span you already know; that one builds the span when you only know the step count.
What about calendar days, not business days?
Read the "Total days" row of the result. For a clean calendar-day count without the workweek logic, the days between dates calculator is the simpler tool.
Glossary
- Business day
- A day inside the span that lands on a configured workday and is not in the chosen public-holiday list. Default workweek is Monday through Friday.
- Workweek
- The set of weekdays that count as working. Monday-Friday in most of the world, Sunday-Thursday in some Middle East regions, configurable here.
- Public holiday
- A nationally observed non-working day. The calculator uses the "public" tier of the date-holidays dataset; bank holidays and observances are not subtracted.
- Include end date
- A toggle that decides whether the end boundary counts in the walk. Off skips the boundary; on counts it.
- Total days
- The raw calendar-day count for the span, used as a cross-check. Equals business days plus weekend days plus excluded holidays.