{"id":58,"date":"2023-07-05T04:16:53","date_gmt":"2023-07-05T04:16:53","guid":{"rendered":"https:\/\/fulltax.in\/?page_id=58"},"modified":"2026-02-01T14:43:49","modified_gmt":"2026-02-01T14:43:49","slug":"itr-calculator","status":"publish","type":"page","link":"https:\/\/fulltax.in\/index.php\/itr-calculator\/","title":{"rendered":"ITR Calculator"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>Income Tax Calculator \u2013 Old &#038; New Regime<\/title>\n  <style>\n    body { font-family: Arial, sans-serif; background:#f4f6fa; padding:20px; }\n    .container { max-width:1100px; margin:auto; background:#fff; padding:25px; border-radius:10px; box-shadow:0 10px 25px rgba(0,0,0,0.1); }\n    h1, h3 { text-align:center; }\n    .row { display:flex; gap:20px; flex-wrap:wrap; }\n    .col { flex:1; min-width:240px; }\n    label { font-weight:bold; margin-top:10px; display:block; }\n    input, select { width:100%; padding:8px; margin-top:5px; }\n    button { margin-top:20px; padding:12px 25px; font-size:16px; cursor:pointer; }\n    .result { margin-top:25px; background:#eef3ff; padding:20px; border-radius:8px; }\n    .note { font-size:12px; color:#666; margin-top:15px; }\n  <\/style>\n<\/head>\n<body>\n<div class=\"container\">\n  <h1>Income Tax Calculator<\/h1>\n  <h3>Old Regime &#038; New Regime<\/h3>\n\n  <label>Select Tax Regime<\/label>\n  <select id=\"regime\">\n    <option value=\"new\">New Regime<\/option>\n    <option value=\"old\">Old Regime<\/option>\n  <\/select>\n\n  <h3>Income Details (\u20b9)<\/h3>\n  <div class=\"row\">\n    <div class=\"col\">\n      <label>Salary Income (Gross)<\/label>\n      <input type=\"number\" id=\"salary\" value=\"0\">\n    <\/div>\n    <div class=\"col\">\n      <label>House Property Income (Net Annual Value)<\/label>\n      <input type=\"number\" id=\"hp\" value=\"0\">\n    <\/div>\n    <div class=\"col\">\n      <label>Business \/ Profession Income<\/label>\n      <input type=\"number\" id=\"business\" value=\"0\">\n    <\/div>\n    <div class=\"col\">\n      <label>Other Income<\/label>\n      <input type=\"number\" id=\"other\" value=\"0\">\n    <\/div>\n  <\/div>\n\n  <h3>Capital Gains<\/h3>\n  <div class=\"row\">\n    <div class=\"col\">\n      <label>Equity STCG (u\/s 111A)<\/label>\n      <input type=\"number\" id=\"eq_stcg\" value=\"0\">\n    <\/div>\n    <div class=\"col\">\n      <label>Equity LTCG (u\/s 112A)<\/label>\n      <input type=\"number\" id=\"eq_ltcg\" value=\"0\">\n    <\/div>\n    <div class=\"col\">\n      <label>Non\u2011Equity STCG<\/label>\n      <input type=\"number\" id=\"neq_stcg\" value=\"0\">\n    <\/div>\n    <div class=\"col\">\n      <label>Non\u2011Equity LTCG<\/label>\n      <input type=\"number\" id=\"neq_ltcg\" value=\"0\">\n    <\/div>\n  <\/div>\n\n  <button onclick=\"calculateTax()\">Calculate Tax<\/button>\n\n  <div class=\"result\" id=\"result\"><\/div>\n\n  <div class=\"note\">\n    \u2714 Salary &#038; House Property standard deductions applied<br>\n    \u2714 Rebate u\/s 87A, Surcharge &#038; 4% Cess included<br>\n    \u26a0 Indicative calculator \u2013 slabs &#038; rates configurable\n  <\/div>\n<\/div>\n\n<script>\n\/********************\n * CONFIG CONSTANTS *\n ********************\/\nconst SALARY_STD_DEDUCTION_OLD = 50000;\nconst SALARY_STD_DEDUCTION_NEW = 75000;\nconst HP_STD_DEDUCTION_RATE = 0.30;\n\nconst REBATE_OLD_LIMIT = 500000;\nconst REBATE_NEW_LIMIT = 1200000;\n\nconst EQ_STCG_RATE = 0.20;\nconst EQ_LTCG_RATE = 0.125;\nconst EQ_LTCG_EXEMPT = 125000;\n\nconst NEQ_LTCG_RATE = 0.125;\nconst HEALTH_CESS = 0.04;\n\nconst oldRegimeSlabs = [\n  { limit: 250000, rate: 0 },\n  { limit: 500000, rate: 0.05 },\n  { limit: 1000000, rate: 0.20 },\n  { limit: Infinity, rate: 0.30 }\n];\n\nconst newRegimeSlabs = [\n  { limit: 400000, rate: 0 },\n  { limit: 800000, rate: 0.05 },\n  { limit: 1200000, rate: 0.10 },\n  { limit: 1600000, rate: 0.15 },\n  { limit: 2000000, rate: 0.20 },\n  { limit: 2400000, rate: 0.25 },\n  { limit: Infinity, rate: 0.30 }\n];\n\n\/********************\n * HELPER FUNCTIONS *\n ********************\/\nfunction slabTax(income, slabs) {\n  let tax = 0, prev = 0;\n  for (const slab of slabs) {\n    const taxable = Math.min(income, slab.limit) - prev;\n    if (taxable > 0) tax += taxable * slab.rate;\n    prev = slab.limit;\n    if (income <= slab.limit) break;\n  }\n  return tax;\n}\n\nfunction calculateSurcharge(taxableIncome, tax) {\n  if (taxableIncome > 50000000) return tax * 0.37;\n  if (taxableIncome > 20000000) return tax * 0.25;\n  if (taxableIncome > 10000000) return tax * 0.15;\n  if (taxableIncome > 5000000) return tax * 0.10;\n  return 0;\n}\n\n\/********************\n * MAIN CALCULATION *\n ********************\/\nfunction calculateTax() {\n  const regime = document.getElementById('regime').value;\n\n  const salary = +document.getElementById('salary').value || 0;\n  const hp = +document.getElementById('hp').value || 0;\n  const business = +document.getElementById('business').value || 0;\n  const other = +document.getElementById('other').value || 0;\n\n  const eqSTCG = +document.getElementById('eq_stcg').value || 0;\n  const eqLTCG = +document.getElementById('eq_ltcg').value || 0;\n  const neqSTCG = +document.getElementById('neq_stcg').value || 0;\n  const neqLTCG = +document.getElementById('neq_ltcg').value || 0;\n\n  const salaryDeduction = regime === 'new' ? SALARY_STD_DEDUCTION_NEW : SALARY_STD_DEDUCTION_OLD;\n  const taxableSalary = Math.max(0, salary - salaryDeduction);\n\n  const taxableHP = hp - (hp > 0 ? hp * HP_STD_DEDUCTION_RATE : 0);\n\n  const normalIncome = taxableSalary + taxableHP + business + other + neqSTCG;\n\n  let normalTax = slabTax(normalIncome, regime === 'new' ? newRegimeSlabs : oldRegimeSlabs);\n\n  const rebateLimit = regime === 'new' ? REBATE_NEW_LIMIT : REBATE_OLD_LIMIT;\n  const rebate = normalIncome <= rebateLimit ? normalTax : 0;\n  normalTax -= rebate;\n\n  const eqSTCGTax = eqSTCG * EQ_STCG_RATE;\n  const eqLTCGTax = Math.max(0, eqLTCG - EQ_LTCG_EXEMPT) * EQ_LTCG_RATE;\n  const neqLTCGTax = neqLTCG * NEQ_LTCG_RATE;\n\n  const taxBeforeCess = normalTax + eqSTCGTax + eqLTCGTax + neqLTCGTax;\n  const surcharge = calculateSurcharge(normalIncome + eqSTCG + eqLTCG + neqLTCG, taxBeforeCess);\n  const cess = (taxBeforeCess + surcharge) * HEALTH_CESS;\n\n  const totalTax = taxBeforeCess + surcharge + cess;\n\n  document.getElementById('result').innerHTML = `\n    <b>Normal Income:<\/b> \u20b9${normalIncome.toLocaleString()}<br>\n    <b>Tax after Rebate u\/s 87A:<\/b> \u20b9${normalTax.toLocaleString()}<br><br>\n    <b>Equity STCG Tax:<\/b> \u20b9${eqSTCGTax.toLocaleString()}<br>\n    <b>Equity LTCG Tax:<\/b> \u20b9${eqLTCGTax.toLocaleString()}<br>\n    <b>Non\u2011Equity LTCG Tax:<\/b> \u20b9${neqLTCGTax.toLocaleString()}<br><br>\n    <b>Surcharge:<\/b> \u20b9${surcharge.toLocaleString()}<br>\n    <b>Health & Education Cess (4%):<\/b> \u20b9${cess.toLocaleString()}<br>\n    <hr>\n    <b>Total Tax Payable:<\/b> \u20b9${totalTax.toLocaleString()}\n  `;\n}\n\n\/********************\n * BASIC SELF TESTS *\n ********************\/\n(function () {\n  console.assert(slabTax(500000, oldRegimeSlabs) === 12500, 'Old regime slab test failed');\n  console.assert(slabTax(300000, newRegimeSlabs) === 0, 'New regime slab test failed');\n  console.assert(EQ_LTCG_RATE === 0.10, 'LTCG rate incorrect');\n  console.assert(HEALTH_CESS === 0.04, 'Cess rate incorrect');\n  console.log('All tax tests passed');\n})();\n<\/script>\n<\/body>\n<\/html>\n\n","protected":false},"excerpt":{"rendered":"<p>Income Tax Calculator \u2013 Old &#038; New Regime Income Tax Calculator Old Regime &#038; New Regime Select Tax Regime New [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_theme","meta":{"_regular_price":[],"currency_symbol":[],"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-58","page","type-page","status-publish","hentry"],"aioseo_notices":[],"post_slider_layout_featured_media_urls":{"thumbnail":"","post_slider_layout_landscape_large":"","post_slider_layout_portrait_large":"","post_slider_layout_square_large":"","post_slider_layout_landscape":"","post_slider_layout_portrait":"","post_slider_layout_square":"","full":""},"_links":{"self":[{"href":"https:\/\/fulltax.in\/index.php\/wp-json\/wp\/v2\/pages\/58","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fulltax.in\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/fulltax.in\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/fulltax.in\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fulltax.in\/index.php\/wp-json\/wp\/v2\/comments?post=58"}],"version-history":[{"count":10,"href":"https:\/\/fulltax.in\/index.php\/wp-json\/wp\/v2\/pages\/58\/revisions"}],"predecessor-version":[{"id":168,"href":"https:\/\/fulltax.in\/index.php\/wp-json\/wp\/v2\/pages\/58\/revisions\/168"}],"wp:attachment":[{"href":"https:\/\/fulltax.in\/index.php\/wp-json\/wp\/v2\/media?parent=58"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}