{"id":1382,"date":"2026-06-19T18:39:07","date_gmt":"2026-06-19T18:39:07","guid":{"rendered":"https:\/\/thenextdigi.com\/moneywize\/?page_id=1382"},"modified":"2026-06-19T19:14:37","modified_gmt":"2026-06-19T19:14:37","slug":"sdlt-calculator","status":"publish","type":"page","link":"https:\/\/thenextdigi.com\/moneywize\/resources\/sdlt-calculator\/","title":{"rendered":"SDLT Calculator"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1382\" class=\"elementor elementor-1382\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-582f4200 e-flex e-con-boxed e-con e-parent\" data-id=\"582f4200\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-48d1d466 e-con-full feat-grid  e-flex e-con e-child\" data-id=\"48d1d466\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-390ac18f e-con-full e-flex e-con e-child\" data-id=\"390ac18f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-73d3e895 elementor-widget elementor-widget-heading\" data-id=\"73d3e895\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">PROPERTY TAX\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-272a254e elementor-widget elementor-widget-heading\" data-id=\"272a254e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">SDLT <span class=\"text-brand\">Calculator<\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5083c04c elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"5083c04c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Estimate the Stamp Duty Land Tax payable on a residential property purchase based on the property value and buyer circumstances.\n<\/h2>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3862e482 e-con-full e-flex e-con e-child\" data-id=\"3862e482\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4544e863 elementor-widget elementor-widget-button\" data-id=\"4544e863\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/thenextdigi.com\/moneywize\/resources#See-all-calculators\" target=\"_blank\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-arrow-right\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Open the calculators<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-47c5668d e-con-full e-flex e-con e-child\" data-id=\"47c5668d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-43debe9e elementor-widget elementor-widget-html\" data-id=\"43debe9e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"mw-sdlt-calculator\" data-sdlt-calculator>\r\n  <div class=\"mw-sdlt-inner\">\r\n\r\n    <div class=\"mw-sdlt-field\">\r\n      <label>Property price<\/label>\r\n\r\n      <input\r\n        type=\"text\"\r\n        class=\"mw-sdlt-price\"\r\n        inputmode=\"decimal\"\r\n        placeholder=\"300,000.00\"\r\n        autocomplete=\"off\"\r\n      >\r\n    <\/div>\r\n\r\n    <div class=\"mw-sdlt-field\">\r\n      <label>Country<\/label>\r\n\r\n      <div class=\"mw-sdlt-select-wrap\">\r\n        <select class=\"mw-sdlt-country\">\r\n          <option value=\"england\">England<\/option>\r\n          <option value=\"northern-ireland\">Northern Ireland<\/option>\r\n          <option value=\"wales\">Wales<\/option>\r\n          <option value=\"scotland\">Scotland<\/option>\r\n        <\/select>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mw-sdlt-field\">\r\n      <label>Situation<\/label>\r\n\r\n      <div class=\"mw-sdlt-select-wrap\">\r\n        <select class=\"mw-sdlt-situation\">\r\n          <option value=\"standard\">\r\n            Only home, not first-time buyer\r\n          <\/option>\r\n\r\n          <option value=\"first-time\">\r\n            First-time buyer\r\n          <\/option>\r\n\r\n          <option value=\"additional\">\r\n            Additional property or second home\r\n          <\/option>\r\n        <\/select>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mw-sdlt-divider\"><\/div>\r\n\r\n    <div class=\"mw-sdlt-results\" aria-live=\"polite\">\r\n\r\n      <div class=\"mw-sdlt-main-result\">\r\n        <span class=\"mw-sdlt-tax-name\">SDLT:<\/span>\r\n        <strong class=\"mw-sdlt-total\">\u00a30.00<\/strong>\r\n      <\/div>\r\n\r\n      <div class=\"mw-sdlt-result-details\">\r\n        <span>\r\n          Property:\r\n          <strong class=\"mw-sdlt-property-result\">\u00a30.00<\/strong>\r\n        <\/span>\r\n\r\n        <span>\r\n          Effective rate:\r\n          <strong class=\"mw-sdlt-rate-result\">0.00%<\/strong>\r\n        <\/span>\r\n      <\/div>\r\n\r\n      <p class=\"mw-sdlt-note\">\r\n        Estimate for residential property only.\r\n      <\/p>\r\n\r\n    <\/div>\r\n\r\n    <p class=\"mw-sdlt-error\"><\/p>\r\n\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function () {\r\n  function initialiseSdltCalculators() {\r\n    const calculators = document.querySelectorAll(\r\n      '[data-sdlt-calculator]:not([data-sdlt-initialised])'\r\n    );\r\n\r\n    calculators.forEach(function (calculator) {\r\n      calculator.setAttribute('data-sdlt-initialised', 'true');\r\n\r\n      const priceField =\r\n        calculator.querySelector('.mw-sdlt-price');\r\n\r\n      const countryField =\r\n        calculator.querySelector('.mw-sdlt-country');\r\n\r\n      const situationField =\r\n        calculator.querySelector('.mw-sdlt-situation');\r\n\r\n      const taxName =\r\n        calculator.querySelector('.mw-sdlt-tax-name');\r\n\r\n      const totalResult =\r\n        calculator.querySelector('.mw-sdlt-total');\r\n\r\n      const propertyResult =\r\n        calculator.querySelector('.mw-sdlt-property-result');\r\n\r\n      const rateResult =\r\n        calculator.querySelector('.mw-sdlt-rate-result');\r\n\r\n      const note =\r\n        calculator.querySelector('.mw-sdlt-note');\r\n\r\n      const errorMessage =\r\n        calculator.querySelector('.mw-sdlt-error');\r\n\r\n      const firstTimeOption =\r\n        situationField.querySelector(\r\n          'option[value=\"first-time\"]'\r\n        );\r\n\r\n      const rateBands = {\r\n        englandStandard: [\r\n          [125000, 0],\r\n          [250000, 0.02],\r\n          [925000, 0.05],\r\n          [1500000, 0.10],\r\n          [Infinity, 0.12]\r\n        ],\r\n\r\n        englandAdditional: [\r\n          [125000, 0.05],\r\n          [250000, 0.07],\r\n          [925000, 0.10],\r\n          [1500000, 0.15],\r\n          [Infinity, 0.17]\r\n        ],\r\n\r\n        englandFirstTime: [\r\n          [300000, 0],\r\n          [500000, 0.05]\r\n        ],\r\n\r\n        walesStandard: [\r\n          [225000, 0],\r\n          [400000, 0.06],\r\n          [750000, 0.075],\r\n          [1500000, 0.10],\r\n          [Infinity, 0.12]\r\n        ],\r\n\r\n        walesAdditional: [\r\n          [180000, 0.05],\r\n          [250000, 0.085],\r\n          [400000, 0.10],\r\n          [750000, 0.125],\r\n          [1500000, 0.15],\r\n          [Infinity, 0.17]\r\n        ],\r\n\r\n        scotlandStandard: [\r\n          [145000, 0],\r\n          [250000, 0.02],\r\n          [325000, 0.05],\r\n          [750000, 0.10],\r\n          [Infinity, 0.12]\r\n        ],\r\n\r\n        scotlandFirstTime: [\r\n          [175000, 0],\r\n          [250000, 0.02],\r\n          [325000, 0.05],\r\n          [750000, 0.10],\r\n          [Infinity, 0.12]\r\n        ]\r\n      };\r\n\r\n      function parseAmount(value) {\r\n        const cleanedValue = String(value)\r\n          .replace(\/\u00a3\/g, '')\r\n          .replace(\/,\/g, '')\r\n          .replace(\/\\s\/g, '');\r\n\r\n        return parseFloat(cleanedValue);\r\n      }\r\n\r\n      function formatCurrency(value) {\r\n        return new Intl.NumberFormat('en-GB', {\r\n          style: 'currency',\r\n          currency: 'GBP',\r\n          minimumFractionDigits: 2,\r\n          maximumFractionDigits: 2\r\n        }).format(value);\r\n      }\r\n\r\n      function calculateProgressiveTax(price, bands) {\r\n        let totalTax = 0;\r\n        let previousLimit = 0;\r\n\r\n        for (let index = 0; index < bands.length; index++) {\r\n          const upperLimit = bands[index][0];\r\n          const rate = bands[index][1];\r\n\r\n          const taxableAmount =\r\n            Math.min(price, upperLimit) - previousLimit;\r\n\r\n          if (taxableAmount > 0) {\r\n            totalTax += taxableAmount * rate;\r\n          }\r\n\r\n          if (price <= upperLimit) {\r\n            break;\r\n          }\r\n\r\n          previousLimit = upperLimit;\r\n        }\r\n\r\n        return totalTax;\r\n      }\r\n\r\n      function updateCountrySettings() {\r\n        const country = countryField.value;\r\n\r\n        if (country === 'wales') {\r\n          firstTimeOption.textContent =\r\n            'First-time buyer (main rates apply)';\r\n        } else {\r\n          firstTimeOption.textContent =\r\n            'First-time buyer';\r\n        }\r\n\r\n        if (\r\n          country === 'england' ||\r\n          country === 'northern-ireland'\r\n        ) {\r\n          taxName.textContent = 'SDLT:';\r\n        }\r\n\r\n        if (country === 'wales') {\r\n          taxName.textContent = 'LTT:';\r\n        }\r\n\r\n        if (country === 'scotland') {\r\n          taxName.textContent = 'LBTT:';\r\n        }\r\n      }\r\n\r\n      function resetResults() {\r\n        totalResult.textContent = formatCurrency(0);\r\n        propertyResult.textContent = formatCurrency(0);\r\n        rateResult.textContent = '0.00%';\r\n\r\n        note.textContent =\r\n          'Estimate for residential property only.';\r\n      }\r\n\r\n      function calculatePropertyTax() {\r\n        updateCountrySettings();\r\n\r\n        const enteredValue = priceField.value.trim();\r\n\r\n        if (enteredValue === '') {\r\n          errorMessage.textContent = '';\r\n          resetResults();\r\n          return;\r\n        }\r\n\r\n        const price = parseAmount(enteredValue);\r\n        const country = countryField.value;\r\n        const situation = situationField.value;\r\n\r\n        if (!Number.isFinite(price) || price < 0) {\r\n          errorMessage.textContent =\r\n            'Please enter a valid property price.';\r\n\r\n          resetResults();\r\n          return;\r\n        }\r\n\r\n        errorMessage.textContent = '';\r\n\r\n        let totalTax = 0;\r\n        let resultNote =\r\n          'Estimate for residential property only.';\r\n\r\n        if (\r\n          country === 'england' ||\r\n          country === 'northern-ireland'\r\n        ) {\r\n          taxName.textContent = 'SDLT:';\r\n\r\n          if (situation === 'standard') {\r\n            totalTax = calculateProgressiveTax(\r\n              price,\r\n              rateBands.englandStandard\r\n            );\r\n          }\r\n\r\n          if (situation === 'first-time') {\r\n            if (price <= 500000) {\r\n              totalTax = calculateProgressiveTax(\r\n                price,\r\n                rateBands.englandFirstTime\r\n              );\r\n\r\n              resultNote =\r\n                'First-time buyer relief has been applied.';\r\n            } else {\r\n              totalTax = calculateProgressiveTax(\r\n                price,\r\n                rateBands.englandStandard\r\n              );\r\n\r\n              resultNote =\r\n                'First-time buyer relief does not apply above \u00a3500,000.';\r\n            }\r\n          }\r\n\r\n          if (situation === 'additional') {\r\n            totalTax = calculateProgressiveTax(\r\n              price,\r\n              rateBands.englandAdditional\r\n            );\r\n\r\n            resultNote =\r\n              'Includes the higher rates for an additional property.';\r\n          }\r\n        }\r\n\r\n        if (country === 'wales') {\r\n          taxName.textContent = 'LTT:';\r\n\r\n          if (\r\n            situation === 'standard' ||\r\n            situation === 'first-time'\r\n          ) {\r\n            totalTax = calculateProgressiveTax(\r\n              price,\r\n              rateBands.walesStandard\r\n            );\r\n\r\n            if (situation === 'first-time') {\r\n              resultNote =\r\n                'Wales has no separate first-time buyer rate, so main residential rates are used.';\r\n            }\r\n          }\r\n\r\n          if (situation === 'additional') {\r\n            totalTax = calculateProgressiveTax(\r\n              price,\r\n              rateBands.walesAdditional\r\n            );\r\n\r\n            resultNote =\r\n              'Higher residential Land Transaction Tax rates have been applied.';\r\n          }\r\n        }\r\n\r\n        if (country === 'scotland') {\r\n          taxName.textContent = 'LBTT:';\r\n\r\n          if (situation === 'standard') {\r\n            totalTax = calculateProgressiveTax(\r\n              price,\r\n              rateBands.scotlandStandard\r\n            );\r\n          }\r\n\r\n          if (situation === 'first-time') {\r\n            totalTax = calculateProgressiveTax(\r\n              price,\r\n              rateBands.scotlandFirstTime\r\n            );\r\n\r\n            resultNote =\r\n              'Scottish first-time buyer relief has been applied.';\r\n          }\r\n\r\n          if (situation === 'additional') {\r\n            const standardLbtt = calculateProgressiveTax(\r\n              price,\r\n              rateBands.scotlandStandard\r\n            );\r\n\r\n            const additionalDwellingSupplement =\r\n              price >= 40000 ? price * 0.08 : 0;\r\n\r\n            totalTax =\r\n              standardLbtt + additionalDwellingSupplement;\r\n\r\n            resultNote =\r\n              'Includes the 8% Additional Dwelling Supplement.';\r\n          }\r\n        }\r\n\r\n        const effectiveRate =\r\n          price > 0 ? (totalTax \/ price) * 100 : 0;\r\n\r\n        totalResult.textContent =\r\n          formatCurrency(totalTax);\r\n\r\n        propertyResult.textContent =\r\n          formatCurrency(price);\r\n\r\n        rateResult.textContent =\r\n          effectiveRate.toFixed(2) + '%';\r\n\r\n        note.textContent = resultNote;\r\n      }\r\n\r\n      priceField.addEventListener(\r\n        'input',\r\n        calculatePropertyTax\r\n      );\r\n\r\n      countryField.addEventListener(\r\n        'change',\r\n        calculatePropertyTax\r\n      );\r\n\r\n      situationField.addEventListener(\r\n        'change',\r\n        calculatePropertyTax\r\n      );\r\n\r\n      priceField.addEventListener('focus', function () {\r\n        const price = parseAmount(priceField.value);\r\n\r\n        if (Number.isFinite(price)) {\r\n          priceField.value = price;\r\n        }\r\n      });\r\n\r\n      priceField.addEventListener('blur', function () {\r\n        const price = parseAmount(priceField.value);\r\n\r\n        if (Number.isFinite(price) && price >= 0) {\r\n          priceField.value = price.toLocaleString('en-GB', {\r\n            minimumFractionDigits: 2,\r\n            maximumFractionDigits: 2\r\n          });\r\n        }\r\n\r\n        calculatePropertyTax();\r\n      });\r\n\r\n      updateCountrySettings();\r\n      resetResults();\r\n    });\r\n  }\r\n\r\n  initialiseSdltCalculators();\r\n\r\n  document.addEventListener(\r\n    'DOMContentLoaded',\r\n    initialiseSdltCalculators\r\n  );\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>PROPERTY TAX SDLT Calculator Estimate the Stamp Duty Land Tax payable on a residential property purchase based on the property [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":405,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-1382","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/thenextdigi.com\/moneywize\/wp-json\/wp\/v2\/pages\/1382","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thenextdigi.com\/moneywize\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/thenextdigi.com\/moneywize\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/thenextdigi.com\/moneywize\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thenextdigi.com\/moneywize\/wp-json\/wp\/v2\/comments?post=1382"}],"version-history":[{"count":0,"href":"https:\/\/thenextdigi.com\/moneywize\/wp-json\/wp\/v2\/pages\/1382\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/thenextdigi.com\/moneywize\/wp-json\/wp\/v2\/pages\/405"}],"wp:attachment":[{"href":"https:\/\/thenextdigi.com\/moneywize\/wp-json\/wp\/v2\/media?parent=1382"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}