{"id":1969,"date":"2026-05-25T10:30:28","date_gmt":"2026-05-25T10:30:28","guid":{"rendered":"https:\/\/aiper.com\/blogs\/?page_id=1969"},"modified":"2026-10-21T09:16:11","modified_gmt":"2026-10-21T09:16:11","slug":"calcular-cloro-en-piscinas","status":"publish","type":"page","link":"https:\/\/aiper.com\/blogs\/es\/calcular-cloro-en-piscinas\/","title":{"rendered":"Calculadora de Cloro para Piscina"},"content":{"rendered":"\n<style>#pool-chlorine-calc-wrapper *, #pool-chlorine-calc-wrapper *::before, #pool-chlorine-calc-wrapper *::after { box-sizing: border-box; }\n#pool-chlorine-calc-wrapper { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, sans-serif; max-width: 680px; margin: 20px auto; padding: 0; line-height: 1.5; --pcc-teal: #1ecad3; --pcc-teal-dark: #17a8b0; --pcc-teal-light: #e8fafa; --pcc-border: #e2e8f0; --pcc-text: #2d3748; --pcc-text-light: #5a6c7d; }\n#pool-chlorine-calc-wrapper .pcc-intro { max-width: 680px; margin: 0 auto 16px; padding: 0 24px; text-align: center; color: var(--pcc-text-light); font-size: 15px; line-height: 1.5; }\n#pool-chlorine-calc-wrapper .pcc-card { background: #fff; border-radius: 16px; box-shadow: 0 4px 24px rgba(0,0,0,0.07); padding: 28px 24px; margin-bottom: 20px; border: 1px solid var(--pcc-border); }\n#pool-chlorine-calc-wrapper .pcc-subtitle { font-size: 0.9rem; color: var(--pcc-text-light); margin: 0 0 20px 0; }\n#pool-chlorine-calc-wrapper .pcc-label { display: block; font-weight: 600; font-size: 0.9rem; color: var(--pcc-text); margin-bottom: 5px; }\n#pool-chlorine-calc-wrapper .pcc-input-row { display: flex; gap: 10px; align-items: stretch; margin-bottom: 18px; }\n#pool-chlorine-calc-wrapper .pcc-input-field { flex: 1; padding: 12px 14px; border: 2px solid var(--pcc-border); border-radius: 6px; font-size: 1rem; color: #2c3e50; background: #f9fafb; outline: none; width: 100%; }\n#pool-chlorine-calc-wrapper .pcc-input-field:focus { border-color: #9486f7; background: #fff; color: #2c3e50; }\n#pool-chlorine-calc-wrapper .pcc-unit-toggle { display: flex; background: #f1f5f9; border-radius: 6px; overflow: hidden; border: 2px solid var(--pcc-border); flex-wrap: wrap; }\n#pool-chlorine-calc-wrapper .pcc-unit-btn { padding: 8px 14px; font-size: 0.85rem; font-weight: 600; cursor: pointer; border: none; background: transparent; color: var(--pcc-text-light); }\n#pool-chlorine-calc-wrapper .pcc-unit-btn:focus, #pool-chlorine-calc-wrapper .pcc-unit-btn:active { outline: 2px solid #9486f7; outline-offset: -2px; color: var(--pcc-text-light); }\n#pool-chlorine-calc-wrapper .pcc-unit-btn.pcc-active { background: linear-gradient(135deg, #1ecad3, #9486f7); color: #fff; }\n#pool-chlorine-calc-wrapper .pcc-preset-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }\n#pool-chlorine-calc-wrapper .pcc-preset-btn { padding: 6px 13px; font-size: 0.78rem; font-weight: 600; border-radius: 20px; border: 1.5px solid var(--pcc-border); background: #fff; color: var(--pcc-text-light); cursor: pointer; }\n#pool-chlorine-calc-wrapper .pcc-preset-btn:focus, #pool-chlorine-calc-wrapper .pcc-preset-btn:active { outline: 2px solid #9486f7; outline-offset: 1px; color: var(--pcc-text-light); }\n#pool-chlorine-calc-wrapper .pcc-preset-btn.pcc-active { border-color: #9486f7; background: #f5f3ff; color: #2c3e50; }\n#pool-chlorine-calc-wrapper .pcc-btn-row { display: flex; gap: 12px; max-width: 420px; margin: 26px auto 0; flex-wrap: wrap; }\n#pool-chlorine-calc-wrapper .pcc-calculate-btn { display: block; flex: 1; min-width: 160px; 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; }\n#pool-chlorine-calc-wrapper .pcc-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-chlorine-calc-wrapper .pcc-calculate-btn:focus, #pool-chlorine-calc-wrapper .pcc-calculate-btn:active { color: #fff; outline: none; box-shadow: 0 0 0 3px rgba(148,134,247,.45); }\n#pool-chlorine-calc-wrapper .pcc-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-chlorine-calc-wrapper .pcc-reset-btn:hover { background: #f0f7f8; border-color: #1ecad3; color: #0f8c94; }\n#pool-chlorine-calc-wrapper .pcc-reset-btn:focus, #pool-chlorine-calc-wrapper .pcc-reset-btn:active { background: #fff; outline: none; border-color: #9486f7; color: #0f8c94; }\n#pool-chlorine-calc-wrapper .pcc-error-msg { color: #dc2626; font-size: 0.85rem; font-weight: 600; text-align: center; margin-top: 10px; display: none; }\n#pool-chlorine-calc-wrapper .pcc-error-msg.pcc-visible { display: block; }\n#pool-chlorine-calc-wrapper .pcc-result-area { display: none; margin-top: 25px; }\n#pool-chlorine-calc-wrapper .pcc-result-area.pcc-visible { display: block; animation: pccFade 0.4s ease; }\n@keyframes pccFade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }\n#pool-chlorine-calc-wrapper .pcc-result-grid { display: flex; gap: 14px; flex-wrap: wrap; }\n#pool-chlorine-calc-wrapper .pcc-result-card { flex: 1; min-width: 220px; background: linear-gradient(135deg, #f5f3ff 0%, #e8fafa 100%); border: 2px solid #9486f7; border-radius: 10px; padding: 22px 18px; text-align: center; }\n#pool-chlorine-calc-wrapper .pcc-result-label { font-size: 0.82rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #5b4ab8; margin: 0 0 8px; }\n#pool-chlorine-calc-wrapper .pcc-result-amount { font-size: 2.4rem; font-weight: 800; color: #17a8b0; line-height: 1.15; }\n#pool-chlorine-calc-wrapper .pcc-result-amount .pcc-unit-label { font-size: 1.1rem; }\n#pool-chlorine-calc-wrapper .pcc-result-sub { margin: 6px 0 0; color: var(--pcc-text-light); font-size: 0.88rem; }\n#pool-chlorine-calc-wrapper .pcc-acid-line { margin-top: 12px; padding: 8px 12px; background: #fff; border: 1px solid var(--pcc-border); border-radius: 6px; font-size: 0.82rem; color: var(--pcc-text); }\n#pool-chlorine-calc-wrapper .pcc-warn { display: none; margin-top: 12px; padding: 10px 14px; background: #fff7ed; border: 1px solid #fed7aa; border-radius: 6px; color: #9a3412; font-size: 0.82rem; text-align: left; }\n#pool-chlorine-calc-wrapper .pcc-warn.pcc-visible { display: block; }\n#pool-chlorine-calc-wrapper .pcc-toggle-row { display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 20px; font-size: 0.85rem; color: var(--pcc-text-light); flex-wrap: wrap; }\n#pool-chlorine-calc-wrapper .pcc-algebra { margin: 14px 0 0; font-size: 0.78rem; color: #8899a6; text-align: center; }\n#pool-chlorine-calc-wrapper .pcc-next { margin: 14px 0 0; font-size: 0.85rem; color: var(--pcc-text-light); text-align: center; }\n#pool-chlorine-calc-wrapper .pcc-next a { color: var(--pcc-teal-dark); font-weight: 600; text-decoration: none; }\n#pool-chlorine-calc-wrapper .pcc-next a:hover { text-decoration: underline; }\n#pool-chlorine-calc-wrapper .pcc-info-section { display: none; margin-top: 20px; }\n#pool-chlorine-calc-wrapper .pcc-info-section.pcc-visible { display: block; }\n#pool-chlorine-calc-wrapper .pcc-info-card { background: #fff; border: 1px solid var(--pcc-border); border-radius: 10px; padding: 20px; font-size: 0.9rem; }\n#pool-chlorine-calc-wrapper .pcc-info-title { font-weight: 700; font-size: 1rem; margin-bottom: 10px; }\n#pool-chlorine-calc-wrapper ol.pcc-howto-list { margin: 0; padding: 0 0 0 20px; }\n#pool-chlorine-calc-wrapper ol.pcc-howto-list li { margin-bottom: 6px; }\n@media (max-width: 600px) { #pool-chlorine-calc-wrapper .pcc-btn-row { flex-direction: column; max-width: 280px; } #pool-chlorine-calc-wrapper .pcc-reset-btn { padding: 12px 20px; font-size: 14px; } }\n@media (max-width: 500px) { #pool-chlorine-calc-wrapper .pcc-input-row { flex-direction: column; } }\n\n#pool-chlorine-calc-wrapper .pcc-field { margin-bottom: 18px; }\n#pool-chlorine-calc-wrapper .pcc-two-col { display: flex; gap: 14px; }\n#pool-chlorine-calc-wrapper .pcc-two-col > .pcc-field { flex: 1; min-width: 0; }\n#pool-chlorine-calc-wrapper .pcc-hint { font-size: 0.78rem; color: #8899a6; margin: 4px 0 0; }\n#pool-chlorine-calc-wrapper .pcc-warn span { display: block; margin-top: 4px; }\n#pool-chlorine-calc-wrapper .pcc-warn span:first-child { margin-top: 0; }\n#pool-chlorine-calc-wrapper .pcc-jump { margin: 14px 0 0; font-size: 0.85rem; text-align: center; color: var(--pcc-text-light); }\n#pool-chlorine-calc-wrapper .pcc-jump a { color: var(--pcc-teal-dark); font-weight: 600; text-decoration: none; }\n@media (max-width: 500px) { #pool-chlorine-calc-wrapper .pcc-two-col { flex-direction: column; gap: 0; } }\n<\/style>\n<div id=\"pool-chlorine-calc-wrapper\">\n    <p class=\"pcc-intro\">Esta calculadora de cloro para piscina te dice cu\u00e1nto cloro l\u00edquido, lej\u00eda, granulado o pastillas debes a\u00f1adir para llegar a tu nivel de cloro libre objetivo, con la piscina en litros, metros c\u00fabicos o galones. Tambi\u00e9n comprueba si tu objetivo encaja con tu nivel de estabilizante (\u00e1cido isocian\u00farico).<\/p>\n    <div class=\"pcc-card\">\n        <p class=\"pcc-subtitle\">Introduce el volumen de tu piscina y tu medici\u00f3n de cloro libre (0 si no hay cloro en el agua).<\/p>\n\n        <label class=\"pcc-label\" for=\"pcc-pool-volume\">Volumen de la piscina<\/label>\n        <div class=\"pcc-input-row\">\n            <input type=\"number\" id=\"pcc-pool-volume\" class=\"pcc-input-field\" placeholder=\"p. ej., 40000\" min=\"0\">\n            <div class=\"pcc-unit-toggle\" id=\"pcc-volume-unit-toggle\">\n                <button type=\"button\" class=\"pcc-unit-btn pcc-active\" data-unit=\"liters\">Litros<\/button>\n                <button type=\"button\" class=\"pcc-unit-btn\" data-unit=\"m3\">m&sup3;<\/button>\n                <button type=\"button\" class=\"pcc-unit-btn\" data-unit=\"gallons\">Galones<\/button>\n            <\/div>\n        <\/div>\n\n        <div class=\"pcc-two-col\">\n            <div class=\"pcc-field\">\n                <label class=\"pcc-label\" for=\"pcc-current\">Cloro libre actual (ppm)<\/label>\n                <input type=\"number\" id=\"pcc-current\" class=\"pcc-input-field\" placeholder=\"p. ej., 0\" value=\"0\" step=\"0.1\" min=\"0\">\n            <\/div>\n            <div class=\"pcc-field\">\n                <label class=\"pcc-label\" for=\"pcc-target\">Cloro libre objetivo (ppm)<\/label>\n                <input type=\"number\" id=\"pcc-target\" class=\"pcc-input-field\" placeholder=\"p. ej., 2\" value=\"2\" step=\"0.1\" min=\"0\">\n            <\/div>\n        <\/div>\n        <div class=\"pcc-preset-row\" id=\"pcc-preset-row\">\n            <button type=\"button\" class=\"pcc-preset-btn\" data-target=\"1\">1 ppm<\/button>\n            <button type=\"button\" class=\"pcc-preset-btn pcc-active\" data-target=\"2\">2 ppm (habitual)<\/button>\n            <button type=\"button\" class=\"pcc-preset-btn\" data-target=\"3\">3 ppm<\/button>\n            <button type=\"button\" class=\"pcc-preset-btn\" data-target=\"5\">5 ppm (choque)<\/button>\n        <\/div>\n\n        <div class=\"pcc-two-col\">\n            <div class=\"pcc-field\">\n                <label class=\"pcc-label\" for=\"pcc-source\">Tipo de cloro<\/label>\n                <select id=\"pcc-source\" class=\"pcc-input-field\">\n                    <option value=\"liq150\" selected>Cloro l\u00edquido 150 g\/l (hipoclorito s\u00f3dico)<\/option>\n                    <option value=\"liq125\">Cloro l\u00edquido 12,5 % (125 g\/l, t\u00edpico en EE. UU. y M\u00e9xico)<\/option>\n                    <option value=\"lej40\">Lej\u00eda de uso dom\u00e9stico (unos 40 g\/l)<\/option>\n                    <option value=\"ch65\">Hipoclorito c\u00e1lcico granulado 65 %<\/option>\n                    <option value=\"ch70\">Hipoclorito c\u00e1lcico granulado 70 %<\/option>\n                    <option value=\"dic56\">Dicloro granulado 56 %<\/option>\n                    <option value=\"tri90\">Pastillas de tricloro 90 %<\/option>\n                <\/select>\n            <\/div>\n            <div class=\"pcc-field\">\n                <label class=\"pcc-label\" for=\"pcc-conc\" id=\"pcc-conc-label\">Concentraci\u00f3n de la etiqueta (g\/l de cloro activo)<\/label>\n                <input type=\"number\" id=\"pcc-conc\" class=\"pcc-input-field\" value=\"150\" step=\"0.05\" min=\"0\" max=\"1000\">\n            <\/div>\n        <\/div>\n\n        <div class=\"pcc-field\">\n            <label class=\"pcc-label\" for=\"pcc-cya\">Estabilizante, \u00e1cido isocian\u00farico (ppm), opcional<\/label>\n            <input type=\"number\" id=\"pcc-cya\" class=\"pcc-input-field\" placeholder=\"p. ej., 40\" step=\"1\" min=\"0\">\n            <p class=\"pcc-hint\">A\u00f1ade tu nivel de estabilizante para comprobar que el objetivo es suficiente para tu agua.<\/p>\n        <\/div>\n\n        <div class=\"pcc-btn-row\">\n            <button type=\"button\" id=\"pcc-calculate-btn\" class=\"pcc-calculate-btn\">Calcular<\/button>\n            <button type=\"button\" id=\"pcc-reset-btn\" class=\"pcc-reset-btn\">Restablecer<\/button>\n        <\/div>\n        <p id=\"pcc-error-msg\" class=\"pcc-error-msg\"><\/p>\n\n        <div id=\"pcc-result-area\" class=\"pcc-result-area\">\n            <div class=\"pcc-result-grid\" id=\"pcc-result-grid\"><\/div>\n            <div id=\"pcc-warn\" class=\"pcc-warn\"><\/div>\n            <p class=\"pcc-algebra\" id=\"pcc-algebra\"><\/p>\n            <p class=\"pcc-next\">\u00bfNo sabes el volumen? Usa nuestra <a href=\"https:\/\/aiper.com\/blogs\/es\/calcular-volumen-piscina\/\">calculadora de volumen de piscina<\/a>. \u00bfHay algas? Prueba la <a href=\"https:\/\/aiper.com\/blogs\/es\/calculadora-cloracion-shock-piscina\/\">calculadora de cloraci\u00f3n de choque<\/a> o revisa el estabilizante con la <a href=\"https:\/\/aiper.com\/blogs\/es\/calculadora-estabilizador-piscina\/\">calculadora de estabilizador<\/a>.<\/p>\n        <\/div>\n    <\/div>\n\n    <div id=\"pcc-info-section\" class=\"pcc-info-section\">\n        <div class=\"pcc-info-card\">\n            <div class=\"pcc-info-title\">C\u00f3mo a\u00f1adir cloro a tu piscina<\/div>\n            <ol class=\"pcc-howto-list\">\n                <li>Mide primero el cloro libre (y el estabilizante si puedes) y dosifica seg\u00fan la medici\u00f3n, no a ojo.<\/li>\n                <li>Disuelve antes el granulado (hipoclorito c\u00e1lcico, dicloro) en un cubo con agua de la piscina. No mezcles nunca productos de cloro distintos.<\/li>\n                <li>Con la depuradora en marcha, vierte el cloro l\u00edquido o la soluci\u00f3n despacio alrededor de la zona profunda o frente a una boquilla de impulsi\u00f3n. Las pastillas van en un dosificador flotante o en un dosificador.<\/li>\n                <li>Deja la depuradora funcionando al menos 6 a 8 horas y vuelve a medir antes de ba\u00f1arte.<\/li>\n            <\/ol>\n        <\/div>\n    <\/div>\n    <p class=\"pcc-jump\">\u00bfBuscas la cantidad para el tama\u00f1o de tu piscina? <a href=\"#pool-chlorine-reference-table\">Ve a la tabla de cloro por litros y galones<\/a>.<\/p>\n<\/div>\n<script>(function() {\n    var get = function(id) { return document.getElementById(id); };\n    var T = {\"err_vol\": \"Introduce el volumen de tu piscina.\", \"err_cur\": \"Introduce tu cloro libre actual (0 si no hay).\", \"err_tar\": \"Introduce tu cloro libre objetivo.\", \"err_conc\": \"Introduce la concentraci\u00f3n que indica la etiqueta del producto.\", \"none_label\": \"No hace falta cloro\", \"none_text\": \"Tu cloro libre ya est\u00e1 en el objetivo o por encima. Vuelve a medir ma\u00f1ana antes de a\u00f1adir m\u00e1s.\", \"warn_cya_min\": \"Con {cya} ppm de estabilizante, el cloro libre deber\u00eda mantenerse al menos en torno a {min} ppm para que el agua siga desinfectada. Tu objetivo de {t} ppm est\u00e1 por debajo.\", \"warn_cya_hi\": \"Un estabilizante por encima de 100 ppm reduce mucho la eficacia del cloro. Solo renovar parte del agua lo baja.\", \"warn_shock\": \"Los objetivos por encima de 10 ppm son niveles de choque. No te ba\u00f1es hasta que el cloro libre vuelva a su rango normal.\", \"warn_adds_cya\": \"Esta dosis tambi\u00e9n aporta unas {n} ppm de \u00e1cido isocian\u00farico (estabilizante), que no se degrada. Solo renovar el agua lo baja.\", \"warn_adds_ch\": \"Esta dosis tambi\u00e9n sube la dureza c\u00e1lcica unas {n} ppm.\", \"sub_liq\": \"cantidad de producto con {conc} g\/l de cloro activo\", \"sub_sol\": \"cantidad de producto en peso\", \"tabs\": \"unas {n} pastillas de {g} g\", \"or_\": \"o\", \"alg\": \"({t} \u2212 {c}) ppm \u00d7 {v} {vu} = {g} g de cloro activo \u00f7 {conc} = {prod}\", \"lbl_conc_liq\": \"Concentraci\u00f3n de la etiqueta (g\/l de cloro activo)\", \"lbl_conc_sol\": \"Concentraci\u00f3n de la etiqueta (% de cloro activo)\"};\n    var LOC = 'es-ES';\n    var SRC = {\"liq150\": {\"c\": 150, \"kind\": \"liquid\"}, \"liq125\": {\"c\": 125, \"kind\": \"liquid\"}, \"lej40\": {\"c\": 40, \"kind\": \"liquid\"}, \"ch65\": {\"c\": 65, \"kind\": \"solid\", \"ch\": 0.7}, \"ch70\": {\"c\": 70, \"kind\": \"solid\", \"ch\": 0.7}, \"dic56\": {\"c\": 56, \"kind\": \"solid\", \"cya\": 0.9}, \"tri90\": {\"c\": 90, \"kind\": \"solid\", \"cya\": 0.6, \"tab\": 200}};\n    var LPU = { gallons: 3.78541, liters: 1, m3: 1000 };\n    var VLABEL = { gallons: 'gal', liters: 'l', m3: 'm\u00b3' };\n    var state = { vUnit: 'liters' };\n    var INIT = { current: get('pcc-current').value, target: get('pcc-target').value, source: get('pcc-source').value, conc: get('pcc-conc').value };\n\n    var rnd = function(n, d) { var p = Math.pow(10, d); return Math.round(n * p) \/ p; };\n    var fmt = function(n) { return (n >= 100 ? Math.round(n) : rnd(n, 1)).toLocaleString(LOC); };\n    var fmt2 = function(n) { return (n >= 100 ? Math.round(n) : rnd(n, 2)).toLocaleString(LOC); };\n    var f = function(s, o) { return s.replace(\/\\{(\\w+)\\}\/g, function(m, k) { return o[k]; }); };\n\n    var syncPresets = function() {\n        var t = parseFloat(get('pcc-target').value);\n        Array.from(get('pcc-preset-row').children).forEach(function(b) { b.classList.toggle('pcc-active', parseFloat(b.dataset.target) === t); });\n    };\n    var syncConcLabel = function() {\n        get('pcc-conc-label').textContent = SRC[get('pcc-source').value].kind === 'liquid' ? T.lbl_conc_liq : T.lbl_conc_sol;\n    };\n    get('pcc-preset-row').addEventListener('click', function(e) {\n        if (!e.target.classList.contains('pcc-preset-btn')) return;\n        get('pcc-target').value = e.target.dataset.target;\n        syncPresets();\n    });\n    get('pcc-target').addEventListener('input', syncPresets);\n    get('pcc-source').addEventListener('change', function() { get('pcc-conc').value = SRC[get('pcc-source').value].c; syncConcLabel(); });\n\n    var hideResults = function() {\n        get('pcc-result-area').classList.remove('pcc-visible');\n        get('pcc-info-section').classList.remove('pcc-visible');\n    };\n    var showError = function(msg) {\n        var err = get('pcc-error-msg');\n        err.textContent = msg;\n        err.classList.add('pcc-visible');\n        hideResults();\n    };\n    var card = function(label, amountHtml, sub) {\n        return '<div class=\"pcc-result-card\"><p class=\"pcc-result-label\">' + label + '<\/p><div class=\"pcc-result-amount\">' + amountHtml + '<\/div><p class=\"pcc-result-sub\">' + sub + '<\/p><\/div>';\n    };\n    var big = function(a, u) { return '<span>' + a + '<\/span> <span class=\"pcc-unit-label\">' + u + '<\/span>'; };\n\n    var calc = function() {\n        var err = get('pcc-error-msg');\n        err.classList.remove('pcc-visible');\n        err.textContent = '';\n\n        var v = parseFloat(get('pcc-pool-volume').value);\n        var cRaw = get('pcc-current').value;\n        var c = cRaw === '' ? NaN : parseFloat(cRaw);\n        var t = parseFloat(get('pcc-target').value);\n        var conc = parseFloat(get('pcc-conc').value);\n        var cya = parseFloat(get('pcc-cya').value);\n        var src = SRC[get('pcc-source').value];\n\n        if (!v || v <= 0 || isNaN(v)) { showError(T.err_vol); return; }\n        if (isNaN(c) || c < 0) { showError(T.err_cur); return; }\n        if (!t || t <= 0 || isNaN(t)) { showError(T.err_tar); return; }\n        if (!conc || conc <= 0 || conc > 1000 || (src.kind === 'solid' && conc > 100)) { showError(T.err_conc); return; }\n\n        var litres = v * LPU[state.vUnit];\n        var delta = t - c;\n        var warns = [];\n        if (!isNaN(cya) && cya > 0) {\n            var min = 0.075 * cya;\n            if (t < min) warns.push(f(T.warn_cya_min, { cya: fmt(cya), min: rnd(min, 1).toLocaleString(LOC), t: fmt(t) }));\n            if (cya > 100) warns.push(T.warn_cya_hi);\n        }\n        if (t > 10) warns.push(T.warn_shock);\n\n        var grid = get('pcc-result-grid'), alg = get('pcc-algebra');\n        if (delta <= 0.04) {\n            grid.innerHTML = card(T.none_label, '<span>0<\/span>', T.none_text);\n            alg.textContent = '';\n            get('pcc-info-section').classList.remove('pcc-visible');\n        } else {\n            var gCl = delta * litres \/ 1000;\n            var concTxt, prodTxt, main, sub;\n            var label = get('pcc-source').options[get('pcc-source').selectedIndex].textContent;\n            var us = state.vUnit === 'gallons';\n            if (src.kind === 'liquid') {\n                var ml = gCl \/ conc * 1000, oz = ml \/ 29.5735;\n                var metBig = ml >= 1000 ? big(fmt2(ml \/ 1000), 'l') : big(fmt(ml), 'ml');\n                var usBig = oz >= 128 ? big(fmt2(oz \/ 128), 'gal') : big(fmt(oz), 'fl oz');\n                var metAlt = ml >= 1000 ? fmt2(ml \/ 1000) + ' l' : fmt(ml) + ' ml';\n                main = us ? usBig : metBig;\n                sub = us ? T.or_ + ' ' + metAlt : f(T.sub_liq, { conc: fmt(conc) });\n                concTxt = fmt(conc) + ' g\/l'; prodTxt = metAlt;\n            } else {\n                var g = gCl \/ (conc \/ 100), ozw = g \/ 28.3495;\n                var metS = g >= 1000 ? big(fmt2(g \/ 1000), 'kg') : big(fmt(g), 'g');\n                var usS = ozw >= 16 ? big(fmt2(ozw \/ 16), 'lb') : big(fmt(ozw), 'oz');\n                var metAltS = g >= 1000 ? fmt2(g \/ 1000) + ' kg' : fmt(g) + ' g';\n                main = us ? usS : metS;\n                sub = us ? T.or_ + ' ' + metAltS : T.sub_sol;\n                if (src.tab && g \/ src.tab >= 0.5) sub += ' (' + f(T.tabs, { n: rnd(g \/ src.tab, 1).toLocaleString(LOC), g: src.tab }) + ')';\n                if (src.cya) warns.push(f(T.warn_adds_cya, { n: fmt(delta * src.cya) }));\n                if (src.ch) warns.push(f(T.warn_adds_ch, { n: fmt(delta * src.ch) }));\n                concTxt = fmt(conc) + ' %'; prodTxt = metAltS;\n            }\n            grid.innerHTML = card(label, main, sub);\n            alg.textContent = f(T.alg, { t: fmt(t), c: fmt(c), v: fmt(v), vu: VLABEL[state.vUnit], g: fmt(gCl), conc: concTxt, prod: prodTxt });\n            get('pcc-info-section').classList.add('pcc-visible');\n        }\n        var wb = get('pcc-warn');\n        wb.innerHTML = warns.map(function(m) { return '<span>' + m + '<\/span>'; }).join('');\n        wb.classList.toggle('pcc-visible', warns.length > 0);\n        get('pcc-result-area').classList.add('pcc-visible');\n        get('pcc-result-area').scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n    };\n\n    get('pcc-volume-unit-toggle').onclick = function(e) {\n        if (!e.target.classList.contains('pcc-unit-btn')) return;\n        state.vUnit = e.target.dataset.unit;\n        Array.from(get('pcc-volume-unit-toggle').children).forEach(function(b) { b.classList.toggle('pcc-active', b === e.target); });\n    };\n\n    get('pcc-reset-btn').onclick = function() {\n        get('pcc-pool-volume').value = '';\n        get('pcc-current').value = INIT.current;\n        get('pcc-target').value = INIT.target;\n        get('pcc-source').value = INIT.source;\n        get('pcc-conc').value = INIT.conc;\n        get('pcc-cya').value = '';\n        syncPresets();\n        syncConcLabel();\n        state.vUnit = 'liters';\n        Array.from(get('pcc-volume-unit-toggle').children).forEach(function(b) { b.classList.toggle('pcc-active', b.dataset.unit === 'liters'); });\n        var err = get('pcc-error-msg');\n        err.classList.remove('pcc-visible');\n        err.textContent = '';\n        get('pcc-warn').classList.remove('pcc-visible');\n        hideResults();\n        get('pcc-pool-volume').focus();\n    };\n\n    get('pcc-calculate-btn').onclick = calc;\n})();<\/script>\n\n\n\n<style>\n  #pool-chlorine-reference-table { max-width: 860px; margin: 2.5rem auto; font-family: 'Inter', system-ui, sans-serif; color: #2c3e50; scroll-margin-top: 80px; }\n  #pool-chlorine-reference-table h2 { font-size: 1.5rem; font-weight: 700; color: #17a8b0; margin: 0 0 8px; }\n  #pool-chlorine-reference-table h3 { font-size: 1.1rem; font-weight: 700; color: #5b4ab8; margin: 28px 0 6px; }\n  #pool-chlorine-reference-table .pct-subtitle { font-size: 0.9rem; color: #5a6c7d; margin: 0 0 16px; line-height: 1.5; }\n  #pool-chlorine-reference-table .pct-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid #e0e5eb; border-radius: 14px; box-shadow: 0 4px 16px rgba(0,0,0,0.04); }\n  #pool-chlorine-reference-table .pct-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; min-width: 520px; }\n  #pool-chlorine-reference-table .pct-table thead th { background: linear-gradient(135deg, #1ecad3, #9486f7); color: #fff; font-weight: 600; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.05em; padding: 12px 10px; text-align: center; white-space: nowrap; }\n  #pool-chlorine-reference-table .pct-table thead th:first-child { border-radius: 13px 0 0 0; text-align: left; }\n  #pool-chlorine-reference-table .pct-table thead th:last-child { border-radius: 0 13px 0 0; }\n  #pool-chlorine-reference-table .pct-table tbody td { padding: 10px; border-bottom: 1px solid #eef1f5; vertical-align: middle; text-align: center; }\n  #pool-chlorine-reference-table .pct-table tbody tr:nth-child(even) { background: #fafcfd; }\n  #pool-chlorine-reference-table .pct-table tbody tr:hover { background: #e8fafb; }\n  #pool-chlorine-reference-table .pct-vol { font-weight: 600; color: #2c3e50; white-space: nowrap; text-align: left; }\n  #pool-chlorine-reference-table .pct-num { font-weight: 700; color: #0f8c94; white-space: nowrap; }\n  #pool-chlorine-reference-table .pct-acid { font-weight: 600; color: #5b4ab8; white-space: nowrap; }\n  #pool-chlorine-reference-table .pct-note { margin-top: 12px; font-size: 0.8rem; color: #8899a6; line-height: 1.5; }\n  @media (max-width: 500px) {\n    #pool-chlorine-reference-table { padding: 0 6px; }\n    #pool-chlorine-reference-table .pct-table { font-size: 0.78rem; min-width: 460px; }\n    #pool-chlorine-reference-table .pct-table thead th { padding: 8px 6px; font-size: 0.65rem; }\n    #pool-chlorine-reference-table .pct-table tbody td { padding: 7px 6px; }\n  }\n<\/style>\n<div id=\"pool-chlorine-reference-table\">\n  <h2>Tabla de cloro para piscinas: cu\u00e1nto cloro echar seg\u00fan el tama\u00f1o<\/h2>\n  <p class=\"pct-subtitle\">Busca el tama\u00f1o de tu piscina para ver cu\u00e1nto cloro a\u00f1adir. Las cantidades son del producto que vierte en la piscina, calculadas con 1 ppm = 1 g por cada 1.000 litros. Multiplica o lee en horizontal para el aumento que necesitas. Para una dosis exacta con tu propia medici\u00f3n, usa la calculadora de arriba.<\/p>\n\n  <h3>Cu\u00e1nto cloro l\u00edquido (150 g\/l) echar a una piscina, por litros y m\u00b3<\/h3>\n  <div class=\"pct-table-wrap\">\n    <table class=\"pct-table\">\n      <thead><tr><th>Volumen<\/th><th>Subir 1 ppm<\/th><th>Subir 2 ppm<\/th><th>Subir 3 ppm<\/th><th>Subir 5 ppm<\/th><th>Subir 10 ppm<\/th><\/tr><\/thead>\n      <tbody>\n        <tr><td class=\"pct-vol\">1.000 l (1 m\u00b3)<\/td><td class=\"pct-num\">6,7 ml<\/td><td class=\"pct-num\">13 ml<\/td><td class=\"pct-num\">20 ml<\/td><td class=\"pct-num\">33 ml<\/td><td class=\"pct-num\">67 ml<\/td><\/tr>\n        <tr><td class=\"pct-vol\">2.000 l (2 m\u00b3)<\/td><td class=\"pct-num\">13 ml<\/td><td class=\"pct-num\">27 ml<\/td><td class=\"pct-num\">40 ml<\/td><td class=\"pct-num\">67 ml<\/td><td class=\"pct-num\">133 ml<\/td><\/tr>\n        <tr><td class=\"pct-vol\">3.000 l (3 m\u00b3)<\/td><td class=\"pct-num\">20 ml<\/td><td class=\"pct-num\">40 ml<\/td><td class=\"pct-num\">60 ml<\/td><td class=\"pct-num\">100 ml<\/td><td class=\"pct-num\">200 ml<\/td><\/tr>\n        <tr><td class=\"pct-vol\">4.000 l (4 m\u00b3)<\/td><td class=\"pct-num\">27 ml<\/td><td class=\"pct-num\">53 ml<\/td><td class=\"pct-num\">80 ml<\/td><td class=\"pct-num\">133 ml<\/td><td class=\"pct-num\">267 ml<\/td><\/tr>\n        <tr><td class=\"pct-vol\">5.000 l (5 m\u00b3)<\/td><td class=\"pct-num\">33 ml<\/td><td class=\"pct-num\">67 ml<\/td><td class=\"pct-num\">100 ml<\/td><td class=\"pct-num\">167 ml<\/td><td class=\"pct-num\">333 ml<\/td><\/tr>\n        <tr><td class=\"pct-vol\">7.000 l (7 m\u00b3)<\/td><td class=\"pct-num\">47 ml<\/td><td class=\"pct-num\">93 ml<\/td><td class=\"pct-num\">140 ml<\/td><td class=\"pct-num\">233 ml<\/td><td class=\"pct-num\">467 ml<\/td><\/tr>\n        <tr><td class=\"pct-vol\">10.000 l (10 m\u00b3)<\/td><td class=\"pct-num\">67 ml<\/td><td class=\"pct-num\">133 ml<\/td><td class=\"pct-num\">200 ml<\/td><td class=\"pct-num\">333 ml<\/td><td class=\"pct-num\">667 ml<\/td><\/tr>\n        <tr><td class=\"pct-vol\">15.000 l (15 m\u00b3)<\/td><td class=\"pct-num\">100 ml<\/td><td class=\"pct-num\">200 ml<\/td><td class=\"pct-num\">300 ml<\/td><td class=\"pct-num\">500 ml<\/td><td class=\"pct-num\">1,00 l<\/td><\/tr>\n        <tr><td class=\"pct-vol\">20.000 l (20 m\u00b3)<\/td><td class=\"pct-num\">133 ml<\/td><td class=\"pct-num\">267 ml<\/td><td class=\"pct-num\">400 ml<\/td><td class=\"pct-num\">667 ml<\/td><td class=\"pct-num\">1,33 l<\/td><\/tr>\n        <tr><td class=\"pct-vol\">30.000 l (30 m\u00b3)<\/td><td class=\"pct-num\">200 ml<\/td><td class=\"pct-num\">400 ml<\/td><td class=\"pct-num\">600 ml<\/td><td class=\"pct-num\">1,00 l<\/td><td class=\"pct-num\">2,00 l<\/td><\/tr>\n        <tr><td class=\"pct-vol\">40.000 l (40 m\u00b3)<\/td><td class=\"pct-num\">267 ml<\/td><td class=\"pct-num\">533 ml<\/td><td class=\"pct-num\">800 ml<\/td><td class=\"pct-num\">1,33 l<\/td><td class=\"pct-num\">2,67 l<\/td><\/tr>\n        <tr><td class=\"pct-vol\">80.000 l (80 m\u00b3)<\/td><td class=\"pct-num\">533 ml<\/td><td class=\"pct-num\">1,07 l<\/td><td class=\"pct-num\">1,60 l<\/td><td class=\"pct-num\">2,67 l<\/td><td class=\"pct-num\">5,33 l<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n  <p class=\"pct-note\">Cantidades en mililitros (ml) y litros (l). En verano el sol y los ba\u00f1istas suelen consumir de 0,5 a 2 ppm de cloro libre al d\u00eda, as\u00ed que las columnas de 1, 2 y 3 ppm son las reposiciones habituales. La columna de 10 ppm es un nivel de choque. \u00bfCloro l\u00edquido de 100 g\/l en vez de 150? Multiplica por 1,5. \u00bfDudas con la lej\u00eda? Lee <a href=\"https:\/\/aiper.com\/blogs\/es\/cloro-de-piscina-vs-lejia\/\">cloro de piscina o lej\u00eda<\/a>.<\/p>\n\n  <h3>Cu\u00e1nto cloro l\u00edquido (12,5 %) echar por galones<\/h3>\n  <div class=\"pct-table-wrap\">\n    <table class=\"pct-table\">\n      <thead><tr><th>Volumen<\/th><th>Subir 1 ppm<\/th><th>Subir 2 ppm<\/th><th>Subir 3 ppm<\/th><th>Subir 5 ppm<\/th><\/tr><\/thead>\n      <tbody>\n        <tr><td class=\"pct-vol\">200 gal<\/td><td class=\"pct-num\">0,2 fl oz<\/td><td class=\"pct-num\">0,4 fl oz<\/td><td class=\"pct-num\">0,6 fl oz<\/td><td class=\"pct-num\">1,0 fl oz<\/td><\/tr>\n        <tr><td class=\"pct-vol\">500 gal<\/td><td class=\"pct-num\">0,5 fl oz<\/td><td class=\"pct-num\">1,0 fl oz<\/td><td class=\"pct-num\">1,5 fl oz<\/td><td class=\"pct-num\">2,6 fl oz<\/td><\/tr>\n        <tr><td class=\"pct-vol\">1.000 gal<\/td><td class=\"pct-num\">1,0 fl oz<\/td><td class=\"pct-num\">2,0 fl oz<\/td><td class=\"pct-num\">3,1 fl oz<\/td><td class=\"pct-num\">5,1 fl oz<\/td><\/tr>\n        <tr><td class=\"pct-vol\">2.000 gal<\/td><td class=\"pct-num\">2,0 fl oz<\/td><td class=\"pct-num\">4,1 fl oz<\/td><td class=\"pct-num\">6,1 fl oz<\/td><td class=\"pct-num\">10 fl oz<\/td><\/tr>\n        <tr><td class=\"pct-vol\">5.000 gal<\/td><td class=\"pct-num\">5,1 fl oz<\/td><td class=\"pct-num\">10 fl oz<\/td><td class=\"pct-num\">15 fl oz<\/td><td class=\"pct-num\">26 fl oz<\/td><\/tr>\n        <tr><td class=\"pct-vol\">10.000 gal<\/td><td class=\"pct-num\">10 fl oz<\/td><td class=\"pct-num\">20 fl oz<\/td><td class=\"pct-num\">31 fl oz<\/td><td class=\"pct-num\">51 fl oz<\/td><\/tr>\n        <tr><td class=\"pct-vol\">15.000 gal<\/td><td class=\"pct-num\">15 fl oz<\/td><td class=\"pct-num\">31 fl oz<\/td><td class=\"pct-num\">46 fl oz<\/td><td class=\"pct-num\">77 fl oz<\/td><\/tr>\n        <tr><td class=\"pct-vol\">20.000 gal<\/td><td class=\"pct-num\">20 fl oz<\/td><td class=\"pct-num\">41 fl oz<\/td><td class=\"pct-num\">61 fl oz<\/td><td class=\"pct-num\">102 fl oz<\/td><\/tr>\n        <tr><td class=\"pct-vol\">30.000 gal<\/td><td class=\"pct-num\">31 fl oz<\/td><td class=\"pct-num\">61 fl oz<\/td><td class=\"pct-num\">92 fl oz<\/td><td class=\"pct-num\">1,20 gal<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n  <p class=\"pct-note\">Cantidades en onzas l\u00edquidas (fl oz): 8 fl oz = 1 taza y 128 fl oz = 1 gal\u00f3n. Es la cantidad de cloro l\u00edquido al 12,5 % que se vierte en el agua, calculada con 1 ppm = 1 mg por litro.<\/p>\n\n  <h3>Cu\u00e1nto cloro seg\u00fan el producto: l\u00edquido, lej\u00eda, granulado y pastillas (subir 1 ppm)<\/h3>\n  <div class=\"pct-table-wrap\">\n    <table class=\"pct-table\">\n      <thead><tr><th>Volumen<\/th><th>Cloro l\u00edquido 150 g\/l<\/th><th>Lej\u00eda 40 g\/l<\/th><th>Hipoclorito c\u00e1lcico 65 %<\/th><th>Dicloro 56 %<\/th><th>Tricloro 90 %<\/th><\/tr><\/thead>\n      <tbody>\n        <tr><td class=\"pct-vol\">1.000 l<\/td><td class=\"pct-num\">6,7 ml<\/td><td class=\"pct-num\">25 ml<\/td><td class=\"pct-num\">1,5 g<\/td><td class=\"pct-num\">1,8 g<\/td><td class=\"pct-num\">1,1 g<\/td><\/tr>\n        <tr><td class=\"pct-vol\">5.000 l<\/td><td class=\"pct-num\">33 ml<\/td><td class=\"pct-num\">125 ml<\/td><td class=\"pct-num\">7,7 g<\/td><td class=\"pct-num\">8,9 g<\/td><td class=\"pct-num\">5,6 g<\/td><\/tr>\n        <tr><td class=\"pct-vol\">10.000 l<\/td><td class=\"pct-num\">67 ml<\/td><td class=\"pct-num\">250 ml<\/td><td class=\"pct-num\">15 g<\/td><td class=\"pct-num\">18 g<\/td><td class=\"pct-num\">11 g<\/td><\/tr>\n        <tr><td class=\"pct-vol\">20.000 l<\/td><td class=\"pct-num\">133 ml<\/td><td class=\"pct-num\">500 ml<\/td><td class=\"pct-num\">31 g<\/td><td class=\"pct-num\">36 g<\/td><td class=\"pct-num\">22 g<\/td><\/tr>\n        <tr><td class=\"pct-vol\">30.000 l<\/td><td class=\"pct-num\">200 ml<\/td><td class=\"pct-num\">750 ml<\/td><td class=\"pct-num\">46 g<\/td><td class=\"pct-num\">54 g<\/td><td class=\"pct-num\">33 g<\/td><\/tr>\n        <tr><td class=\"pct-vol\">50.000 l<\/td><td class=\"pct-num\">333 ml<\/td><td class=\"pct-num\">1,25 l<\/td><td class=\"pct-num\">77 g<\/td><td class=\"pct-num\">89 g<\/td><td class=\"pct-num\">56 g<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n  <p class=\"pct-note\">L\u00edquidos en ml y l, granulado y pastillas en g y kg. Para un aumento mayor, multiplica por las ppm (para 3 ppm necesitas el triple). El dicloro y el tricloro tambi\u00e9n aportan estabilizante.<\/p>\n\n  <h3>Valores de cloro en la piscina: cloro libre (CL) seg\u00fan el estabilizante<\/h3>\n  <div class=\"pct-table-wrap\">\n    <table class=\"pct-table\">\n      <thead><tr><th>Tu estabilizante<\/th><th>CL m\u00ednimo<\/th><th>CL objetivo<\/th><th>CL m\u00ednimo (electr\u00f3lisis salina)<\/th><th>CL de choque<\/th><\/tr><\/thead>\n      <tbody>\n        <tr><td class=\"pct-vol\">30 ppm<\/td><td class=\"pct-num\">2,2<\/td><td class=\"pct-num\">3<\/td><td class=\"pct-num\">1,5<\/td><td class=\"pct-acid\">12<\/td><\/tr>\n        <tr><td class=\"pct-vol\">40 ppm<\/td><td class=\"pct-num\">3<\/td><td class=\"pct-num\">4<\/td><td class=\"pct-num\">2<\/td><td class=\"pct-acid\">16<\/td><\/tr>\n        <tr><td class=\"pct-vol\">50 ppm<\/td><td class=\"pct-num\">3,8<\/td><td class=\"pct-num\">5<\/td><td class=\"pct-num\">2,5<\/td><td class=\"pct-acid\">20<\/td><\/tr>\n        <tr><td class=\"pct-vol\">60 ppm<\/td><td class=\"pct-num\">4,5<\/td><td class=\"pct-num\">6<\/td><td class=\"pct-num\">3<\/td><td class=\"pct-acid\">24<\/td><\/tr>\n        <tr><td class=\"pct-vol\">70 ppm<\/td><td class=\"pct-num\">5,2<\/td><td class=\"pct-num\">7<\/td><td class=\"pct-num\">3,5<\/td><td class=\"pct-acid\">28<\/td><\/tr>\n        <tr><td class=\"pct-vol\">80 ppm<\/td><td class=\"pct-num\">6<\/td><td class=\"pct-num\">8<\/td><td class=\"pct-num\">4<\/td><td class=\"pct-acid\">32<\/td><\/tr>\n        <tr><td class=\"pct-vol\">90 ppm<\/td><td class=\"pct-num\">6,8<\/td><td class=\"pct-num\">9<\/td><td class=\"pct-num\">4,5<\/td><td class=\"pct-acid\">36<\/td><\/tr>\n        <tr><td class=\"pct-vol\">100 ppm<\/td><td class=\"pct-num\">7,5<\/td><td class=\"pct-num\">10<\/td><td class=\"pct-num\">5<\/td><td class=\"pct-acid\">40<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n  <p class=\"pct-note\">Todos los valores en ppm. El m\u00ednimo es el 7,5 % del estabilizante, el objetivo ronda el 10 % y el choque el 40 %. Las piscinas con electr\u00f3lisis salina pueden mantenerse en torno al 5 %. Sin estabilizante (por ejemplo con cloro l\u00edquido o hipoclorito c\u00e1lcico) suelen bastar de 1 a 3 ppm.<\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Preguntas frecuentes sobre el cloro de la piscina<\/h2>\n\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1790201969000\"><strong class=\"schema-faq-question\">\u00bfCada cu\u00e1nto hay que echar cloro a la piscina?<\/strong> <p class=\"schema-faq-answer\">En verano el sol y los ba\u00f1istas suelen consumir entre 0,5 y 2 ppm de cloro libre al d\u00eda, seg\u00fan la piscina, as\u00ed que es habitual reponer una peque\u00f1a dosis cada uno o dos d\u00edas. Mide siempre a la misma hora, rep\u00f3n hasta tu objetivo y ajusta el ritmo a tus mediciones. Un dosificador flotante, la electr\u00f3lisis salina o un estabilizante (\u00e1cido isocian\u00farico) de 20 a 50 ppm reducen el consumo.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1790201986311\"><strong class=\"schema-faq-question\">\u00bfCu\u00e1l es el nivel de cloro ideal en una piscina?<\/strong> <p class=\"schema-faq-answer\">Para una piscina privada, la mayor\u00eda de fabricantes recomienda de 1 a 3 ppm de cloro libre (1 ppm = 1 mg\/l). Si usas cloro estabilizado (dicloro, tricloro) y hay \u00e1cido isocian\u00farico en el agua, hace falta m\u00e1s: al menos alrededor del 7,5 % del nivel de estabilizante, como muestra la tabla de arriba. Mide cloro libre, no total: la diferencia es cloro combinado, y si supera unos 0,5 ppm toca cloraci\u00f3n de choque.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1790202003622\"><strong class=\"schema-faq-question\">\u00bfCu\u00e1l es la f\u00f3rmula para calcular cu\u00e1nto cloro echar a una piscina?<\/strong> <p class=\"schema-faq-answer\">Multiplica el aumento que quieres, en ppm, por el volumen en litros y divide entre 1.000: obtienes gramos de cloro activo. Divide despu\u00e9s entre la concentraci\u00f3n del producto: entre 150 para cloro l\u00edquido de 150 g\/l (resultado en litros) o entre el porcentaje para granulado (resultado en gramos). Con galones, multiplica antes los galones por 3,785. Ejemplo: subir 2 ppm en 30.000 litros necesita 60 g de cloro activo, unos 400 ml de cloro l\u00edquido de 150 g\/l.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1790202020933\"><strong class=\"schema-faq-question\">\u00bfSe puede usar lej\u00eda en lugar de cloro l\u00edquido para piscinas?<\/strong> <p class=\"schema-faq-answer\">S\u00ed, si es lej\u00eda normal sin perfume ni aditivos y pones en la calculadora la concentraci\u00f3n de cloro activo de la etiqueta, normalmente unos 40 g\/l. Es mucho m\u00e1s floja que el cloro l\u00edquido de 150 g\/l, as\u00ed que necesitas casi cuatro veces m\u00e1s volumen: para subir 1 ppm en 1.000 litros bastan unos 25 ml. Adem\u00e1s pierde fuerza con el tiempo, as\u00ed que compra lej\u00eda reciente.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1790202038244\"><strong class=\"schema-faq-question\">\u00bfCu\u00e1nto cloro hace falta por gal\u00f3n de agua?<\/strong> <p class=\"schema-faq-answer\">Cada ppm equivale a unos 3,8 mg de cloro activo por gal\u00f3n, es decir, unos 0,03 ml de cloro l\u00edquido al 12,5 %. Por eso en la pr\u00e1ctica se calcula por bloques grandes: subir 1 ppm en 10.000 galones necesita unos 10,2 fl oz de cloro l\u00edquido al 12,5 %. La tabla de galones de arriba y la calculadora hacen la cuenta por ti.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1790202055555\"><strong class=\"schema-faq-question\">\u00bfC\u00f3mo uso la calculadora para una cloraci\u00f3n de choque?<\/strong> <p class=\"schema-faq-answer\">Pon como objetivo el nivel de choque, normalmente de 5 a 10 ppm, o alrededor del 40 % del estabilizante si lo tienes, por ejemplo 16 ppm con 40 ppm de estabilizante. A\u00f1ade la dosis en una o dos tandas con la depuradora en marcha y vuelve a medir cada pocas horas hasta que el agua est\u00e9 clara. B\u00e1\u00f1ate solo cuando el nivel vuelva a su rango normal.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1790202072866\"><strong class=\"schema-faq-question\">\u00bfPor qu\u00e9 no sube el nivel de cloro despu\u00e9s de echar cloro?<\/strong> <p class=\"schema-faq-answer\">Lo m\u00e1s habitual es la demanda de cloro: la materia org\u00e1nica (algas incipientes, sudor, protector solar) consume el cloro tan r\u00e1pido como lo a\u00f1ades. Deja circular el agua al menos 30 minutos antes de medir y comprueba que tu kit de medici\u00f3n es reciente. Si el nivel sigue sin mantenerse, la piscina necesita un choque para eliminar esa demanda.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1790202090177\"><strong class=\"schema-faq-question\">\u00bfCu\u00e1nto tiempo hay que esperar para ba\u00f1arse despu\u00e9s de echar cloro?<\/strong> <p class=\"schema-faq-answer\">Tras una reposici\u00f3n normal, espera a que la depuradora haya hecho circular el agua, normalmente de 30 a 60 minutos, y comprueba que el cloro libre est\u00e1 en su rango normal. Despu\u00e9s de un choque, b\u00e1\u00f1ate solo cuando el nivel haya vuelto a ese rango, lo que puede llevar un d\u00eda o m\u00e1s seg\u00fan el sol y el estabilizante. Mide en lugar de adivinar.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1790202107488\"><strong class=\"schema-faq-question\">\u00bfLas pastillas de tricloro suben el estabilizante (\u00e1cido isocian\u00farico)?<\/strong> <p class=\"schema-faq-answer\">S\u00ed. Cada 1 ppm de cloro libre que aporta el tricloro a\u00f1ade unas 0,6 ppm de \u00e1cido isocian\u00farico, y unas 0,9 ppm con el dicloro. No se degrada, solo baja renovando agua. El hipoclorito c\u00e1lcico aporta unas 0,7 ppm de dureza c\u00e1lcica por ppm de cloro. El cloro l\u00edquido no aporta ni una cosa ni otra, pero sube el pH, mientras que el tricloro lo baja. La calculadora te muestra lo que a\u00f1ade tu dosis.<\/p> <\/div><\/div>\n\n\n<!-- aiper-tool-links -->\n<div class=\"aiper-tool-links\">\n  <div class=\"aiper-tl-section\">\n    <div class=\"aiper-tl-heading\">M\u00e1s herramientas<\/div>\n    <div class=\"aiper-tl-tags\">\n      <a href=\"https:\/\/aiper.com\/blogs\/es\/calculadora-tiempo-llenado-piscina\/\" class=\"aiper-tl-tag\">Calculadora de tiempo de llenado de piscina<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/es\/calculadora-tasa-recambio-piscina\/\" class=\"aiper-tl-tag\">Calculadora de tasa de recambio de piscina<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/es\/calculadora-indice-saturacion-piscina\/\" class=\"aiper-tl-tag\">Calculadora del \u00edndice de saturaci\u00f3n de piscina (LSI)<\/a>\n    <\/div>\n  <\/div>\n  <div class=\"aiper-tl-section\">\n    <div class=\"aiper-tl-heading\">Art\u00edculos relacionados<\/div>\n    <div class=\"aiper-tl-tags\">\n      <a href=\"https:\/\/aiper.com\/blogs\/es\/bajar-alcalinidad-piscina\/\" class=\"aiper-tl-tag\">C\u00f3mo bajar la alcalinidad de la piscina<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/es\/robot-piscina-atascado-desague-principal\/\" class=\"aiper-tl-tag\">\u00bfPor qu\u00e9 el robot de piscina se queda atascado en el desag\u00fce principal?<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/es\/preparar-piscina-para-invierno\/\" class=\"aiper-tl-tag\">C\u00f3mo preparar una piscina enterrada para el invierno: gu\u00eda paso a paso<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/es\/dejar-robot-limpiapiscinas-en-el-agua\/\" class=\"aiper-tl-tag\">\u00bfSe puede dejar el robot limpiapiscinas en el agua?<\/a>\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n.aiper-tool-links{margin:2.5rem 0 1.5rem;padding:1.5rem 1.75rem;background:linear-gradient(135deg,rgba(148,134,247,.04),rgba(30,202,211,.04));border-radius:12px;border:1px solid rgba(148,134,247,.10)}\n.aiper-tl-section{margin-bottom:1.25rem}\n.aiper-tl-section:last-child{margin-bottom:0}\n.aiper-tl-heading{font-size:.75rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#8899aa;margin:0 0 .65rem}\n.aiper-tl-tags{display:flex;flex-wrap:wrap;gap:.5rem}\n.aiper-tl-tag{display:inline-block;padding:.4rem .95rem;font-size:.82rem;font-weight:500;line-height:1.35;color:#9486f7;background:rgba(148,134,247,.055);border:1px solid rgba(30,202,211,.25);border-radius:22px;text-decoration:none;transition:all .18s}\n.aiper-tl-tag:hover{background:#1ecad3;color:#fff;border-color:#1ecad3;box-shadow:0 2px 10px rgba(30,202,211,.22)}\n<\/style>\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>Esta calculadora de cloro para piscina te dice cu\u00e1nto cloro l\u00edquido, lej\u00eda, granulado o pastillas debes a\u00f1adir para llegar a tu nivel de cloro libre objetivo, con la piscina en litros, metros c\u00fabicos o galones. Tambi\u00e9n comprueba si tu objetivo encaja con tu nivel de estabilizante (\u00e1cido isocian\u00farico). Introduce el volumen de tu piscina y&#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-1969","page","type-page","status-publish","hentry"],"lang":"es","translations":{"es":1969,"en":1408,"de":1957,"fr":1963},"_links":{"self":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/1969","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=1969"}],"version-history":[{"count":7,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/1969\/revisions"}],"predecessor-version":[{"id":11895,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/1969\/revisions\/11895"}],"wp:attachment":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/media?parent=1969"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}