{"id":1665,"date":"2026-05-18T08:04:14","date_gmt":"2026-05-18T08:04:14","guid":{"rendered":"https:\/\/aiper.com\/blogs\/?page_id=1665"},"modified":"2026-10-21T09:17:21","modified_gmt":"2026-10-21T09:17:21","slug":"calculadora-sal-piscinas","status":"publish","type":"page","link":"https:\/\/aiper.com\/blogs\/es\/calculadora-sal-piscinas\/","title":{"rendered":"Calculadora de sal para piscinas"},"content":{"rendered":"\n<style>#pool-salt-calc-wrapper *, #pool-salt-calc-wrapper *::before, #pool-salt-calc-wrapper *::after { box-sizing: border-box; }\n#pool-salt-calc-wrapper {\n    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, sans-serif;\n    max-width: 680px; margin: 20px auto; padding: 0; line-height: 1.5;\n    --psc-teal: #1ecad3; --psc-teal-dark: #17a8b0; --psc-teal-light: #e8fafa;\n    --psc-bg: #ffffff; --psc-border: #e2e8f0; --psc-text: #2d3748; --psc-text-light: #5a6c7d;\n    --psc-shadow: 0 4px 24px rgba(0, 0, 0, 0.07); --psc-radius: 16px; --psc-radius-sm: 10px; --psc-radius-xs: 6px;\n}\n#pool-salt-calc-wrapper .psc-intro { max-width: 680px; margin: 0 auto 16px; padding: 0 24px; text-align: center; color: var(--psc-text-light); font-size: 15px; line-height: 1.5; }\n#pool-salt-calc-wrapper .psc-card { background: var(--psc-bg); border-radius: var(--psc-radius); box-shadow: var(--psc-shadow); padding: 28px 24px; margin-bottom: 20px; border: 1px solid var(--psc-border); }\n#pool-salt-calc-wrapper .psc-subtitle { font-size: 0.9rem; color: var(--psc-text-light); margin: 0 0 20px 0; }\n#pool-salt-calc-wrapper .psc-label { display: block; font-weight: 600; font-size: 0.9rem; color: var(--psc-text); margin-bottom: 5px; }\n#pool-salt-calc-wrapper .psc-input-row { display: flex; gap: 10px; align-items: stretch; margin-bottom: 18px; }\n#pool-salt-calc-wrapper .psc-input-field { flex: 1; padding: 12px 14px; border: 2px solid var(--psc-border); border-radius: var(--psc-radius-xs); font-size: 1rem; background: #f9fafb; outline: none; width: 100%; }\n#pool-salt-calc-wrapper .psc-input-field:focus { border-color: var(--psc-teal); background: #fff; }\n#pool-salt-calc-wrapper .psc-unit-toggle { display: flex; background: #f1f5f9; border-radius: var(--psc-radius-xs); overflow: hidden; border: 2px solid var(--psc-border); flex-wrap: wrap; }\n#pool-salt-calc-wrapper .psc-unit-btn { padding: 8px 14px; font-size: 0.85rem; font-weight: 600; cursor: pointer; border: none; background: transparent; color: var(--psc-text-light); }\n#pool-salt-calc-wrapper .psc-unit-btn:focus, #pool-salt-calc-wrapper .psc-unit-btn:active { outline: 2px solid var(--psc-teal); outline-offset: -2px; }\n#pool-salt-calc-wrapper .psc-unit-btn.psc-active { background: var(--psc-teal); color: #fff; }\n#pool-salt-calc-wrapper .psc-brand-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }\n#pool-salt-calc-wrapper .psc-brand-btn { padding: 6px 13px; font-size: 0.78rem; font-weight: 600; border-radius: 20px; border: 1.5px solid var(--psc-border); background: #fff; color: var(--psc-text-light); cursor: pointer; }\n#pool-salt-calc-wrapper .psc-brand-btn:focus, #pool-salt-calc-wrapper .psc-brand-btn:active { outline: 2px solid var(--psc-teal); outline-offset: 1px; }\n#pool-salt-calc-wrapper .psc-brand-btn.psc-active { border-color: var(--psc-teal); background: var(--psc-teal-light); color: var(--psc-teal-dark); }\n#pool-salt-calc-wrapper .psc-bagsize-row { display: flex; align-items: center; gap: 10px; margin-top: 16px; font-size: 0.85rem; color: var(--psc-text-light); flex-wrap: wrap; }\n#pool-salt-calc-wrapper .psc-result-area { display: none; margin-top: 25px; }\n#pool-salt-calc-wrapper .psc-result-area.psc-visible { display: block; animation: pscFade 0.4s ease; }\n@keyframes pscFade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }\n#pool-salt-calc-wrapper .psc-result-card { background: linear-gradient(135deg, #f0fdfa 0%, #e6faf9 100%); border: 2px solid var(--psc-teal); border-radius: var(--psc-radius-sm); padding: 24px; text-align: center; }\n#pool-salt-calc-wrapper .psc-result-label { font-size: 0.85rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--psc-teal-dark); margin: 0 0 8px; }\n#pool-salt-calc-wrapper .psc-result-amount { font-size: 2.8rem; font-weight: 800; color: var(--psc-teal-dark); }\n#pool-salt-calc-wrapper .psc-result-amount .psc-unit-label { font-size: 1.2rem; }\n#pool-salt-calc-wrapper .psc-desc { margin: 5px 0 0; color: var(--psc-text-light); font-size: 0.92rem; }\n#pool-salt-calc-wrapper .psc-warn { display: none; margin-top: 12px; padding: 10px 14px; background: #fff7ed; border: 1px solid #fed7aa; border-radius: var(--psc-radius-xs); color: #9a3412; font-size: 0.82rem; text-align: left; }\n#pool-salt-calc-wrapper .psc-warn.psc-visible { display: block; }\n#pool-salt-calc-wrapper .psc-toggle-row { display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 20px; font-size: 0.85rem; color: var(--psc-text-light); }\n#pool-salt-calc-wrapper .psc-bag-info { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; background: #fff; border-radius: 30px; padding: 10px 20px; margin-top: 15px; border: 1px solid var(--psc-border); }\n#pool-salt-calc-wrapper .psc-bag-count { color: var(--psc-teal-dark); font-size: 1.2rem; }\n#pool-salt-calc-wrapper .psc-bag-weight-label { margin-left: 5px; }\n#pool-salt-calc-wrapper .psc-algebra { margin: 14px 0 0; font-size: 0.78rem; color: #8899a6; }\n#pool-salt-calc-wrapper .psc-next { margin: 14px 0 0; font-size: 0.85rem; color: var(--psc-text-light); text-align: center; }\n#pool-salt-calc-wrapper .psc-next a { color: var(--psc-teal-dark); font-weight: 600; text-decoration: none; }\n#pool-salt-calc-wrapper .psc-next a:hover { text-decoration: underline; }\n#pool-salt-calc-wrapper .psc-info-section { display: none; margin-top: 20px; }\n#pool-salt-calc-wrapper .psc-info-section.psc-visible { display: block; }\n#pool-salt-calc-wrapper .psc-info-card { background: #fff; border: 1px solid var(--psc-border); border-radius: var(--psc-radius-sm); padding: 20px; font-size: 0.9rem; }\n#pool-salt-calc-wrapper .psc-info-title { font-weight: 700; font-size: 1rem; margin-bottom: 10px; }\n#pool-salt-calc-wrapper ol.psc-howto-list { margin: 0; padding: 0 0 0 20px; }\n#pool-salt-calc-wrapper ol.psc-howto-list li { margin-bottom: 6px; }\n#pool-salt-calc-wrapper .psc-error-msg { color: #dc2626; font-size: 0.85rem; font-weight: 600; text-align: center; margin-top: 10px; display: none; }\n#pool-salt-calc-wrapper .psc-error-msg.psc-visible { display: block; }\n@media (max-width: 500px) { #pool-salt-calc-wrapper .psc-input-row { flex-direction: column; } }\n\n#pool-salt-calc-wrapper .psc-calculate-btn { display: block; width: 100%; padding: 14px 30px; background: linear-gradient(135deg, #1ecad3, #9486f7); color: #fff; border: none; border-radius: 999px; font-size: 16px; font-weight: 600; letter-spacing: .5px; cursor: pointer; transition: all .2s; margin-top: 10px; }\n#pool-salt-calc-wrapper .psc-calculate-btn:hover { background: linear-gradient(135deg, #169fa6, #7b6be0); color: #fff; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(148,134,247,.35); }\n#pool-salt-calc-wrapper .psc-calculate-btn:focus, #pool-salt-calc-wrapper .psc-calculate-btn:active { color: #fff; outline: none; box-shadow: 0 0 0 3px rgba(148,134,247,.45); }\n#pool-salt-calc-wrapper .psc-btn-row { display: flex; gap: 12px; max-width: 420px; margin: 26px auto 0; flex-wrap: wrap; }\n#pool-salt-calc-wrapper .psc-btn-row .psc-calculate-btn { flex: 1; min-width: 160px; width: auto; margin: 0; }\n#pool-salt-calc-wrapper .psc-reset-btn { display: block; flex: 1; min-width: 120px; padding: 14px 20px; background: #fff; color: #5a6c7d; border: 2px solid #d1e8ea; border-radius: 999px; font-size: 16px; font-weight: 600; letter-spacing: .5px; cursor: pointer; transition: all .2s; }\n#pool-salt-calc-wrapper .psc-reset-btn:hover { background: #f0f7f8; border-color: #1ecad3; color: #0f8c94; }\n#pool-salt-calc-wrapper .psc-reset-btn:focus, #pool-salt-calc-wrapper .psc-reset-btn:active { background: #fff; outline: none; border-color: #9486f7; color: #0f8c94; }\n@media (max-width: 600px) { #pool-salt-calc-wrapper .psc-btn-row { flex-direction: column; max-width: 280px; } #pool-salt-calc-wrapper .psc-reset-btn { padding: 12px 20px; font-size: 14px; } }\n<\/style>\n<!-- Pool Salt Calculator - WordPress Custom HTML Block -->\n<div id=\"pool-salt-calc-wrapper\">\n    <p class=\"psc-intro\">Descubre exactamente cu\u00e1nta sal a\u00f1adir para tu clorador salino \u2014 o, si tu nivel ya es demasiado alto, cu\u00e1nta agua vaciar y reponer.<\/p>\n    <div class=\"psc-card\">\n        <p class=\"psc-subtitle\">Indica el volumen de tu piscina y tu nivel de sal actual para obtener la cantidad exacta, en kilogramos o libras.<\/p>\n\n        <label class=\"psc-label\">Volumen de la piscina<\/label>\n        <div class=\"psc-input-row\">\n            <input type=\"number\" id=\"psc-pool-volume\" class=\"psc-input-field\" placeholder=\"ej. 15000\">\n            <div class=\"psc-unit-toggle\" id=\"psc-volume-unit-toggle\">\n                <button type=\"button\" class=\"psc-unit-btn\" data-unit=\"gallons\">Galones<\/button>\n                <button type=\"button\" class=\"psc-unit-btn psc-active\" data-unit=\"liters\">Litros<\/button>\n            <\/div>\n        <\/div>\n\n        <label class=\"psc-label\">Nivel de sal actual (ppm)<\/label>\n        <div class=\"psc-input-row\">\n            <input type=\"number\" id=\"psc-current-salt\" class=\"psc-input-field\" placeholder=\"ej. 1800\" value=\"0\">\n        <\/div>\n\n        <label class=\"psc-label\">Nivel de sal objetivo (ppm)<\/label>\n        <div class=\"psc-input-row\">\n            <input type=\"number\" id=\"psc-target-salt\" class=\"psc-input-field\" placeholder=\"ej. 3200\" value=\"3200\">\n        <\/div>\n        <div class=\"psc-brand-row\" id=\"psc-brand-row\">\n            <button type=\"button\" class=\"psc-brand-btn\" data-target=\"3000\">Intex<\/button>\n            <button type=\"button\" class=\"psc-brand-btn\" data-target=\"4000\">AstralPool<\/button>\n            <button type=\"button\" class=\"psc-brand-btn\" data-target=\"4000\">Idegis<\/button>\n            <button type=\"button\" class=\"psc-brand-btn\" data-target=\"4000\">Bayrol<\/button>\n        <\/div>\n\n        <div class=\"psc-btn-row\">\n\n            <button type=\"button\" id=\"psc-calculate-btn\" class=\"psc-calculate-btn\">Calcular<\/button>\n\n            <button type=\"button\" id=\"psc-reset-btn\" class=\"psc-reset-btn\">Restablecer<\/button>\n\n        <\/div>\n        <p id=\"psc-error-msg\" class=\"psc-error-msg\"><\/p>\n\n        <div id=\"psc-result-area\" class=\"psc-result-area\">\n            <div class=\"psc-result-card\">\n                <p class=\"psc-result-label\" id=\"psc-result-label\">Sal a a\u00f1adir<\/p>\n                <div class=\"psc-result-amount\">\n                    <span id=\"psc-salt-amount\">0<\/span>\n                    <span id=\"psc-salt-unit-display\" class=\"psc-unit-label\">kg<\/span>\n                <\/div>\n                <p id=\"psc-desc\" class=\"psc-desc\">Esta cantidad de sal es necesaria para alcanzar tu nivel objetivo.<\/p>\n                <div id=\"psc-warn\" class=\"psc-warn\"><\/div>\n                <div class=\"psc-bag-info\" id=\"psc-bag-info\">\n                    Aproximadamente <span id=\"psc-bag-count\" class=\"psc-bag-count\">0<\/span> sacos\n                    <small id=\"psc-bag-weight-label\" class=\"psc-bag-weight-label\">(25 kg por saco)<\/small>\n                <\/div>\n                <div class=\"psc-bagsize-row\" id=\"psc-bagsize-row\">\n                    <span>Tama\u00f1o del saco:<\/span>\n                    <div class=\"psc-unit-toggle\" id=\"psc-bagsize-toggle\"><\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"psc-toggle-row\" id=\"psc-toggle-row\">\n                <span>Mostrar resultado en:<\/span>\n                <div class=\"psc-unit-toggle\" id=\"psc-result-unit-toggle\">\n                    <button type=\"button\" class=\"psc-unit-btn\" data-unit=\"lbs\">Libras (lbs)<\/button>\n                    <button type=\"button\" class=\"psc-unit-btn psc-active\" data-unit=\"kg\">Kilogramos (kg)<\/button>\n                <\/div>\n            <\/div>\n            <p class=\"psc-algebra\" id=\"psc-algebra\"><\/p>\n            <p class=\"psc-next\">\u00bfNo conoces el volumen de tu piscina? Usa nuestra <a href=\"https:\/\/aiper.com\/blogs\/es\/calcular-volumen-piscina\/\">calculadora de volumen de piscina<\/a>.<\/p>\n        <\/div>\n    <\/div>\n\n    <div id=\"psc-info-section\" class=\"psc-info-section\">\n        <div class=\"psc-info-card\">\n            <div class=\"psc-info-title\">C\u00f3mo a\u00f1adir sal a tu piscina<\/div>\n            <ol class=\"psc-howto-list\">\n                <li>Apaga el clorador salino y reparte la cantidad de sal calculada de manera uniforme por el per\u00edmetro de la piscina (nunca directamente en el skimmer).<\/li>\n                <li>Cepilla la sal no disuelta del fondo y las paredes para que no se acumule en un punto y manche el revestimiento.<\/li>\n                <li>Mant\u00e9n la bomba en marcha sin parar durante al menos 24 horas para que la sal se disuelva y circule por completo.<\/li>\n                <li>Vuelve a medir el nivel de sal una vez disuelta, y enciende de nuevo el clorador.<\/li>\n            <\/ol>\n        <\/div>\n    <\/div>\n<\/div>\n\n<script>(function() {\n    var get = function(id) { return document.getElementById(id); };\n    var BRANDS = [];\n    var BAG_OPTS = { lbs: [40, 50, 25], kg: [25, 20] };\n    var state = { vUnit: 'liters', rUnit: 'kg', bagSize: 25, res: null };\n\n    var fmt = function(n) {\n        if (n >= 100) return Math.round(n).toLocaleString('es-ES');\n        return (Math.round(n * 10) \/ 10).toLocaleString('es-ES');\n    };\n\n    var clearBrandActive = function() {\n        Array.from(get('psc-brand-row').children).forEach(function(b) { b.classList.remove('psc-active'); });\n    };\n\n    get('psc-brand-row').addEventListener('click', function(e) {\n        if (!e.target.classList.contains('psc-brand-btn')) return;\n        clearBrandActive();\n        e.target.classList.add('psc-active');\n        get('psc-target-salt').value = e.target.dataset.target;\n    });\n    get('psc-target-salt').addEventListener('input', clearBrandActive);\n\n    var buildBagToggle = function() {\n        var wrap = get('psc-bagsize-toggle');\n        wrap.innerHTML = '';\n        BAG_OPTS[state.rUnit].forEach(function(sz) {\n            var b = document.createElement('button');\n            b.type = 'button';\n            b.className = 'psc-unit-btn' + (sz === state.bagSize ? ' psc-active' : '');\n            b.textContent = sz + ' ' + state.rUnit;\n            b.dataset.size = sz;\n            b.addEventListener('click', function() {\n                state.bagSize = sz;\n                buildBagToggle();\n                render();\n            });\n            wrap.appendChild(b);\n        });\n    };\n\n    var showError = function(msg) {\n        var err = get('psc-error-msg');\n        err.textContent = msg;\n        err.classList.add('psc-visible');\n        get('psc-result-area').classList.remove('psc-visible');\n        get('psc-info-section').classList.remove('psc-visible');\n    };\n\n    var calc = function() {\n        var err = get('psc-error-msg');\n        err.classList.remove('psc-visible');\n        err.textContent = '';\n\n        var v = parseFloat(get('psc-pool-volume').value);\n        var cRaw = get('psc-current-salt').value;\n        var c = cRaw === '' ? NaN : parseFloat(cRaw);\n        var t = parseFloat(get('psc-target-salt').value);\n\n        if (!v || v <= 0 || isNaN(v)) { showError('Introduce el volumen de tu piscina.'); return; }\n        if (isNaN(c) || c < 0) { showError('Introduce tu nivel de sal actual (0 si la piscina es nueva o se acaba de llenar).'); return; }\n        if (!t || t <= 0 || isNaN(t)) { showError('Introduce tu nivel de sal objetivo.'); return; }\n\n        var warn = get('psc-warn');\n        if (t > 4500) {\n            warn.textContent = \"Un objetivo superior a 4.500 ppm supera el m\u00e1ximo de la mayor\u00eda de cloradores salinos \u2014 consulta el manual de tu equipo antes de a\u00f1adir esta cantidad de sal.\";\n            warn.classList.add('psc-visible');\n        } else {\n            warn.textContent = '';\n            warn.classList.remove('psc-visible');\n        }\n\n        if (Math.abs(c - t) < 1) {\n            state.res = { mode: 'none' };\n        } else if (c > t) {\n            var drainAmt = v * (c - t) \/ c;\n            var pct = (c - t) \/ c * 100;\n            state.res = { mode: 'drain', drain: drainAmt, pct: pct, v: v, vUnit: state.vUnit };\n        } else {\n            var diff = t - c;\n            var lbs = (state.vUnit === 'gallons') ? (diff * v * 8.34 \/ 1000000) : (diff * v \/ 1000000 * 2.20462);\n            state.res = { mode: 'add', lbs: lbs, kg: lbs \/ 2.20462, diff: diff, v: v, c: c, t: t, vUnit: state.vUnit };\n        }\n\n        get('psc-result-area').classList.add('psc-visible');\n        get('psc-info-section').classList.add('psc-visible');\n        render();\n        get('psc-result-area').scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n    };\n\n    var render = function() {\n        if (!state.res) return;\n        var label = get('psc-result-label');\n        var amount = get('psc-salt-amount');\n        var unitDisplay = get('psc-salt-unit-display');\n        var desc = get('psc-desc');\n        var bagInfo = get('psc-bag-info');\n        var bagsizeRow = get('psc-bagsize-row');\n        var toggleRow = get('psc-toggle-row');\n        var algebra = get('psc-algebra');\n\n        if (state.res.mode === 'none') {\n            label.textContent = 'Ya en el nivel objetivo';\n            amount.textContent = '0';\n            unitDisplay.textContent = state.rUnit;\n            desc.textContent = 'Tu nivel de sal ya coincide con tu objetivo \u2014 no es necesario a\u00f1adir sal.';\n            bagInfo.style.display = 'none';\n            bagsizeRow.style.display = 'none';\n            toggleRow.style.display = 'none';\n            algebra.textContent = '';\n            return;\n        }\n\n        if (state.res.mode === 'drain') {\n            var unitLabel = state.res.vUnit === 'gallons' ? 'gal EE. UU.' : 'litros';\n            label.textContent = 'Agua a vaciar y reponer';\n            amount.textContent = fmt(state.res.drain);\n            unitDisplay.textContent = unitLabel;\n            desc.textContent = 'de agua de la piscina \u2014 vac\u00edala y rell\u00e9nala con agua dulce (aproximadamente ' + Math.round(state.res.pct) + '% de tu piscina) para bajar el nivel de sal hasta tu objetivo.';\n            bagInfo.style.display = 'none';\n            bagsizeRow.style.display = 'none';\n            toggleRow.style.display = 'none';\n            algebra.textContent = 'Tus cifras: ' + fmt(state.res.v) + ' ' + unitLabel + ' \u00d7 ' + Math.round(state.res.pct) + '% \u2248 ' + fmt(state.res.drain) + ' ' + unitLabel + ' a vaciar';\n            return;\n        }\n\n        bagInfo.style.display = '';\n        bagsizeRow.style.display = '';\n        toggleRow.style.display = '';\n        var isLbs = state.rUnit === 'lbs';\n        var val = isLbs ? state.res.lbs : state.res.kg;\n        label.textContent = 'Sal a a\u00f1adir';\n        amount.textContent = fmt(val);\n        unitDisplay.textContent = state.rUnit;\n        desc.textContent = 'Esta cantidad de sal es necesaria para alcanzar tu nivel objetivo.';\n        get('psc-bag-count').textContent = Math.ceil(val \/ state.bagSize);\n        get('psc-bag-weight-label').textContent = '(' + state.bagSize + ' ' + state.rUnit + ' por saco)';\n\n        var volUnitLabel = state.res.vUnit === 'gallons' ? 'gal' : 'L';\n        var base = 'Tus cifras: (' + fmt(state.res.t) + ' \u2212 ' + fmt(state.res.c) + ') ppm \u00d7 ' + fmt(state.res.v) + ' ' + volUnitLabel;\n        if (state.res.vUnit === 'gallons' && state.rUnit === 'lbs') {\n            algebra.textContent = base + ' \u00d7 8.34 \u00f7 1,000,000 \u2248 ' + fmt(state.res.lbs) + ' lbs';\n        } else if (state.res.vUnit === 'liters' && state.rUnit === 'kg') {\n            algebra.textContent = base + ' \u00f7 1,000,000 \u2248 ' + fmt(state.res.kg) + ' kg';\n        } else if (state.res.vUnit === 'liters' && state.rUnit === 'lbs') {\n            algebra.textContent = base + ' \u00f7 1,000,000 \u00d7 2.20462 \u2248 ' + fmt(state.res.lbs) + ' lbs';\n        } else {\n            algebra.textContent = base + ' \u00d7 8.34 \u00f7 1,000,000 \u00f7 2.20462 \u2248 ' + fmt(state.res.kg) + ' kg';\n        }\n    };\n\n    get('psc-volume-unit-toggle').onclick = function(e) {\n        if (!e.target.classList.contains('psc-unit-btn')) return;\n        state.vUnit = e.target.dataset.unit;\n        Array.from(get('psc-volume-unit-toggle').children).forEach(function(b) { b.classList.toggle('psc-active', b === e.target); });\n    };\n\n    get('psc-result-unit-toggle').onclick = function(e) {\n        if (!e.target.classList.contains('psc-unit-btn')) return;\n        state.rUnit = e.target.dataset.unit;\n        state.bagSize = BAG_OPTS[state.rUnit][0];\n        Array.from(get('psc-result-unit-toggle').children).forEach(function(b) { b.classList.toggle('psc-active', b === e.target); });\n        buildBagToggle();\n        render();\n    };\n\n\n    var INIT = {\n        vUnit: state.vUnit, rUnit: state.rUnit, bagSize: state.bagSize,\n        current: get('psc-current-salt').value, target: get('psc-target-salt').value\n    };\n    get('psc-reset-btn').onclick = function() {\n        get('psc-pool-volume').value = '';\n        get('psc-current-salt').value = INIT.current;\n        get('psc-target-salt').value = INIT.target;\n        clearBrandActive();\n        state.vUnit = INIT.vUnit; state.rUnit = INIT.rUnit; state.bagSize = INIT.bagSize; state.res = null;\n        Array.from(get('psc-volume-unit-toggle').children).forEach(function(b) { b.classList.toggle('psc-active', b.dataset.unit === INIT.vUnit); });\n        Array.from(get('psc-result-unit-toggle').children).forEach(function(b) { b.classList.toggle('psc-active', b.dataset.unit === INIT.rUnit); });\n        var err = get('psc-error-msg');\n        err.classList.remove('psc-visible');\n        err.textContent = '';\n        get('psc-result-area').classList.remove('psc-visible');\n        get('psc-info-section').classList.remove('psc-visible');\n        buildBagToggle();\n        get('psc-pool-volume').focus();\n    };\n    get('psc-calculate-btn').onclick = calc;\n    buildBagToggle();\n})();\n<\/script>\n\n\n\n<style>\n  #pool-salt-reference-table {\n    max-width: 860px;\n    margin: 2.5rem auto;\n    font-family: 'Inter', system-ui, sans-serif;\n    color: #2c3e50;\n    scroll-margin-top: 80px;\n  }\n  #pool-salt-reference-table h2 {\n    font-size: 1.5rem;\n    font-weight: 700;\n    color: #17a8b0;\n    margin: 0 0 8px;\n  }\n  #pool-salt-reference-table .psalt-subtitle {\n    font-size: 0.9rem;\n    color: #5a6c7d;\n    margin: 0 0 20px;\n    line-height: 1.5;\n  }\n  .psalt-table-wrap {\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n    border: 1px solid #e0e5eb;\n    border-radius: 14px;\n    box-shadow: 0 4px 16px rgba(0,0,0,0.04);\n  }\n  .psalt-table {\n    width: 100%;\n    border-collapse: collapse;\n    font-size: 0.88rem;\n    min-width: 620px;\n  }\n  .psalt-table thead th {\n    background: linear-gradient(135deg, #1ecad3, #9486f7);\n    color: #fff;\n    font-weight: 600;\n    font-size: 0.78rem;\n    text-transform: uppercase;\n    letter-spacing: 0.05em;\n    padding: 12px 10px;\n    text-align: center;\n    white-space: nowrap;\n  }\n  .psalt-table thead th:first-child { border-radius: 13px 0 0 0; text-align: left; }\n  .psalt-table thead th:last-child { border-radius: 0 13px 0 0; }\n  .psalt-table tbody td {\n    padding: 10px 10px;\n    border-bottom: 1px solid #eef1f5;\n    vertical-align: middle;\n    text-align: center;\n  }\n  .psalt-table tbody tr:nth-child(even) { background: #fafcfd; }\n  .psalt-table tbody tr:hover { background: #e8fafb; }\n  .psalt-table .psalt-shape { font-weight: 600; color: #2c3e50; white-space: nowrap; text-align: left; }\n  .psalt-table .psalt-vol { font-weight: 600; color: #2c3e50; white-space: nowrap; text-align: left; }\n  .psalt-table .psalt-lbs { font-weight: 700; color: #0f8c94; white-space: nowrap; }\n  .psalt-table .psalt-bags { font-weight: 400; color: #8899a6; font-size: 0.78rem; }\n  .psalt-mt-28 { margin-top: 28px; }\n  .psalt-note-sm { margin-top: 16px; font-size: 0.8rem; }\n  @media (max-width: 500px) {\n    #pool-salt-reference-table { padding: 0 6px; }\n    .psalt-table { font-size: 0.78rem; min-width: 560px; }\n    .psalt-table thead th { padding: 8px 6px; font-size: 0.65rem; }\n    .psalt-table tbody td { padding: 7px 6px; }\n  }\n<\/style>\n<div id=\"pool-salt-reference-table\">\n  <h2>Tabla de sal \u2014 kilogramos de sal seg\u00fan el tama\u00f1o y el nivel actual<\/h2>\n  <p class=\"psalt-subtitle\">Todas las cantidades en <strong>kilogramos (kg)<\/strong> de sal para alcanzar 3.200\u00a0ppm \u2014 el objetivo recomendado por la mayor\u00eda de cloradores salinos. Usa la calculadora de arriba para libras u otro objetivo.<\/p>\n  <div class=\"psalt-table-wrap\">\n    <table class=\"psalt-table\">\n      <thead>\n        <tr>\n          <th>Volumen de la piscina<\/th>\n          <th>Desde 0 ppm<\/th>\n          <th>Desde 1.000 ppm<\/th>\n          <th>Desde 2.000 ppm<\/th>\n          <th>Desde 2.500 ppm<\/th>\n          <th>Desde 3.000 ppm<\/th>\n        <\/tr>\n      <\/thead>\n      <tbody>\n<tr><td class=\"psalt-vol\">10.000 L<\/td><td class=\"psalt-lbs\">30<\/td><td class=\"psalt-lbs\">20<\/td><td class=\"psalt-lbs\">12<\/td><td class=\"psalt-lbs\">8<\/td><td class=\"psalt-lbs\">2<\/td><\/tr>\n<tr><td class=\"psalt-vol\">15.000 L<\/td><td class=\"psalt-lbs\">50<\/td><td class=\"psalt-lbs\">35<\/td><td class=\"psalt-lbs\">18<\/td><td class=\"psalt-lbs\">10<\/td><td class=\"psalt-lbs\">4<\/td><\/tr>\n<tr><td class=\"psalt-vol\">17.000 L<\/td><td class=\"psalt-lbs\">55<\/td><td class=\"psalt-lbs\">35<\/td><td class=\"psalt-lbs\">20<\/td><td class=\"psalt-lbs\">12<\/td><td class=\"psalt-lbs\">4<\/td><\/tr>\n<tr><td class=\"psalt-vol\">20.000 L<\/td><td class=\"psalt-lbs\">65<\/td><td class=\"psalt-lbs\">45<\/td><td class=\"psalt-lbs\">25<\/td><td class=\"psalt-lbs\">14<\/td><td class=\"psalt-lbs\">4<\/td><\/tr>\n<tr><td class=\"psalt-vol\">25.000 L<\/td><td class=\"psalt-lbs\">80<\/td><td class=\"psalt-lbs\">55<\/td><td class=\"psalt-lbs\">30<\/td><td class=\"psalt-lbs\">18<\/td><td class=\"psalt-lbs\">4<\/td><\/tr>\n<tr><td class=\"psalt-vol\">30.000 L<\/td><td class=\"psalt-lbs\">95<\/td><td class=\"psalt-lbs\">65<\/td><td class=\"psalt-lbs\">35<\/td><td class=\"psalt-lbs\">20<\/td><td class=\"psalt-lbs\">6<\/td><\/tr>\n<tr><td class=\"psalt-vol\">40.000 L<\/td><td class=\"psalt-lbs\">130<\/td><td class=\"psalt-lbs\">90<\/td><td class=\"psalt-lbs\">50<\/td><td class=\"psalt-lbs\">30<\/td><td class=\"psalt-lbs\">8<\/td><\/tr>\n<tr><td class=\"psalt-vol\">50.000 L<\/td><td class=\"psalt-lbs\">160<\/td><td class=\"psalt-lbs\">110<\/td><td class=\"psalt-lbs\">60<\/td><td class=\"psalt-lbs\">35<\/td><td class=\"psalt-lbs\">10<\/td><\/tr>\n<tr><td class=\"psalt-vol\">60.000 L<\/td><td class=\"psalt-lbs\">190<\/td><td class=\"psalt-lbs\">130<\/td><td class=\"psalt-lbs\">70<\/td><td class=\"psalt-lbs\">40<\/td><td class=\"psalt-lbs\">12<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n  <div class=\"psalt-table-wrap psalt-mt-28\">\n    <table class=\"psalt-table\">\n      <thead>\n        <tr>\n          <th>Forma de la piscina<\/th>\n          <th>Volumen t\u00edpico<\/th>\n          <th>Desde 0 ppm<\/th>\n          <th>Desde 2.000 ppm<\/th>\n        <\/tr>\n      <\/thead>\n      <tbody>\n<tr><td class=\"psalt-shape\">\u00d8 366 cm<\/td><td class=\"psalt-vol\">12.850 L<\/td><td class=\"psalt-lbs\">40 <span class=\"psalt-bags\">(2 sacos)<\/span><\/td><td class=\"psalt-lbs\">16 <span class=\"psalt-bags\">(1 saco)<\/span><\/td><\/tr>\n<tr><td class=\"psalt-shape\">\u00d8 457 cm<\/td><td class=\"psalt-vol\">20.000 L<\/td><td class=\"psalt-lbs\">65 <span class=\"psalt-bags\">(3 sacos)<\/span><\/td><td class=\"psalt-lbs\">25 <span class=\"psalt-bags\">(1 saco)<\/span><\/td><\/tr>\n<tr><td class=\"psalt-shape\">\u00d8 488 cm<\/td><td class=\"psalt-vol\">22.800 L<\/td><td class=\"psalt-lbs\">75 <span class=\"psalt-bags\">(3 sacos)<\/span><\/td><td class=\"psalt-lbs\">25 <span class=\"psalt-bags\">(1 saco)<\/span><\/td><\/tr>\n<tr><td class=\"psalt-shape\">\u00d8 549 cm<\/td><td class=\"psalt-vol\">28.900 L<\/td><td class=\"psalt-lbs\">90 <span class=\"psalt-bags\">(4 sacos)<\/span><\/td><td class=\"psalt-lbs\">35 <span class=\"psalt-bags\">(2 sacos)<\/span><\/td><\/tr>\n<tr><td class=\"psalt-shape\">\u00d8 610 cm<\/td><td class=\"psalt-vol\">35.650 L<\/td><td class=\"psalt-lbs\">110 <span class=\"psalt-bags\">(5 sacos)<\/span><\/td><td class=\"psalt-lbs\">45 <span class=\"psalt-bags\">(2 sacos)<\/span><\/td><\/tr>\n<tr><td class=\"psalt-shape\">3 x 6 m<\/td><td class=\"psalt-vol\">24.300 L<\/td><td class=\"psalt-lbs\">80 <span class=\"psalt-bags\">(4 sacos)<\/span><\/td><td class=\"psalt-lbs\">30 <span class=\"psalt-bags\">(2 sacos)<\/span><\/td><\/tr>\n<tr><td class=\"psalt-shape\">4 x 8 m<\/td><td class=\"psalt-vol\">43.200 L<\/td><td class=\"psalt-lbs\">140 <span class=\"psalt-bags\">(6 sacos)<\/span><\/td><td class=\"psalt-lbs\">50 <span class=\"psalt-bags\">(2 sacos)<\/span><\/td><\/tr>\n<tr><td class=\"psalt-shape\">5 x 10 m<\/td><td class=\"psalt-vol\">67.500 L<\/td><td class=\"psalt-lbs\">220 <span class=\"psalt-bags\">(9 sacos)<\/span><\/td><td class=\"psalt-lbs\">80 <span class=\"psalt-bags\">(4 sacos)<\/span><\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n  <p class=\"psalt-subtitle psalt-note-sm\">Los sacos se calculan en unidades de 25\u00a0kg. Piscinas redondas: 1,22\u00a0m de altura de agua; rectangulares: 1,35\u00a0m \u2014 para el volumen exacto de tu piscina, usa la calculadora de volumen enlazada arriba.<\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Preguntas frecuentes sobre la calculadora de sal para piscinas<\/h2>\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-salt-level\"><strong class=\"schema-faq-question\">\u00bfCu\u00e1l deber\u00eda ser el nivel de sal de mi piscina?<\/strong> <p class=\"schema-faq-answer\">La mayor\u00eda de los cloradores salinos funcionan mejor entre <strong>2.700 y 3.400 ppm<\/strong>, con 3.200\u00a0ppm como objetivo recomendado por la mayor\u00eda de fabricantes. El rango exacto depende de tu equipo \u2014 los sistemas Intex suelen funcionar en torno a 2.800\u20133.200\u00a0ppm, mientras que los cloradores AstralPool, Idegis o Bayrol suelen admitir valores m\u00e1s altos, alrededor de 4.000\u00a0ppm. Consulta siempre el manual de tu equipo: un nivel demasiado bajo reduce la producci\u00f3n de cloro, y uno demasiado alto puede da\u00f1ar la c\u00e9lula salina.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-salt-calc-how\"><strong class=\"schema-faq-question\">\u00bfC\u00f3mo calculo cu\u00e1nta sal necesita mi piscina?<\/strong> <p class=\"schema-faq-answer\">Resta tu nivel de sal actual del objetivo, multiplica la diferencia por el volumen de tu piscina en litros y divide el resultado entre 1.000.000: <strong>(objetivo &minus; actual) &times; litros &divide; 1.000.000 = kg de sal<\/strong>. La calculadora de arriba hace este c\u00e1lculo autom\u00e1ticamente y te muestra las cifras exactas que ha usado.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-salt-type\"><strong class=\"schema-faq-question\">\u00bfQu\u00e9 tipo de sal debo usar?<\/strong> <p class=\"schema-faq-answer\">Usa <strong>sal para piscinas pura al 99% o m\u00e1s, no yodada<\/strong> \u2014 se vende como &#8220;sal para piscinas&#8221; o &#8220;sal solar&#8221;. La sal de mesa y la sal para deshielo contienen aditivos e impurezas que pueden enturbiar el agua, manchar el revestimiento y recubrir la c\u00e9lula salina, reduciendo su producci\u00f3n de cloro. La sal para descalcificadores solo sirve si est\u00e1 garantizada al 99% de pureza y sin antiapelmazantes.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-salt-drop\"><strong class=\"schema-faq-question\">\u00bfPor qu\u00e9 baja constantemente mi nivel de sal?<\/strong> <p class=\"schema-faq-answer\">La sal no se evapora \u2014 solo lo hace el agua, as\u00ed que reponer agua por evaporaci\u00f3n no deber\u00eda cambiar mucho tu medici\u00f3n. La sal se pierde realmente por <strong>salpicaduras, el lavado a contracorriente del filtro, lluvias intensas o fugas<\/strong> \u2014 cualquier momento en que el agua sale f\u00edsicamente de la piscina y se repone con agua sin sal. Si tu nivel baja m\u00e1s r\u00e1pido de lo que esto explica, revisa el cuarto de m\u00e1quinas y el vaso de la piscina en busca de una fuga.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-salt-too-high\"><strong class=\"schema-faq-question\">\u00bfPuedo pasarme con la sal, y c\u00f3mo lo soluciono?<\/strong> <p class=\"schema-faq-answer\">S\u00ed \u2014 un nivel de sal muy por encima del m\u00e1ximo de tu equipo puede corroer piezas met\u00e1licas y dar al agua un sabor salado perceptible. Si introduces en la calculadora de arriba un nivel actual superior a tu objetivo, cambia autom\u00e1ticamente a un c\u00e1lculo de vaciado y reposici\u00f3n, indic\u00e1ndote aproximadamente qu\u00e9 porcentaje de agua de tu piscina reemplazar con agua dulce.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-salt-swim-wait\"><strong class=\"schema-faq-question\">\u00bfCu\u00e1nto tiempo despu\u00e9s de a\u00f1adir sal puedo ba\u00f1arme?<\/strong> <p class=\"schema-faq-answer\">Espera a que la sal se disuelva por completo \u2014 normalmente <strong>24 horas con la bomba en marcha sin parar<\/strong> \u2014 antes de ba\u00f1arte y de volver a medir el nivel de sal. Ba\u00f1arte antes no es peligroso, pero la sal sin disolver en el fondo puede enturbiar el agua y falsear la medici\u00f3n.<\/p> <\/div> <\/div>\n\n\n\n<p class=\"has-text-align-center aiper-last-updated has-small-font-size wp-block-paragraph\"><time datetime=\"2026-09-30\">\u00daltima actualizaci\u00f3n: 30 de septiembre de 2026<\/time><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Descubre exactamente cu\u00e1nta sal a\u00f1adir para tu clorador salino \u2014 o, si tu nivel ya es demasiado alto, cu\u00e1nta agua vaciar y reponer. Indica el volumen de tu piscina y tu nivel de sal actual para obtener la cantidad exacta, en kilogramos o libras. Volumen de la piscina Galones Litros Nivel de sal actual (ppm)&#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-1665","page","type-page","status-publish","hentry"],"lang":"es","translations":{"es":1665,"en":1373,"de":1661,"fr":1663},"_links":{"self":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/1665","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/comments?post=1665"}],"version-history":[{"count":11,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/1665\/revisions"}],"predecessor-version":[{"id":11912,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/1665\/revisions\/11912"}],"wp:attachment":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/media?parent=1665"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}