{"id":149,"date":"2026-06-26T22:44:30","date_gmt":"2026-06-26T20:44:30","guid":{"rendered":"https:\/\/life-spain.com\/?page_id=149"},"modified":"2026-06-27T02:32:06","modified_gmt":"2026-06-27T00:32:06","slug":"spain-salary-calculator","status":"publish","type":"page","link":"https:\/\/life-spain.com\/de\/spain-salary-calculator\/","title":{"rendered":"Spain Net to Gross &amp; Gross to Net Salary Calculator"},"content":{"rendered":"\n<div id=\"life-spain-salary-calculator\">\n  <style>\n    #life-spain-salary-calculator {\n      --ls-blue: #1f2f40;\n      --ls-blue-light: #2f4d67;\n      --ls-gold: #c6a23a;\n      --ls-cream: #f7f3ea;\n      --ls-white: #ffffff;\n      --ls-text: #1f2937;\n      --ls-muted: #667085;\n      --ls-border: #e6dfd2;\n      font-family: inherit;\n      max-width: 1100px;\n      margin: 35px auto;\n      color: var(--ls-text);\n      background: var(--ls-cream);\n      border-radius: 24px;\n      padding: 16px;\n      box-sizing: border-box;\n    }\n\n    #life-spain-salary-calculator * {\n      box-sizing: border-box;\n    }\n\n    .ls-card {\n      background: var(--ls-white);\n      border: 1px solid var(--ls-border);\n      border-radius: 22px;\n      overflow: hidden;\n      box-shadow: 0 14px 35px rgba(31,47,64,0.12);\n    }\n\n    .ls-header {\n      background:\n        radial-gradient(circle at top right, rgba(198,162,58,0.24), transparent 34%),\n        linear-gradient(135deg, var(--ls-blue), #142231);\n      color: #fff;\n      padding: 34px;\n    }\n\n    .ls-badge {\n      display: inline-block;\n      background: rgba(198,162,58,0.18);\n      border: 1px solid rgba(198,162,58,0.45);\n      color: #fff;\n      padding: 7px 12px;\n      border-radius: 999px;\n      font-size: 13px;\n      font-weight: 700;\n      margin-bottom: 14px;\n    }\n\n    .ls-header h2 {\n      margin: 0 0 10px;\n      font-size: clamp(28px, 4vw, 42px);\n      line-height: 1.1;\n      color: #fff;\n    }\n\n    .ls-header p {\n      margin: 0;\n      max-width: 820px;\n      font-size: 16px;\n      line-height: 1.6;\n      color: #eef4f8;\n    }\n\n    .ls-home-link {\n      display: inline-block;\n      margin-top: 16px;\n      color: #fff !important;\n      text-decoration: none;\n      font-weight: 800;\n      border-bottom: 2px solid var(--ls-gold);\n    }\n\n    .ls-body {\n      display: grid;\n      grid-template-columns: 0.9fr 1.1fr;\n      gap: 24px;\n      padding: 28px;\n    }\n\n    .ls-panel {\n      background: #fbfaf7;\n      border: 1px solid var(--ls-border);\n      border-radius: 18px;\n      padding: 22px;\n    }\n\n    .ls-field {\n      margin-bottom: 17px;\n    }\n\n    .ls-field label {\n      display: block;\n      font-weight: 800;\n      margin-bottom: 7px;\n      color: var(--ls-blue);\n      font-size: 14px;\n    }\n\n    .ls-field input,\n    .ls-field select {\n      width: 100%;\n      padding: 14px;\n      border: 1px solid #d7d1c7;\n      border-radius: 12px;\n      font-size: 16px;\n      background: #fff;\n      color: var(--ls-text);\n    }\n\n    .ls-two {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: 14px;\n    }\n\n    .ls-button {\n      width: 100%;\n      background: var(--ls-gold);\n      color: var(--ls-blue);\n      border: none;\n      padding: 15px 20px;\n      border-radius: 12px;\n      font-size: 17px;\n      font-weight: 900;\n      cursor: pointer;\n      transition: 0.2s ease;\n      margin-top: 4px;\n    }\n\n    .ls-button:hover {\n      background: var(--ls-blue);\n      color: #fff;\n    }\n\n    .ls-results {\n      background: var(--ls-blue);\n      color: #fff;\n      border-radius: 18px;\n      padding: 22px;\n    }\n\n    .ls-big-result {\n      background: #fff;\n      color: var(--ls-blue);\n      border-radius: 16px;\n      padding: 22px;\n      text-align: center;\n      border: 3px solid var(--ls-gold);\n      margin-bottom: 18px;\n    }\n\n    .ls-big-result span {\n      display: block;\n      color: var(--ls-muted);\n      font-size: 14px;\n      margin-bottom: 6px;\n      font-weight: 700;\n    }\n\n    .ls-big-result strong {\n      display: block;\n      font-size: clamp(32px, 4vw, 46px);\n      color: var(--ls-blue);\n    }\n\n    .ls-result-grid {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: 12px;\n    }\n\n    .ls-row {\n      background: rgba(255,255,255,0.08);\n      border: 1px solid rgba(255,255,255,0.16);\n      border-radius: 12px;\n      padding: 13px;\n    }\n\n    .ls-row span {\n      display: block;\n      color: #dce7ef;\n      font-size: 13px;\n      margin-bottom: 5px;\n    }\n\n    .ls-row strong {\n      display: block;\n      color: #fff;\n      font-size: 17px;\n    }\n\n    .ls-mini-title {\n      color: #fff;\n      font-size: 18px;\n      font-weight: 900;\n      margin: 18px 0 10px;\n    }\n\n    .ls-note {\n      padding: 0 28px 28px;\n      font-size: 13px;\n      color: var(--ls-muted);\n      line-height: 1.55;\n    }\n\n    .ls-note a {\n      color: var(--ls-gold) !important;\n      font-weight: 800;\n      text-decoration: none;\n    }\n\n    @media (max-width: 860px) {\n      #life-spain-salary-calculator {\n        margin: 20px 5px;\n        padding: 5px;\n        border-radius: 18px;\n      }\n\n      .ls-body {\n        grid-template-columns: 1fr;\n        padding: 18px;\n      }\n\n      .ls-header {\n        padding: 26px 20px;\n      }\n\n      .ls-result-grid,\n      .ls-two {\n        grid-template-columns: 1fr;\n      }\n    }\n  <\/style>\n\n  <div class=\"ls-card\">\n    <div class=\"ls-header\">\n      <div class=\"ls-badge\">Spain salary calculator<\/div>\n      <h2>Spain Net to Gross Salary Calculator<\/h2>\n      <p>\n        Estimate your gross annual salary, net monthly salary, IRPF income tax and employee Social Security contributions in Spain by autonomous community.\n      <\/p>\n      <a class=\"ls-home-link\" href=\"https:\/\/life-spain.com\/\" target=\"_blank\" rel=\"noopener\">Visit Life Spain home page<\/a>\n    <\/div>\n\n    <div class=\"ls-body\">\n      <div class=\"ls-panel\">\n        <div class=\"ls-field\">\n          <label for=\"lsMode\">Calculation mode<\/label>\n          <select id=\"lsMode\">\n            <option value=\"netToGross\">Net salary to gross salary<\/option>\n            <option value=\"grossToNet\">Gross salary to net salary<\/option>\n          <\/select>\n        <\/div>\n\n        <div class=\"ls-field\">\n          <label id=\"lsSalaryLabel\" for=\"lsSalary\">Desired net monthly salary (\u20ac)<\/label>\n          <input type=\"number\" id=\"lsSalary\" value=\"2200\" min=\"0\" step=\"50\">\n        <\/div>\n\n        <div class=\"ls-two\">\n          <div class=\"ls-field\">\n            <label for=\"lsPayments\">Salary payments<\/label>\n            <select id=\"lsPayments\">\n              <option value=\"12\">12 payments<\/option>\n              <option value=\"14\">14 payments<\/option>\n            <\/select>\n          <\/div>\n\n          <div class=\"ls-field\">\n            <label for=\"lsContract\">Contract type<\/label>\n            <select id=\"lsContract\">\n              <option value=\"permanent\">Permanent<\/option>\n              <option value=\"temporary\">Temporary<\/option>\n            <\/select>\n          <\/div>\n        <\/div>\n\n        <div class=\"ls-field\">\n          <label for=\"lsRegion\">Autonomous community<\/label>\n          <select id=\"lsRegion\"><\/select>\n        <\/div>\n\n        <button class=\"ls-button\" onclick=\"calculateLifeSpainSalary()\">Calculate Salary<\/button>\n      <\/div>\n\n      <div class=\"ls-results\">\n        <div class=\"ls-big-result\">\n          <span id=\"lsMainResultLabel\">Estimated gross annual salary<\/span>\n          <strong id=\"lsMainResult\">\u20ac0<\/strong>\n        <\/div>\n\n        <div class=\"ls-result-grid\">\n          <div class=\"ls-row\">\n            <span>Gross annual salary<\/span>\n            <strong id=\"lsGrossAnnual\">\u20ac0<\/strong>\n          <\/div>\n\n          <div class=\"ls-row\">\n            <span>Gross monthly salary<\/span>\n            <strong id=\"lsGrossMonthly\">\u20ac0<\/strong>\n          <\/div>\n\n          <div class=\"ls-row\">\n            <span>Net annual salary<\/span>\n            <strong id=\"lsNetAnnual\">\u20ac0<\/strong>\n          <\/div>\n\n          <div class=\"ls-row\">\n            <span>Net monthly salary<\/span>\n            <strong id=\"lsNetMonthly\">\u20ac0<\/strong>\n          <\/div>\n\n          <div class=\"ls-row\">\n            <span>Estimated IRPF<\/span>\n            <strong id=\"lsIncomeTax\">\u20ac0<\/strong>\n          <\/div>\n\n          <div class=\"ls-row\">\n            <span>Total employee Social Security<\/span>\n            <strong id=\"lsTotalSocial\">\u20ac0<\/strong>\n          <\/div>\n\n          <div class=\"ls-row\">\n            <span>Effective deduction rate<\/span>\n            <strong id=\"lsEffectiveRate\">0%<\/strong>\n          <\/div>\n\n          <div class=\"ls-row\">\n            <span>Selected region<\/span>\n            <strong id=\"lsSelectedRegion\">Andalusia<\/strong>\n          <\/div>\n        <\/div>\n\n        <div class=\"ls-mini-title\">Social Security breakdown<\/div>\n\n        <div class=\"ls-result-grid\">\n          <div class=\"ls-row\">\n            <span>Common contingencies<\/span>\n            <strong id=\"lsCommonContribution\">\u20ac0<\/strong>\n          <\/div>\n\n          <div class=\"ls-row\">\n            <span>Unemployment<\/span>\n            <strong id=\"lsUnemploymentContribution\">\u20ac0<\/strong>\n          <\/div>\n\n          <div class=\"ls-row\">\n            <span>Training<\/span>\n            <strong id=\"lsTrainingContribution\">\u20ac0<\/strong>\n          <\/div>\n\n          <div class=\"ls-row\">\n            <span>MEI contribution<\/span>\n            <strong id=\"lsMeiContribution\">\u20ac0<\/strong>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"ls-note\">\n      Disclaimer: This calculator is an estimate for employees in Spain and is not tax, payroll, legal or accounting advice.\n      Real payroll can change depending on children, disability, age, family status, deductions, bonuses, collective agreement, province, employer setup and official annual updates.\n      Always verify with Agencia Tributaria, Seguridad Social or a qualified tax adviser.\n      Useful official sources:\n      <a href=\"https:\/\/sede.agenciatributaria.gob.es\/\" target=\"_blank\" rel=\"noopener\">Agencia Tributaria<\/a>,\n      <a href=\"https:\/\/www.seg-social.es\/\" target=\"_blank\" rel=\"noopener\">Seguridad Social<\/a>.\n    <\/div>\n  <\/div>\n\n  <script>\n    const lsStateBrackets = [\n      { upTo: 12450, rate: 0.095 },\n      { upTo: 20200, rate: 0.12 },\n      { upTo: 35200, rate: 0.15 },\n      { upTo: 60000, rate: 0.185 },\n      { upTo: 300000, rate: 0.225 },\n      { upTo: Infinity, rate: 0.245 }\n    ];\n\n    const lsRegions = {\n      andalucia: {\n        name: \"Andalusia\",\n        regional: [\n          { upTo: 12450, rate: 0.095 },\n          { upTo: 20200, rate: 0.12 },\n          { upTo: 35200, rate: 0.15 },\n          { upTo: 60000, rate: 0.185 },\n          { upTo: Infinity, rate: 0.225 }\n        ]\n      },\n      aragon: {\n        name: \"Aragon\",\n        regional: [\n          { upTo: 12450, rate: 0.10 },\n          { upTo: 20200, rate: 0.12 },\n          { upTo: 35200, rate: 0.15 },\n          { upTo: 60000, rate: 0.185 },\n          { upTo: Infinity, rate: 0.245 }\n        ]\n      },\n      asturias: {\n        name: \"Asturias\",\n        regional: [\n          { upTo: 12450, rate: 0.105 },\n          { upTo: 20200, rate: 0.125 },\n          { upTo: 35200, rate: 0.155 },\n          { upTo: 60000, rate: 0.195 },\n          { upTo: Infinity, rate: 0.25 }\n        ]\n      },\n      balearic: {\n        name: \"Balearic Islands\",\n        regional: [\n          { upTo: 12450, rate: 0.10 },\n          { upTo: 20200, rate: 0.12 },\n          { upTo: 35200, rate: 0.15 },\n          { upTo: 60000, rate: 0.185 },\n          { upTo: Infinity, rate: 0.245 }\n        ]\n      },\n      canary: {\n        name: \"Canary Islands\",\n        regional: [\n          { upTo: 12450, rate: 0.095 },\n          { upTo: 20200, rate: 0.12 },\n          { upTo: 35200, rate: 0.14 },\n          { upTo: 60000, rate: 0.185 },\n          { upTo: Infinity, rate: 0.24 }\n        ]\n      },\n      cantabria: {\n        name: \"Cantabria\",\n        regional: [\n          { upTo: 12450, rate: 0.095 },\n          { upTo: 20200, rate: 0.12 },\n          { upTo: 35200, rate: 0.15 },\n          { upTo: 60000, rate: 0.185 },\n          { upTo: Infinity, rate: 0.245 }\n        ]\n      },\n      castilla_leon: {\n        name: \"Castile and Le\u00f3n\",\n        regional: [\n          { upTo: 12450, rate: 0.09 },\n          { upTo: 20200, rate: 0.115 },\n          { upTo: 35200, rate: 0.14 },\n          { upTo: 60000, rate: 0.18 },\n          { upTo: Infinity, rate: 0.22 }\n        ]\n      },\n      castilla_mancha: {\n        name: \"Castile-La Mancha\",\n        regional: [\n          { upTo: 12450, rate: 0.095 },\n          { upTo: 20200, rate: 0.12 },\n          { upTo: 35200, rate: 0.15 },\n          { upTo: 60000, rate: 0.185 },\n          { upTo: Infinity, rate: 0.225 }\n        ]\n      },\n      catalonia: {\n        name: \"Catalonia\",\n        regional: [\n          { upTo: 12450, rate: 0.12 },\n          { upTo: 20200, rate: 0.14 },\n          { upTo: 35200, rate: 0.165 },\n          { upTo: 60000, rate: 0.215 },\n          { upTo: Infinity, rate: 0.255 }\n        ]\n      },\n      valencia: {\n        name: \"Valencian Community\",\n        regional: [\n          { upTo: 12450, rate: 0.10 },\n          { upTo: 20200, rate: 0.12 },\n          { upTo: 35200, rate: 0.14 },\n          { upTo: 60000, rate: 0.185 },\n          { upTo: Infinity, rate: 0.255 }\n        ]\n      },\n      extremadura: {\n        name: \"Extremadura\",\n        regional: [\n          { upTo: 12450, rate: 0.095 },\n          { upTo: 20200, rate: 0.12 },\n          { upTo: 35200, rate: 0.155 },\n          { upTo: 60000, rate: 0.19 },\n          { upTo: Infinity, rate: 0.25 }\n        ]\n      },\n      galicia: {\n        name: \"Galicia\",\n        regional: [\n          { upTo: 12450, rate: 0.095 },\n          { upTo: 20200, rate: 0.115 },\n          { upTo: 35200, rate: 0.135 },\n          { upTo: 60000, rate: 0.175 },\n          { upTo: Infinity, rate: 0.22 }\n        ]\n      },\n      madrid: {\n        name: \"Madrid\",\n        regional: [\n          { upTo: 12450, rate: 0.09 },\n          { upTo: 20200, rate: 0.115 },\n          { upTo: 35200, rate: 0.13 },\n          { upTo: 60000, rate: 0.16 },\n          { upTo: Infinity, rate: 0.225 }\n        ]\n      },\n      murcia: {\n        name: \"Murcia\",\n        regional: [\n          { upTo: 12450, rate: 0.095 },\n          { upTo: 20200, rate: 0.12 },\n          { upTo: 35200, rate: 0.15 },\n          { upTo: 60000, rate: 0.185 },\n          { upTo: Infinity, rate: 0.225 }\n        ]\n      },\n      navarre: {\n        name: \"Navarre\",\n        foral: true,\n        regional: [\n          { upTo: 12450, rate: 0.13 },\n          { upTo: 20200, rate: 0.22 },\n          { upTo: 35200, rate: 0.28 },\n          { upTo: 60000, rate: 0.37 },\n          { upTo: Infinity, rate: 0.52 }\n        ]\n      },\n      basque: {\n        name: \"Basque Country\",\n        foral: true,\n        regional: [\n          { upTo: 12450, rate: 0.13 },\n          { upTo: 20200, rate: 0.20 },\n          { upTo: 35200, rate: 0.28 },\n          { upTo: 60000, rate: 0.37 },\n          { upTo: Infinity, rate: 0.49 }\n        ]\n      },\n      rioja: {\n        name: \"La Rioja\",\n        regional: [\n          { upTo: 12450, rate: 0.095 },\n          { upTo: 20200, rate: 0.12 },\n          { upTo: 35200, rate: 0.145 },\n          { upTo: 60000, rate: 0.19 },\n          { upTo: Infinity, rate: 0.255 }\n        ]\n      },\n      ceuta_melilla: {\n        name: \"Ceuta and Melilla\",\n        specialReduction: 0.50,\n        regional: [\n          { upTo: 12450, rate: 0.095 },\n          { upTo: 20200, rate: 0.12 },\n          { upTo: 35200, rate: 0.15 },\n          { upTo: 60000, rate: 0.185 },\n          { upTo: Infinity, rate: 0.225 }\n        ]\n      }\n    };\n\n    const lsRegionSelect = document.getElementById(\"lsRegion\");\n\n    Object.entries(lsRegions).forEach(([key, region]) => {\n      const option = document.createElement(\"option\");\n      option.value = key;\n      option.textContent = region.name;\n      if (key === \"andalucia\") option.selected = true;\n      lsRegionSelect.appendChild(option);\n    });\n\n    function lsFormatEUR(value) {\n      return new Intl.NumberFormat(\"en-US\", {\n        style: \"currency\",\n        currency: \"EUR\",\n        maximumFractionDigits: 0\n      }).format(value || 0);\n    }\n\n    function lsCalculateProgressiveTax(amount, brackets) {\n      let tax = 0;\n      let previousLimit = 0;\n\n      for (const bracket of brackets) {\n        const taxablePart = Math.max(0, Math.min(amount, bracket.upTo) - previousLimit);\n        tax += taxablePart * bracket.rate;\n        previousLimit = bracket.upTo;\n        if (amount <= bracket.upTo) break;\n      }\n\n      return tax;\n    }\n\n    function lsGetContributionBase(grossAnnual) {\n      const monthlyGross = grossAnnual \/ 12;\n      const minMonthlyBase = 1381.20;\n      const maxMonthlyBase = 5101.20;\n      const cappedMonthlyBase = Math.min(Math.max(monthlyGross, minMonthlyBase), maxMonthlyBase);\n      return cappedMonthlyBase * 12;\n    }\n\n    function lsCalculateFromGross(grossAnnual, regionKey, contractType, payments) {\n      const region = lsRegions[regionKey];\n      const contributionBase = lsGetContributionBase(grossAnnual);\n\n      const commonRate = 0.047;\n      const unemploymentRate = contractType === \"temporary\" ? 0.016 : 0.0155;\n      const trainingRate = 0.001;\n      const meiRate = 0.0013;\n\n      const commonContribution = contributionBase * commonRate;\n      const unemploymentContribution = contributionBase * unemploymentRate;\n      const trainingContribution = contributionBase * trainingRate;\n      const meiContribution = contributionBase * meiRate;\n      const totalSocial = commonContribution + unemploymentContribution + trainingContribution + meiContribution;\n\n      const generalWorkExpenseReduction = 2000;\n      const personalAllowance = 5550;\n\n      const taxableBase = Math.max(0, grossAnnual - totalSocial - generalWorkExpenseReduction - personalAllowance);\n\n      let incomeTax;\n\n      if (region.foral) {\n        incomeTax = lsCalculateProgressiveTax(taxableBase, region.regional);\n      } else {\n        const stateTax = lsCalculateProgressiveTax(taxableBase, lsStateBrackets);\n        const regionalTax = lsCalculateProgressiveTax(taxableBase, region.regional);\n        incomeTax = stateTax + regionalTax;\n      }\n\n      if (region.specialReduction) {\n        incomeTax = incomeTax * region.specialReduction;\n      }\n\n      const annualNet = Math.max(0, grossAnnual - totalSocial - incomeTax);\n      const monthlyNet = annualNet \/ payments;\n      const grossMonthly = grossAnnual \/ payments;\n      const effectiveRate = grossAnnual > 0 ? ((grossAnnual - annualNet) \/ grossAnnual) * 100 : 0;\n\n      return {\n        grossAnnual,\n        grossMonthly,\n        annualNet,\n        monthlyNet,\n        incomeTax,\n        commonContribution,\n        unemploymentContribution,\n        trainingContribution,\n        meiContribution,\n        totalSocial,\n        effectiveRate\n      };\n    }\n\n    function lsFindGrossFromNet(targetMonthlyNet, regionKey, contractType, payments) {\n      const targetAnnualNet = targetMonthlyNet * payments;\n      let low = 0;\n      let high = 500000;\n      let mid = 0;\n      let result = null;\n\n      for (let i = 0; i < 80; i++) {\n        mid = (low + high) \/ 2;\n        result = lsCalculateFromGross(mid, regionKey, contractType, payments);\n\n        if (result.annualNet < targetAnnualNet) {\n          low = mid;\n        } else {\n          high = mid;\n        }\n      }\n\n      return lsCalculateFromGross(high, regionKey, contractType, payments);\n    }\n\n    function calculateLifeSpainSalary() {\n      const mode = document.getElementById(\"lsMode\").value;\n      const salaryInput = Number(document.getElementById(\"lsSalary\").value) || 0;\n      const regionKey = document.getElementById(\"lsRegion\").value;\n      const contractType = document.getElementById(\"lsContract\").value;\n      const payments = Number(document.getElementById(\"lsPayments\").value) || 12;\n      const region = lsRegions[regionKey];\n\n      let result;\n\n      if (mode === \"netToGross\") {\n        result = lsFindGrossFromNet(salaryInput, regionKey, contractType, payments);\n        document.getElementById(\"lsMainResultLabel\").textContent = \"Estimated gross annual salary\";\n        document.getElementById(\"lsMainResult\").textContent = lsFormatEUR(result.grossAnnual);\n      } else {\n        result = lsCalculateFromGross(salaryInput, regionKey, contractType, payments);\n        document.getElementById(\"lsMainResultLabel\").textContent = \"Estimated net monthly salary\";\n        document.getElementById(\"lsMainResult\").textContent = lsFormatEUR(result.monthlyNet);\n      }\n\n      document.getElementById(\"lsGrossAnnual\").textContent = lsFormatEUR(result.grossAnnual);\n      document.getElementById(\"lsGrossMonthly\").textContent = lsFormatEUR(result.grossMonthly);\n      document.getElementById(\"lsNetAnnual\").textContent = lsFormatEUR(result.annualNet);\n      document.getElementById(\"lsNetMonthly\").textContent = lsFormatEUR(result.monthlyNet);\n      document.getElementById(\"lsIncomeTax\").textContent = lsFormatEUR(result.incomeTax);\n      document.getElementById(\"lsTotalSocial\").textContent = lsFormatEUR(result.totalSocial);\n      document.getElementById(\"lsEffectiveRate\").textContent = result.effectiveRate.toFixed(1) + \"%\";\n      document.getElementById(\"lsSelectedRegion\").textContent = region.name;\n\n      document.getElementById(\"lsCommonContribution\").textContent = lsFormatEUR(result.commonContribution);\n      document.getElementById(\"lsUnemploymentContribution\").textContent = lsFormatEUR(result.unemploymentContribution);\n      document.getElementById(\"lsTrainingContribution\").textContent = lsFormatEUR(result.trainingContribution);\n      document.getElementById(\"lsMeiContribution\").textContent = lsFormatEUR(result.meiContribution);\n    }\n\n    document.getElementById(\"lsMode\").addEventListener(\"change\", function () {\n      const label = document.getElementById(\"lsSalaryLabel\");\n      const input = document.getElementById(\"lsSalary\");\n\n      if (this.value === \"netToGross\") {\n        label.textContent = \"Desired net monthly salary (\u20ac)\";\n        input.value = 2200;\n      } else {\n        label.textContent = \"Gross annual salary (\u20ac)\";\n        input.value = 35000;\n      }\n\n      calculateLifeSpainSalary();\n    });\n\n    document.getElementById(\"lsSalary\").addEventListener(\"input\", calculateLifeSpainSalary);\n    document.getElementById(\"lsRegion\").addEventListener(\"change\", calculateLifeSpainSalary);\n    document.getElementById(\"lsContract\").addEventListener(\"change\", calculateLifeSpainSalary);\n    document.getElementById(\"lsPayments\").addEventListener(\"change\", calculateLifeSpainSalary);\n\n    calculateLifeSpainSalary();\n  <\/script>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Spain salary calculator Spain Net to Gross Salary Calculator Estimate your gross annual salary, net monthly salary, IRPF income tax and employee Social Security contributions in Spain by autonomous community. Visit Life Spain home page Calculation mode Net salary to gross salaryGross salary to net salary Desired net monthly salary (\u20ac) Salary payments 12 payments14 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":154,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-149","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Spain Salary Calculator: Net to Gross Pay by Region<\/title>\n<meta name=\"description\" content=\"Calculate your estimated net or gross salary in Spain by autonomous community, including IRPF income tax and Social Security contributions.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/life-spain.com\/de\/spain-salary-calculator\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spain Salary Calculator: Net to Gross Pay by Region\" \/>\n<meta property=\"og:description\" content=\"Calculate your estimated net or gross salary in Spain by autonomous community, including IRPF income tax and Social Security contributions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/life-spain.com\/de\/spain-salary-calculator\/\" \/>\n<meta property=\"og:site_name\" content=\"Life in Spain\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-27T00:32:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/life-spain.com\/wp-content\/uploads\/2026\/06\/Spain-Net-to-Gross-Salary-Calculator-by-Autonomous-Community-1024x683.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"683\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"1\u00a0Minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/life-spain.com\\\/spain-salary-calculator\\\/\",\"url\":\"https:\\\/\\\/life-spain.com\\\/spain-salary-calculator\\\/\",\"name\":\"Spain Salary Calculator: Net to Gross Pay by Region\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/life-spain.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/life-spain.com\\\/spain-salary-calculator\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/life-spain.com\\\/spain-salary-calculator\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/life-spain.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Spain-Net-to-Gross-Salary-Calculator-by-Autonomous-Community.png\",\"datePublished\":\"2026-06-26T20:44:30+00:00\",\"dateModified\":\"2026-06-27T00:32:06+00:00\",\"description\":\"Calculate your estimated net or gross salary in Spain by autonomous community, including IRPF income tax and Social Security contributions.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/life-spain.com\\\/spain-salary-calculator\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/life-spain.com\\\/spain-salary-calculator\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/life-spain.com\\\/spain-salary-calculator\\\/#primaryimage\",\"url\":\"https:\\\/\\\/life-spain.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Spain-Net-to-Gross-Salary-Calculator-by-Autonomous-Community.png\",\"contentUrl\":\"https:\\\/\\\/life-spain.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Spain-Net-to-Gross-Salary-Calculator-by-Autonomous-Community.png\",\"width\":1536,\"height\":1024,\"caption\":\"Calculate your estimated net or gross salary in Spain by autonomous community, including IRPF income tax, Social Security contributions, effective tax rate and monthly take-home pay.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/life-spain.com\\\/spain-salary-calculator\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/life-spain.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Spain Net to Gross &amp; Gross to Net Salary Calculator\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/life-spain.com\\\/#website\",\"url\":\"https:\\\/\\\/life-spain.com\\\/\",\"name\":\"Life in Spain\",\"description\":\"Practical Guides to Living, Moving, Working and Retiring in Spain\",\"publisher\":{\"@id\":\"https:\\\/\\\/life-spain.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/life-spain.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/life-spain.com\\\/#organization\",\"name\":\"Life in Spain\",\"url\":\"https:\\\/\\\/life-spain.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/life-spain.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/life-spain.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/cropped-Life-in-Spain-Logo-\u2013-Living-Working-and-Exploring-Spain.png\",\"contentUrl\":\"https:\\\/\\\/life-spain.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/cropped-Life-in-Spain-Logo-\u2013-Living-Working-and-Exploring-Spain.png\",\"width\":512,\"height\":512,\"caption\":\"Life in Spain\"},\"image\":{\"@id\":\"https:\\\/\\\/life-spain.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Spain Salary Calculator: Net to Gross Pay by Region","description":"Calculate your estimated net or gross salary in Spain by autonomous community, including IRPF income tax and Social Security contributions.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/life-spain.com\/de\/spain-salary-calculator\/","og_locale":"de_DE","og_type":"article","og_title":"Spain Salary Calculator: Net to Gross Pay by Region","og_description":"Calculate your estimated net or gross salary in Spain by autonomous community, including IRPF income tax and Social Security contributions.","og_url":"https:\/\/life-spain.com\/de\/spain-salary-calculator\/","og_site_name":"Life in Spain","article_modified_time":"2026-06-27T00:32:06+00:00","og_image":[{"width":1024,"height":683,"url":"https:\/\/life-spain.com\/wp-content\/uploads\/2026\/06\/Spain-Net-to-Gross-Salary-Calculator-by-Autonomous-Community-1024x683.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"1\u00a0Minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/life-spain.com\/spain-salary-calculator\/","url":"https:\/\/life-spain.com\/spain-salary-calculator\/","name":"Spain Salary Calculator: Net to Gross Pay by Region","isPartOf":{"@id":"https:\/\/life-spain.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/life-spain.com\/spain-salary-calculator\/#primaryimage"},"image":{"@id":"https:\/\/life-spain.com\/spain-salary-calculator\/#primaryimage"},"thumbnailUrl":"https:\/\/life-spain.com\/wp-content\/uploads\/2026\/06\/Spain-Net-to-Gross-Salary-Calculator-by-Autonomous-Community.png","datePublished":"2026-06-26T20:44:30+00:00","dateModified":"2026-06-27T00:32:06+00:00","description":"Calculate your estimated net or gross salary in Spain by autonomous community, including IRPF income tax and Social Security contributions.","breadcrumb":{"@id":"https:\/\/life-spain.com\/spain-salary-calculator\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/life-spain.com\/spain-salary-calculator\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/life-spain.com\/spain-salary-calculator\/#primaryimage","url":"https:\/\/life-spain.com\/wp-content\/uploads\/2026\/06\/Spain-Net-to-Gross-Salary-Calculator-by-Autonomous-Community.png","contentUrl":"https:\/\/life-spain.com\/wp-content\/uploads\/2026\/06\/Spain-Net-to-Gross-Salary-Calculator-by-Autonomous-Community.png","width":1536,"height":1024,"caption":"Calculate your estimated net or gross salary in Spain by autonomous community, including IRPF income tax, Social Security contributions, effective tax rate and monthly take-home pay."},{"@type":"BreadcrumbList","@id":"https:\/\/life-spain.com\/spain-salary-calculator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/life-spain.com\/"},{"@type":"ListItem","position":2,"name":"Spain Net to Gross &amp; Gross to Net Salary Calculator"}]},{"@type":"WebSite","@id":"https:\/\/life-spain.com\/#website","url":"https:\/\/life-spain.com\/","name":"Leben in Spanien","description":"Praktische Ratgeber f\u00fcr Leben, Umzug, Arbeiten und Ruhestand in Spanien","publisher":{"@id":"https:\/\/life-spain.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/life-spain.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/life-spain.com\/#organization","name":"Leben in Spanien","url":"https:\/\/life-spain.com\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/life-spain.com\/#\/schema\/logo\/image\/","url":"https:\/\/life-spain.com\/wp-content\/uploads\/2026\/06\/cropped-Life-in-Spain-Logo-\u2013-Living-Working-and-Exploring-Spain.png","contentUrl":"https:\/\/life-spain.com\/wp-content\/uploads\/2026\/06\/cropped-Life-in-Spain-Logo-\u2013-Living-Working-and-Exploring-Spain.png","width":512,"height":512,"caption":"Life in Spain"},"image":{"@id":"https:\/\/life-spain.com\/#\/schema\/logo\/image\/"}}]}},"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/life-spain.com\/de\/wp-json\/wp\/v2\/pages\/149","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/life-spain.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/life-spain.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/life-spain.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/life-spain.com\/de\/wp-json\/wp\/v2\/comments?post=149"}],"version-history":[{"count":3,"href":"https:\/\/life-spain.com\/de\/wp-json\/wp\/v2\/pages\/149\/revisions"}],"predecessor-version":[{"id":155,"href":"https:\/\/life-spain.com\/de\/wp-json\/wp\/v2\/pages\/149\/revisions\/155"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/life-spain.com\/de\/wp-json\/wp\/v2\/media\/154"}],"wp:attachment":[{"href":"https:\/\/life-spain.com\/de\/wp-json\/wp\/v2\/media?parent=149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}