Depreciation is a powerful tax deduction for real estate investors. It allows you to recover the cost of your rental property over time, reducing your taxable income. Unlike an expense that's used up in a year, depreciation accounts for the wear and tear, aging, or obsolescence of the property and its components.
What Can Be Depreciated?
You can depreciate the cost basis of your rental property. This includes the purchase price plus any costs incurred to acquire the property (like closing costs, legal fees, title insurance, etc.). Crucially, you cannot depreciate the value of the land itself, as land is not considered to have a limited useful life. Therefore, you must first determine the value of the land and subtract it from the total cost to arrive at the depreciable basis.
Depreciable Life
The IRS sets specific recovery periods (depreciable lives) for different types of property:
Residential Rental Property: 27.5 years
Nonresidential Real Property (Commercial): 39 years
Certain Land Improvements: 15 years
Personal Property (e.g., furniture, appliances, equipment): 5 or 7 years, depending on the type. (Note: This calculator focuses on the building structure's depreciation.)
The method most commonly used for real property is the Straight-Line Depreciation (SLD) method.
How the Straight-Line Depreciation Calculator Works
The straight-line method distributes the cost of the property evenly over its depreciable life. The formula is straightforward:
Annual Depreciation = (Cost Basis of Property - Land Value) / Depreciable Life (in years)
Example Calculation:
Let's say you purchased a residential rental property for $300,000. This included $50,000 for the land. You placed the property in service on January 1, 2020. The depreciable life for residential rental property is 27.5 years.
Annual Depreciation: $250,000 / 27.5 years = $9,090.91 (approximately)
This means you can deduct approximately $9,090.91 each year for 27.5 years, reducing your taxable income.
Prorating Depreciation in the First and Last Year
Depreciation in the year the property is placed in service (and the year it's disposed of) must be prorated based on the number of months the property was available for rent during that year. For example, if you place a property in service on July 1st, you can only claim 6 months of depreciation for that first year (6/12ths of the annual amount).
First Year Depreciation = Annual Depreciation * (Months Property Was Rented / 12)
This calculator simplifies by calculating the full annual depreciation. You may need to adjust this amount for the first and last year of ownership based on your specific situation.
Important Considerations:
Consult with a qualified tax professional or CPA for advice tailored to your specific situation. Tax laws can be complex and change frequently.
This calculator focuses on the building structure. Other assets within the property (like appliances, furniture, or significant improvements) may have different depreciable lives and methods.
Landscaping and land improvements (like driveways, fences) are depreciated over 15 years.
function calculateDepreciation() {
var propertyCost = parseFloat(document.getElementById("propertyCost").value);
var landValue = parseFloat(document.getElementById("landValue").value);
var placedInServiceDateStr = document.getElementById("placedInServiceDate").value;
var currentYear = parseInt(document.getElementById("currentYear").value);
var depreciableLifeSelect = document.getElementById("depreciableLife");
var otherDepreciableLifeInput = document.getElementById("otherDepreciableLife");
var selectedLife = depreciableLifeSelect.value;
var depreciableLife;
if (selectedLife === "other") {
depreciableLife = parseFloat(otherDepreciableLifeInput.value);
} else {
depreciableLife = parseFloat(selectedLife);
}
var resultDiv = document.getElementById("result");
// Validate inputs
if (isNaN(propertyCost) || isNaN(landValue) || isNaN(depreciableLife) || isNaN(currentYear) || placedInServiceDateStr === "") {
resultDiv.innerHTML = "Please enter valid numbers for all fields and select a date.";
resultDiv.style.backgroundColor = "#f8d7da"; // Light red for error
resultDiv.style.borderColor = "#f5c6cb";
resultDiv.style.color = "#721c24";
return;
}
if (propertyCost <= 0 || landValue < 0 || depreciableLife <= 0 || currentYear < 1900) {
resultDiv.innerHTML = "Please enter positive values for costs and life, and a valid year.";
resultDiv.style.backgroundColor = "#f8d7da"; // Light red for error
resultDiv.style.borderColor = "#f5c6cb";
resultDiv.style.color = "#721c24";
return;
}
if (propertyCost < landValue) {
resultDiv.innerHTML = "Property cost cannot be less than land value.";
resultDiv.style.backgroundColor = "#f8d7da"; // Light red for error
resultDiv.style.borderColor = "#f5c6cb";
resultDiv.style.color = "#721c24";
return;
}
var depreciableBasis = propertyCost – landValue;
// — Proration Logic (Simplified for first/last year calculation) —
var depreciationMonths = 12; // Default to full year
if (placedInServiceDateStr) {
var placedInServiceDate = new Date(placedInServiceDateStr);
var serviceYear = placedInServiceDate.getFullYear();
if (serviceYear === currentYear) {
var month = placedInServiceDate.getMonth(); // 0-indexed
// Calculate months remaining in the service year
depreciationMonths = 12 – month;
// Handle cases where date might be the last day of the month
if (depreciationMonths === 12 && placedInServiceDate.getDate() === 1) {
// If it's the 1st of the month, it counts as a full month.
// No adjustment needed here, as 12 – 0 = 12.
} else if (depreciationMonths 1) {
// If it's not the first day of the month, and we are counting months,
// we assume partial month depreciation isn't being calculated by day,
// but by month. So the full month is counted if service started within it.
// The logic `12 – month` correctly gives the number of months including
// the month it was placed in service if it's not Jan 1st.
// For example, if placed in service on Jan 15th, month = 0, 12-0=12.
// If placed in service on Feb 15th, month = 1, 12-1=11.
// This is a common simplification. More precise calculation would use days.
}
}
// Note: For the last year, we'd need the disposal date, which isn't an input here.
// This calculator focuses on the annual rate and implies full year unless
// it's the very first year of service and it's not Jan 1st.
}
var annualDepreciationRate = depreciableBasis / depreciableLife;
var actualDepreciation = annualDepreciationRate * (depreciationMonths / 12);
resultDiv.innerHTML = "Annual Depreciation: $" + actualDepreciation.toFixed(2);
resultDiv.style.backgroundColor = "#d4edda"; // Success Green background
resultDiv.style.borderColor = "#155724";
resultDiv.style.color = "#155724";
}
// Show/hide custom depreciable life input based on selection
document.getElementById("depreciableLife").addEventListener("change", function() {
var otherInput = document.getElementById("otherDepreciableLife");
if (this.value === "other") {
otherInput.style.display = "block";
} else {
otherInput.style.display = "none";
otherInput.value = ""; // Clear the input if not 'other'
}
});
// Initialize the view for the custom input if 'other' is pre-selected (though not in this HTML)
var initialLifeSelect = document.getElementById("depreciableLife");
var initialOtherInput = document.getElementById("otherDepreciableLife");
if (initialLifeSelect.value === "other") {
initialOtherInput.style.display = "block";
}