Workback Schedule Builder
Set the deadline, paste the tasks. We count backwards in business days and tell you if you are already late.
One task per line: name, business days, owner (optional). Paste straight from Excel, or drop a CSV below.
Rows are treated as one serial chain: each task starts after the row above it finishes, and the last row lands on the deadline. Parallel tracks and dependency columns are not handled.
First rows and column mapping
More options
The day the team could realistically pick this up. Defaults to today — that is what "already late" is measured against.
Custom holidays
Add a company or local holiday that isn't in the preset. Weekends and duplicates are ignored.
Public holidays only — regional holidays, company shutdowns and paid leave aren't included. Your task list is parsed and scheduled inside your browser and is never uploaded.
Frequently asked questions
What is a workback schedule, and how is it different from a normal schedule?
A normal schedule starts today and asks "when will we finish?". A workback schedule — also called a reverse or backwards schedule — starts from a deadline that cannot move and counts backwards to answer the question you actually have: "what is the latest we can start?". That is the everyday situation when a launch, bid submission, event or audit date is already fixed. Unlike a template you fill in by hand, this reverse schedule calculator counts the whole chain backwards in business days, so weekends and public holidays can't quietly eat your buffer.
Business days or calendar days — what do I put in the duration column?
Business days: working days only. Enter 3 for a task that needs three working days, and the tool spreads it across the calendar for you, skipping weekends and your country's public holidays. A 3-day task finishing on a Monday therefore starts on the previous Thursday, not on the Saturday. Durations are inclusive, so 1 business day means the task starts and finishes on the same day. Fractions such as 0.5 are rounded up to a whole day and listed separately so you can see exactly what was changed.
Which public holidays are included, and can I add our own days off?
13 country presets are built in: the United States, United Kingdom, Canada, Australia, Germany, France, Spain, Brazil, Mexico, India, Russia, Japan and South Korea. The preset is picked from your browser region and you can change it at any time; if you pick "Weekends only", no holiday table is applied. Regional and state holidays, company shutdowns and one-off government holidays are deliberately not in the table — open "More options" and add them under Custom holidays, and the backwards schedule from deadline will skip them exactly like a public holiday. Korean Seollal and Chuseok follow the lunar calendar, so they come from a fixed table covering 2025–2027 that is refreshed once a year.
The start date came out in the past — what do I cut?
That verdict is the point of the tool: it is telling you, before you commit, that the plan does not fit the deadline. The schedule is still calculated in full so you can see how far off you are. From there you have four levers: cut scope by dropping or merging rows; parallelize by taking work out of the chain and running it alongside (this tool assumes one serial chain, so parallel work should not be its own row); compress individual durations by adding people or shortening reviews; or negotiate the deadline. The "already N business days late" number is what to bring to that conversation.
Is my schedule sent to a server?
No. The parsing, the holiday tables and the backwards calculation all run in your browser, and your task list is never stored — reload the page and it is gone. Don't take our word for it: open your browser's developer tools, go to the Network tab, then paste your tasks and build the schedule. You will see the page's own files load once and then nothing at all — no request carries your data. You can even switch off your network connection and the tool keeps working. Only your country, weekend and column-mapping preferences are kept, in your browser's local storage.