Calculate holiday entitlement for partial years or leaving early.
Enter the total days allowed for a full year (e.g., 28 days for UK statutory).
The date you started work, or the start of the holiday year.
The date you leave, or the end of the holiday year.
Your Pro Rata Entitlement
0 Days
Pro Rata Holiday Calculator Online: A Complete Guide
Understanding your holiday entitlement when you start or leave a job part-way through the year can be confusing. The term "pro rata" simply means "in proportion." If you work for only a portion of the year, your holiday allowance is calculated proportionately to the time you have been employed.
Our Pro Rata Holiday Calculator Online tool helps employees and employers accurately determine the number of days owed based on the specific dates of employment within a holiday year.
How Pro Rata Holiday is Calculated
The calculation is based on the accrual system. As you work, you "accrue" (build up) holiday days. The standard formula used by most HR departments and this calculator is:
Formula: (Days Employed ÷ Days in Year) × Full Annual Entitlement
Example Calculation
Imagine an employee with a full annual entitlement of 28 days:
Start Date: January 1st
Leave Date: July 1st
Days Employed: 182 days
Calculation: (182 / 365) × 28 = 13.96 days
Most employers will round this up to the nearest half-day, resulting in 14 days of holiday entitlement.
Key Considerations
Statutory Minimums: In the UK, the statutory minimum is 5.6 weeks (28 days for a 5-day week). Check your contract as some employers offer more.
Rounding: Legal requirements usually state you cannot round down the statutory entitlement, though rounding to the nearest half or full day is common practice for simplicity.
When to Use This Calculator
New Starters: Calculating allowance from your start date to the end of the company's holiday year.
Leavers: Determining how much holiday you accrued before your final working day.
Contractors: Calculating entitlement for fixed-term contracts.
Frequently Asked Questions
Does this include bank holidays?
It depends on your contract. In the UK, the statutory 28 days can include bank holidays. If your input for "Full Annual Entitlement" includes bank holidays, the result will also include them pro rata.
What happens if I have taken more holiday than calculated?
If you leave a job and have taken more days than you have accrued (pro rata), your employer may deduct the value of the extra days taken from your final pay packet.
Is the divider always 365?
Generally, yes. However, during a leap year (which has 366 days), the calculation might be adjusted slightly, though the difference is usually negligible (fractions of a day).
function calculateHoliday() {
var entitlementInput = document.getElementById("annualEntitlement").value;
var startDateInput = document.getElementById("startDate").value;
var endDateInput = document.getElementById("endDate").value;
var resultBox = document.getElementById("resultBox");
var resultValue = document.getElementById("resultValue");
var resultDetails = document.getElementById("resultDetails");
// Validation
if (!entitlementInput || !startDateInput || !endDateInput) {
alert("Please fill in all fields correctly.");
return;
}
var entitlement = parseFloat(entitlementInput);
var start = new Date(startDateInput);
var end = new Date(endDateInput);
if (isNaN(entitlement) || entitlement <= 0) {
alert("Please enter a valid annual entitlement greater than 0.");
return;
}
if (end 1) {
percentageOfYear = 1;
daysEmployed = 365;
resultDetails.innerHTML = "Note: Date range exceeds one year. Calculation capped at full entitlement.";
} else {
resultDetails.innerHTML = "";
}
var proRataEntitlement = percentageOfYear * entitlement;
// Rounding logic: Usually to 1 decimal or nearest 0.5. Let's show 2 decimals and a rounded version.
var exactVal = proRataEntitlement.toFixed(2);
var roundedVal = (Math.ceil(proRataEntitlement * 2) / 2).toFixed(1); // Round up to nearest 0.5
// Display Result
resultBox.style.display = "block";
resultValue.innerHTML = exactVal + " Days";
var detailsHTML = "Breakdown:";
detailsHTML += "Days Employed: " + daysEmployed + " days";
detailsHTML += "Percentage of Year: " + (percentageOfYear * 100).toFixed(2) + "%";
detailsHTML += "Standard HR Rounding (nearest 0.5): " + roundedVal + " Days";
resultDetails.innerHTML = detailsHTML;
}