Stamp Duty Calculator New Rates

Stamp Duty Calculator (New Rates 2024/2025) .sdlt-calc-container { max-width: 800px; margin: 0 auto; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: #333; line-height: 1.6; } .sdlt-calculator-box { background-color: #f8f9fa; border: 1px solid #e9ecef; border-radius: 8px; padding: 30px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); margin-bottom: 40px; } .sdlt-calc-header { text-align: center; margin-bottom: 25px; } .sdlt-calc-header h2 { color: #2c3e50; margin: 0; font-size: 24px; } .sdlt-input-group { margin-bottom: 20px; } .sdlt-input-group label { display: block; font-weight: 600; margin-bottom: 8px; color: #495057; } .sdlt-input-wrapper { position: relative; } .sdlt-currency-symbol { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #6c757d; font-weight: bold; } .sdlt-input-field { width: 100%; padding: 12px 12px 12px 30px; border: 1px solid #ced4da; border-radius: 4px; font-size: 16px; box-sizing: border-box; } .sdlt-select-field { width: 100%; padding: 12px; border: 1px solid #ced4da; border-radius: 4px; font-size: 16px; background-color: white; box-sizing: border-box; } .sdlt-checkbox-group { display: flex; align-items: center; margin-top: 10px; } .sdlt-checkbox-group input { width: 18px; height: 18px; margin-right: 10px; } .sdlt-calc-btn { width: 100%; background-color: #0056b3; color: white; border: none; padding: 14px; font-size: 18px; font-weight: bold; border-radius: 4px; cursor: pointer; transition: background-color 0.2s; margin-top: 10px; } .sdlt-calc-btn:hover { background-color: #004494; } #sdlt-results { margin-top: 25px; padding-top: 20px; border-top: 2px solid #dee2e6; display: none; } .sdlt-result-row { display: flex; justify-content: space-between; margin-bottom: 15px; font-size: 18px; } .sdlt-total { font-weight: 800; color: #0056b3; font-size: 24px; margin-top: 10px; } .sdlt-breakdown { background-color: #fff; border: 1px solid #dee2e6; padding: 15px; border-radius: 4px; margin-top: 15px; font-size: 14px; } .sdlt-breakdown h4 { margin-top: 0; color: #495057; } .sdlt-content h2 { color: #2c3e50; border-bottom: 2px solid #0056b3; padding-bottom: 10px; margin-top: 40px; } .sdlt-content h3 { color: #495057; margin-top: 25px; } .sdlt-table { width: 100%; border-collapse: collapse; margin: 20px 0; } .sdlt-table th, .sdlt-table td { border: 1px solid #dee2e6; padding: 12px; text-align: left; } .sdlt-table th { background-color: #e9ecef; font-weight: 600; } .sdlt-tip { background-color: #e8f4fd; border-left: 4px solid #0056b3; padding: 15px; margin: 20px 0; } @media (max-width: 600px) { .sdlt-result-row { flex-direction: column; } .sdlt-result-row span:last-child { margin-top: 5px; font-weight: bold; } }

Stamp Duty Land Tax Calculator (SDLT)

Updated for current UK rates (England & Northern Ireland)

£
Next Home (Moving Home) First Time Buyer Additional Property / Buy-to-Let
Effective Tax Rate: 0%
Total Stamp Duty Due: £0.00

Calculation Breakdown

Understanding the New Stamp Duty Rates

Stamp Duty Land Tax (SDLT) is a progressive tax paid when purchasing a property in England and Northern Ireland. The amount you pay depends on the property price, your buying status (e.g., first-time buyer), and whether you are a UK resident.

Recent changes to the thresholds mean that buyers can now purchase properties up to £250,000 without paying any Stamp Duty (for standard purchases), or up to £425,000 for First Time Buyers.

Current Standard Rates (Moving Home)

If you are replacing your main residence, the following rates apply to the portion of the property price falling within each band:

Property Value Band SDLT Rate
£0 – £250,000 0%
£250,001 – £925,000 5%
£925,001 – £1,500,000 10%
Over £1,500,000 12%

First Time Buyer Relief

First-time buyers benefit from increased thresholds. If the property price is £625,000 or less, you pay:

  • 0% on the first £425,000.
  • 5% on the remainder up to £625,000.
Important: If the property price exceeds £625,000, you are NOT eligible for First Time Buyer relief and must pay the standard rates on the total value.

Additional Properties and Non-Residents

Additional Dwelling Supplement: If you are buying a second home or a buy-to-let property, you must pay an extra 3% on top of the standard rates for each band.

Non-Resident Surcharge: Non-UK residents purchasing residential property in England and Northern Ireland must pay a 2% surcharge on top of all other applicable rates.

Calculation Example

Imagine a home mover purchasing a property for £500,000. The calculation works as follows:

  1. £0 to £250,000: Taxed at 0% = £0.
  2. £250,001 to £500,000: The remaining £250,000 is taxed at 5% = £12,500.
  3. Total Stamp Duty: £12,500.

If this were a second home, an additional 3% would be charged on the full £500,000 (£15,000), making the total tax £27,500.

function calculateSDLT() { var priceInput = document.getElementById('propertyPrice'); var buyerType = document.getElementById('buyerType').value; var isNonResident = document.getElementById('nonResident').checked; var resultDiv = document.getElementById('sdlt-results'); var totalTaxDisplay = document.getElementById('totalTaxDisplay'); var effectiveRateDisplay = document.getElementById('effectiveRateDisplay'); var breakdownList = document.getElementById('breakdownList'); var price = parseFloat(priceInput.value); if (isNaN(price) || price < 0) { alert("Please enter a valid property price."); return; } var totalTax = 0; var breakdownHtml = "
    "; // Base Rates and Bands logic var bands = []; var rates = []; // Surcharges var surcharge = 0; if (buyerType === 'additional') { surcharge += 0.03; // 3% extra for additional homes } if (isNonResident) { surcharge += 0.02; // 2% extra for non-residents } // Determine Logic based on Buyer Type if (buyerType === 'ftb' && price 0) { var taxable1 = Math.min(price, band1Limit); var rate1 = 0 + surcharge; var tax1 = taxable1 * rate1; totalTax += tax1; breakdownHtml += "
  • £0 – £" + taxable1.toLocaleString() + " @ " + (rate1*100).toFixed(1) + "% = £" + tax1.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}) + "
  • "; } // Band 2 if (price > band1Limit) { var taxable2 = price – band1Limit; var rate2 = 0.05 + surcharge; var tax2 = taxable2 * rate2; totalTax += tax2; breakdownHtml += "
  • £" + (band1Limit+1).toLocaleString() + " – £" + price.toLocaleString() + " @ " + (rate2*100).toFixed(1) + "% = £" + tax2.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}) + "
  • "; } } else { // Standard Logic (applies to Next Home, Additional Home, and FTB over £625k) // If FTB is over £625k, they lose all relief and pay standard rates. // Bands: 0-250k, 250k-925k, 925k-1.5m, 1.5m+ // Base Rates: 0%, 5%, 10%, 12% // Add surcharge to all base rates var b1 = 250000; var b2 = 925000; var b3 = 1500000; // Band 1: 0 – 250k var taxable1 = Math.min(price, b1); var rate1 = 0 + surcharge; var tax1 = taxable1 * rate1; totalTax += tax1; if (taxable1 > 0) { breakdownHtml += "
  • £0 – £" + taxable1.toLocaleString() + " @ " + (rate1*100).toFixed(1) + "% = £" + tax1.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}) + "
  • "; } // Band 2: 250k – 925k if (price > b1) { var taxable2 = Math.min(price, b2) – b1; var rate2 = 0.05 + surcharge; var tax2 = taxable2 * rate2; totalTax += tax2; breakdownHtml += "
  • £" + (b1+1).toLocaleString() + " – £" + Math.min(price, b2).toLocaleString() + " @ " + (rate2*100).toFixed(1) + "% = £" + tax2.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}) + "
  • "; } // Band 3: 925k – 1.5m if (price > b2) { var taxable3 = Math.min(price, b3) – b2; var rate3 = 0.10 + surcharge; var tax3 = taxable3 * rate3; totalTax += tax3; breakdownHtml += "
  • £" + (b2+1).toLocaleString() + " – £" + Math.min(price, b3).toLocaleString() + " @ " + (rate3*100).toFixed(1) + "% = £" + tax3.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}) + "
  • "; } // Band 4: 1.5m+ if (price > b3) { var taxable4 = price – b3; var rate4 = 0.12 + surcharge; var tax4 = taxable4 * rate4; totalTax += tax4; breakdownHtml += "
  • £" + (b3+1).toLocaleString() + "+ @ " + (rate4*100).toFixed(1) + "% = £" + tax4.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}) + "
  • "; } } breakdownHtml += "
"; // Display Logic totalTaxDisplay.innerHTML = "£" + totalTax.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); var effectiveRate = 0; if (price > 0) { effectiveRate = (totalTax / price) * 100; } effectiveRateDisplay.innerHTML = effectiveRate.toFixed(2) + "%"; breakdownList.innerHTML = breakdownHtml; resultDiv.style.display = "block"; }

Leave a Comment