{"id":1232,"date":"2026-04-27T11:05:22","date_gmt":"2026-04-27T11:05:22","guid":{"rendered":"https:\/\/aiper.com\/blogs\/?page_id=1232"},"modified":"2026-10-21T09:18:03","modified_gmt":"2026-10-21T09:18:03","slug":"pool-volume-calculator","status":"publish","type":"page","link":"https:\/\/aiper.com\/blogs\/pool-volume-calculator\/","title":{"rendered":"Pool Volume Calculator"},"content":{"rendered":"\n<style>\n.pvc-intro{max-width:900px;margin:0 auto 16px;padding:0 30px;text-align:center;color:#5a6c7d;font-size:15px;line-height:1.5;box-sizing:border-box}\n.pvc-wrap{font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;max-width:900px;margin:30px auto;padding:30px;background:#fff;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.08);color:#222;box-sizing:border-box}\n.pvc-wrap *{box-sizing:border-box}\n.pvc-step{margin-bottom:35px}\n.pvc-step-title{font-size:18px;font-weight:600;margin:0 0 18px;color:#1a1a1a;display:flex;align-items:center;gap:10px}\n.pvc-step-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#1ecad3,#9486f7);color:#fff;font-size:14px;font-weight:700}\n.pvc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}\n.pvc-card{border:2px solid #e5e7eb;border-radius:12px;padding:16px 10px;text-align:center;cursor:pointer;transition:all .2s;background:#fff;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:110px;justify-content:center}\n.pvc-card:hover{border-color:#9486f7;transform:translateY(-2px)}\n.pvc-card.pvc-active{border-color:#9486f7;background:#f5f3ff;box-shadow:0 0 0 3px rgba(148,134,247,.15)}\n.pvc-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center}\n.pvc-icon svg{width:100%;height:100%}\n.pvc-label{font-size:13px;font-weight:500;color:#333;line-height:1.3}\n.pvc-unit-toggle{display:inline-flex;background:#f3f4f6;border-radius:30px;padding:4px;margin-bottom:18px}\n.pvc-unit-toggle button{border:none;background:transparent;padding:6px 18px;border-radius:30px;cursor:pointer;font-size:13px;font-weight:500;color:#666;transition:all .2s}\n.pvc-unit-toggle button.pvc-active{background:linear-gradient(135deg,#1ecad3,#9486f7);color:#fff}\n.pvc-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}\n.pvc-field label{display:block;font-size:13px;font-weight:500;color:#444;margin-bottom:6px}\n.pvc-field input{width:100%;padding:10px 14px;border:2px solid #e5e7eb;border-radius:8px;font-size:15px;outline:none;transition:border .2s}\n.pvc-field input:focus{border-color:#9486f7}\n.pvc-btn{display:block;width:100%;max-width:280px;margin:30px auto 0;padding:14px 30px;background:linear-gradient(135deg,#1ecad3,#9486f7);color:#fff;border:none;border-radius:999px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;letter-spacing:.5px}\n.pvc-btn:hover{background:linear-gradient(135deg,#169fa6,#7b6be0);transform:translateY(-1px);box-shadow:0 6px 16px rgba(148,134,247,.35)}\n.pvc-btn:focus{outline:none;border-color:#9486f7}\n.pvc-btn:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}\n.pvc-result{margin-top:30px;padding:25px;background:linear-gradient(135deg,#f5f3ff 0%,#f0fbfc 100%);border-radius:14px;border:1px solid #d8d0f0;display:none}\n.pvc-result.pvc-show{display:block;animation:pvcFade .4s ease}\n@keyframes pvcFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}\n.pvc-result-title{font-size:16px;font-weight:600;margin:0 0 15px;color:#5b4ab8}\n.pvc-result-vol{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:14px}\n.pvc-vol-item{flex:1;min-width:140px;padding:12px 16px;background:#fff;border-radius:10px;text-align:center}\n.pvc-vol-num{font-size:22px;font-weight:700;color:#1ecad3;display:block}\n.pvc-vol-unit{font-size:12px;color:#666;margin-top:2px}\n.pvc-result-toggle{display:inline-flex;background:#fff;border-radius:30px;padding:4px;margin-bottom:18px;border:1px solid #d1e8ea}\n.pvc-result-toggle button{border:none;background:transparent;padding:6px 16px;border-radius:30px;cursor:pointer;font-size:12px;font-weight:500;color:#666}\n.pvc-result-toggle button.pvc-active{background:linear-gradient(135deg,#1ecad3,#9486f7);color:#fff}\n.pvc-algebra{font-size:12px;color:#5a6c7d;margin:0 0 14px;padding:8px 12px;background:#fff;border-radius:8px}\n.pvc-next{font-size:13px;color:#444;margin:0;padding-top:14px;border-top:1px solid #d8d0f0}\n.pvc-next a{color:#5b4ab8;font-weight:600;text-decoration:none}\n.pvc-next a:hover,.pvc-next a:focus{text-decoration:underline}\n.pvc-error{color:#e53e3e;font-size:13px;margin-top:8px;text-align:center}\n.pvc-diagram{display:none;text-align:center;margin:16px 0 0;padding:16px;background:#fafcfd;border:1px solid #e0e5eb;border-radius:12px}\n.pvc-diagram.pvc-show{display:block}\n.pvc-diagram svg{max-width:100%;height:auto}\n.pvc-diagram-label{font-size:12px;font-weight:600;color:#5a6c7d;margin-bottom:8px}\n.pvc-btn-row{display:flex;gap:12px;max-width:420px;margin:26px auto 0;flex-wrap:wrap}\n.pvc-btn-row .pvc-btn{flex:1;min-width:160px;margin:0}\n.pvc-btn-reset{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;cursor:pointer;transition:all .2s;letter-spacing:.5px}\n.pvc-btn-reset:hover{background:#f0f7f8;border-color:#1ecad3;color:#0f8c94}\n.pvc-btn-reset:focus,.pvc-btn-reset:active{outline:none;border-color:#9486f7;color:#0f8c94}\n@media (max-width:600px){.pvc-wrap{padding:18px;margin:15px}.pvc-grid{grid-template-columns:repeat(2,1fr)}.pvc-step-title{font-size:16px}.pvc-btn-row{flex-direction:column;max-width:280px}.pvc-btn-reset{padding:12px 20px;font-size:14px}}\n<\/style>\n<!-- Pool Volume Calculator - WordPress Custom HTML Block -->\n<p class=\"pvc-intro\">Select a pool shape, enter your dimensions, and get an instant volume in US gallons, UK gallons, liters, and cubic meters.<\/p>\n<div class=\"pvc-wrap\">\n  <div class=\"pvc-step\">\n    <div class=\"pvc-step-title\"><span class=\"pvc-step-num\">1<\/span>Select your pool shape<\/div>\n    <div class=\"pvc-grid\" id=\"pvc-shapes\">\n      <div class=\"pvc-card pvc-active\" data-shape=\"rectangular\"><div class=\"pvc-icon\"><svg viewBox=\"0 0 48 48\" fill=\"none\"><rect x=\"6\" y=\"14\" width=\"36\" height=\"20\" rx=\"2\" stroke=\"#1ecad3\" stroke-width=\"2.5\" fill=\"#e8fafb\"\/><\/svg><\/div><div class=\"pvc-label\">Rectangular<\/div><\/div>\n      <div class=\"pvc-card\" data-shape=\"l-shaped\"><div class=\"pvc-icon\"><svg viewBox=\"0 0 48 48\" fill=\"none\"><path d=\"M10,10 V38 H38 V26 H22 V10 Z\" stroke=\"#1ecad3\" stroke-width=\"2.5\" fill=\"#e8fafb\" stroke-linejoin=\"round\"\/><\/svg><\/div><div class=\"pvc-label\">L-Shaped<\/div><\/div>\n      <div class=\"pvc-card\" data-shape=\"circle\"><div class=\"pvc-icon\"><svg viewBox=\"0 0 48 48\" fill=\"none\"><circle cx=\"24\" cy=\"24\" r=\"16\" stroke=\"#1ecad3\" stroke-width=\"2.5\" fill=\"#e8fafb\"\/><\/svg><\/div><div class=\"pvc-label\">Circle<\/div><\/div>\n      <div class=\"pvc-card\" data-shape=\"triangular\"><div class=\"pvc-icon\"><svg viewBox=\"0 0 48 48\" fill=\"none\"><polygon points=\"24,8 42,38 6,38\" stroke=\"#1ecad3\" stroke-width=\"2.5\" fill=\"#e8fafb\"\/><\/svg><\/div><div class=\"pvc-label\">Triangular<\/div><\/div>\n      <div class=\"pvc-card\" data-shape=\"kidney\"><div class=\"pvc-icon\"><svg viewBox=\"0 0 48 48\" fill=\"none\"><path d=\"M10,24 C10,12 20,10 26,14 C30,17 36,14 40,20 C44,28 38,38 28,38 C20,38 18,34 14,34 C10,34 10,30 10,24 Z\" stroke=\"#1ecad3\" stroke-width=\"2.5\" fill=\"#e8fafb\"\/><\/svg><\/div><div class=\"pvc-label\">Kidney<\/div><\/div>\n      <div class=\"pvc-card\" data-shape=\"oval\"><div class=\"pvc-icon\"><svg viewBox=\"0 0 48 48\" fill=\"none\"><ellipse cx=\"24\" cy=\"24\" rx=\"18\" ry=\"11\" stroke=\"#1ecad3\" stroke-width=\"2.5\" fill=\"#e8fafb\"\/><\/svg><\/div><div class=\"pvc-label\">Oval<\/div><\/div>\n      <div class=\"pvc-card\" data-shape=\"oblong\"><div class=\"pvc-icon\"><svg viewBox=\"0 0 48 48\" fill=\"none\"><path d=\"M14,14 L34,14 Q44,14 44,24 Q44,34 34,34 L14,34 Q4,34 4,24 Q4,14 14,14 Z\" stroke=\"#1ecad3\" stroke-width=\"2.5\" fill=\"#e8fafb\"\/><\/svg><\/div><div class=\"pvc-label\">Oblong<\/div><\/div>\n    <\/div>\n    <div id=\"pvc-diagram\" class=\"pvc-diagram\"><\/div>\n  <\/div>\n  <div class=\"pvc-step\">\n    <div class=\"pvc-step-title\"><span class=\"pvc-step-num\">2<\/span>Enter pool dimensions<\/div>\n    <div class=\"pvc-unit-toggle\" id=\"pvc-unit-toggle\">\n      <button data-unit=\"ft\" class=\"pvc-active\">Feet (ft)<\/button>\n      <button data-unit=\"m\">Meters (m)<\/button>\n    <\/div>\n    <div class=\"pvc-inputs\" id=\"pvc-inputs\"><\/div>\n  <\/div>\n  <div class=\"pvc-btn-row\">\n    <button class=\"pvc-btn\" id=\"pvc-calc\">Calculate<\/button>\n    <button class=\"pvc-btn-reset\" id=\"pvc-reset\">Reset<\/button>\n  <\/div>\n  <div class=\"pvc-error\" id=\"pvc-error\"><\/div>\n  <div class=\"pvc-result\" id=\"pvc-result\">\n    <div class=\"pvc-result-title\">Pool Volume<\/div>\n    <div class=\"pvc-result-toggle\" id=\"pvc-result-toggle\">\n      <button data-system=\"us\" class=\"pvc-active\">US \/ UK Gallons<\/button>\n      <button data-system=\"metric\">Liters \/ m&sup3;<\/button>\n    <\/div>\n    <div class=\"pvc-result-vol\" id=\"pvc-vol-display\"><\/div>\n    <p class=\"pvc-algebra\" id=\"pvc-algebra\"><\/p>\n    <p class=\"pvc-next\">Next step: <a href=\"https:\/\/aiper.com\/blogs\/pool-chlorine-calculator\/\">chlorine calculator<\/a> &middot; <a href=\"https:\/\/aiper.com\/blogs\/pool-shock-calculator\/\">shock calculator<\/a> &middot; <a href=\"https:\/\/aiper.com\/blogs\/pool-fill-time-calculator\/\">fill time calculator<\/a><\/p>\n  <\/div>\n<\/div>\n<script>\n(function(){\n  var state={shape:'rectangular',unit:'ft',resultSystem:'us',volumeGal:0};\n  var fieldsByShape={\n    rectangular:[['length','Length'],['width','Width'],['shallow','Shallow End Depth'],['deep','Deep End Depth']],\n    'l-shaped':[['length1','Total Length'],['width1','Total Width'],['length2','Short Arm Length'],['width2','Short Arm Width'],['shallow','Shallow End Depth'],['deep','Deep End Depth']],\n    circle:[['diameter','Diameter'],['shallow','Shallow End Depth'],['deep','Deep End Depth']],\n    triangular:[['base','Base'],['height','Height'],['shallow','Shallow End Depth'],['deep','Deep End Depth']],\n    kidney:[['length','Length'],['width','Width'],['shallow','Shallow End Depth'],['deep','Deep End Depth']],\n    oval:[['length','Length (Long Axis)'],['width','Width (Short Axis)'],['shallow','Shallow End Depth'],['deep','Deep End Depth']],\n    oblong:[['small','Width (Diameter of Semicircular Ends)'],['length','Overall Length'],['shallow','Shallow End Depth'],['deep','Deep End Depth']]\n  };\n\n  var diagrams={\n    rectangular:'<svg viewBox=\"0 0 400 165\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><defs><marker id=\"ar\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerW=\"5\" markerH=\"5\" orient=\"auto\"><path d=\"M0,0L10,5L0,10Z\" fill=\"#9486f7\"\/><\/marker><\/defs><rect x=\"55\" y=\"18\" width=\"200\" height=\"90\" rx=\"3\" fill=\"#e8fafb\" stroke=\"#1ecad3\" stroke-width=\"2.5\"\/><line x1=\"55\" y1=\"122\" x2=\"255\" y2=\"122\" stroke=\"#9486f7\" stroke-width=\"1.5\" marker-start=\"url(#ar)\" marker-end=\"url(#ar)\"\/><text x=\"155\" y=\"139\" text-anchor=\"middle\" font-size=\"11\" fill=\"#2c3e50\" font-weight=\"600\">Length (L)<\/text><line x1=\"275\" y1=\"18\" x2=\"275\" y2=\"108\" stroke=\"#9486f7\" stroke-width=\"1.5\" marker-start=\"url(#ar)\" marker-end=\"url(#ar)\"\/><text x=\"287\" y=\"68\" text-anchor=\"start\" font-size=\"11\" fill=\"#2c3e50\" font-weight=\"600\">Width (W)<\/text><text x=\"15\" y=\"160\" font-size=\"9\" fill=\"#8899a6\">Avg Depth =<\/text><text x=\"87\" y=\"160\" font-size=\"9\" fill=\"#2c3e50\" font-weight=\"600\">(Shallow + Deep) \/ 2<\/text><\/svg>',\n    'l-shaped':'<svg viewBox=\"0 0 400 170\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><defs><marker id=\"ar\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerW=\"5\" markerH=\"5\" orient=\"auto\"><path d=\"M0,0L10,5L0,10Z\" fill=\"#9486f7\"\/><\/marker><\/defs><path d=\"M50,15L290,15L290,65L130,65L130,120L50,120Z\" fill=\"#e8fafb\" stroke=\"#1ecad3\" stroke-width=\"2.5\" stroke-linejoin=\"round\"\/><line x1=\"160\" y1=\"70\" x2=\"160\" y2=\"120\" stroke=\"#c5cdd5\" stroke-width=\"1\" stroke-dasharray=\"4,3\"\/><line x1=\"130\" y1=\"88\" x2=\"290\" y2=\"88\" stroke=\"#c5cdd5\" stroke-width=\"1\" stroke-dasharray=\"4,3\"\/><line x1=\"50\" y1=\"138\" x2=\"290\" y2=\"138\" stroke=\"#9486f7\" stroke-width=\"1.5\" marker-start=\"url(#ar)\" marker-end=\"url(#ar)\"\/><text x=\"170\" y=\"154\" text-anchor=\"middle\" font-size=\"10\" fill=\"#2c3e50\" font-weight=\"600\">Total Length (L\u2081)<\/text><line x1=\"310\" y1=\"15\" x2=\"310\" y2=\"120\" stroke=\"#9486f7\" stroke-width=\"1.5\" marker-start=\"url(#ar)\" marker-end=\"url(#ar)\"\/><text x=\"322\" y=\"72\" text-anchor=\"start\" font-size=\"10\" fill=\"#2c3e50\" font-weight=\"600\">Total Width (W\u2081)<\/text><text x=\"135\" y=\"95\" font-size=\"9\" fill=\"#2c3e50\" font-weight=\"600\">L\u2082<\/text><text x=\"222\" y=\"112\" font-size=\"9\" fill=\"#2c3e50\" font-weight=\"600\">W\u2082<\/text><\/svg>',\n    circle:'<svg viewBox=\"0 0 400 160\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><defs><marker id=\"ar\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerW=\"5\" markerH=\"5\" orient=\"auto\"><path d=\"M0,0L10,5L0,10Z\" fill=\"#9486f7\"\/><\/marker><\/defs><circle cx=\"180\" cy=\"70\" r=\"55\" fill=\"#e8fafb\" stroke=\"#1ecad3\" stroke-width=\"2.5\"\/><line x1=\"125\" y1=\"70\" x2=\"235\" y2=\"70\" stroke=\"#9486f7\" stroke-width=\"2\" marker-start=\"url(#ar)\" marker-end=\"url(#ar)\"\/><text x=\"180\" y=\"60\" text-anchor=\"middle\" font-size=\"11\" fill=\"#2c3e50\" font-weight=\"600\">Diameter (d)<\/text><text x=\"180\" y=\"148\" text-anchor=\"middle\" font-size=\"9\" fill=\"#8899a6\">Measure edge to edge through the center<\/text><\/svg>',\n    triangular:'<svg viewBox=\"0 0 400 160\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><defs><marker id=\"ar\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerW=\"5\" markerH=\"5\" orient=\"auto\"><path d=\"M0,0L10,5L0,10Z\" fill=\"#9486f7\"\/><\/marker><\/defs><polygon points=\"60,115 280,115 60,20\" fill=\"#e8fafb\" stroke=\"#1ecad3\" stroke-width=\"2.5\"\/><line x1=\"60\" y1=\"133\" x2=\"280\" y2=\"133\" stroke=\"#9486f7\" stroke-width=\"1.5\" marker-start=\"url(#ar)\" marker-end=\"url(#ar)\"\/><text x=\"170\" y=\"150\" text-anchor=\"middle\" font-size=\"11\" fill=\"#2c3e50\" font-weight=\"600\">Base (B)<\/text><line x1=\"42\" y1=\"20\" x2=\"42\" y2=\"115\" stroke=\"#9486f7\" stroke-width=\"1.5\" marker-start=\"url(#ar)\" marker-end=\"url(#ar)\"\/><text x=\"18\" y=\"72\" text-anchor=\"middle\" font-size=\"11\" fill=\"#2c3e50\" font-weight=\"600\" writing-mode=\"tb\">Height (H)<\/text><\/svg>',\n    kidney:'<svg viewBox=\"0 0 400 160\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><defs><marker id=\"ar\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerW=\"5\" markerH=\"5\" orient=\"auto\"><path d=\"M0,0L10,5L0,10Z\" fill=\"#9486f7\"\/><\/marker><\/defs><path d=\"M70,30C70,18 100,15 130,22C155,28 175,18 195,26C220,35 230,55 220,75C210,100 175,115 140,115C108,115 90,108 80,100C65,88 62,60 70,30Z\" fill=\"#e8fafb\" stroke=\"#1ecad3\" stroke-width=\"2.5\"\/><line x1=\"65\" y1=\"133\" x2=\"230\" y2=\"133\" stroke=\"#9486f7\" stroke-width=\"1.5\" marker-start=\"url(#ar)\" marker-end=\"url(#ar)\"\/><text x=\"148\" y=\"150\" text-anchor=\"middle\" font-size=\"11\" fill=\"#2c3e50\" font-weight=\"600\">Overall Length (L)<\/text><line x1=\"250\" y1=\"22\" x2=\"250\" y2=\"115\" stroke=\"#9486f7\" stroke-width=\"1.5\" marker-start=\"url(#ar)\" marker-end=\"url(#ar)\"\/><text x=\"262\" y=\"72\" text-anchor=\"start\" font-size=\"11\" fill=\"#2c3e50\" font-weight=\"600\">Width (W)<\/text><\/svg>',\n    oval:'<svg viewBox=\"0 0 400 160\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><defs><marker id=\"ar\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerW=\"5\" markerH=\"5\" orient=\"auto\"><path d=\"M0,0L10,5L0,10Z\" fill=\"#9486f7\"\/><\/marker><\/defs><ellipse cx=\"200\" cy=\"70\" rx=\"130\" ry=\"50\" fill=\"#e8fafb\" stroke=\"#1ecad3\" stroke-width=\"2.5\"\/><line x1=\"70\" y1=\"133\" x2=\"330\" y2=\"133\" stroke=\"#9486f7\" stroke-width=\"1.5\" marker-start=\"url(#ar)\" marker-end=\"url(#ar)\"\/><text x=\"200\" y=\"150\" text-anchor=\"middle\" font-size=\"11\" fill=\"#2c3e50\" font-weight=\"600\">Length \u2014 Long Axis (L)<\/text><line x1=\"345\" y1=\"20\" x2=\"345\" y2=\"120\" stroke=\"#9486f7\" stroke-width=\"1.5\" marker-start=\"url(#ar)\" marker-end=\"url(#ar)\"\/><text x=\"357\" y=\"75\" text-anchor=\"start\" font-size=\"11\" fill=\"#2c3e50\" font-weight=\"600\">Width \u2014 Short Axis (W)<\/text><\/svg>',\n    oblong:'<svg viewBox=\"0 0 400 160\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><defs><marker id=\"ar\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerW=\"5\" markerH=\"5\" orient=\"auto\"><path d=\"M0,0L10,5L0,10Z\" fill=\"#9486f7\"\/><\/marker><\/defs><path d=\"M100,20L260,20A40,40 0 0,1 300,60A40,40 0 0,1 260,100L100,100A40,40 0 0,1 60,60A40,40 0 0,1 100,20Z\" fill=\"#e8fafb\" stroke=\"#1ecad3\" stroke-width=\"2.5\"\/><line x1=\"60\" y1=\"135\" x2=\"300\" y2=\"135\" stroke=\"#9486f7\" stroke-width=\"1.5\" marker-start=\"url(#ar)\" marker-end=\"url(#ar)\"\/><text x=\"180\" y=\"152\" text-anchor=\"middle\" font-size=\"11\" fill=\"#2c3e50\" font-weight=\"600\">Overall Length (L)<\/text><line x1=\"320\" y1=\"20\" x2=\"320\" y2=\"100\" stroke=\"#9486f7\" stroke-width=\"1.5\" marker-start=\"url(#ar)\" marker-end=\"url(#ar)\"\/><text x=\"332\" y=\"65\" text-anchor=\"start\" font-size=\"10\" fill=\"#2c3e50\" font-weight=\"600\">Width (W)<\/text><text x=\"335\" y=\"78\" font-size=\"8\" fill=\"#8899a6\">= diam of ends<\/text><line x1=\"130\" y1=\"20\" x2=\"130\" y2=\"15\" stroke=\"#c5cdd5\" stroke-width=\"1\"\/><line x1=\"230\" y1=\"20\" x2=\"230\" y2=\"15\" stroke=\"#c5cdd5\" stroke-width=\"1\"\/><text x=\"178\" y=\"13\" font-size=\"8\" fill=\"#8899a6\">Rectangle portion<\/text><\/svg>'\n  };\n\n  var shapeCards=document.querySelectorAll('#pvc-shapes .pvc-card');\n  var inputsBox=document.getElementById('pvc-inputs');\n  var calcBtn=document.getElementById('pvc-calc');\n  var errBox=document.getElementById('pvc-error');\n  var resultBox=document.getElementById('pvc-result');\n\n  shapeCards.forEach(function(card){\n    card.addEventListener('click',function(){\n      shapeCards.forEach(function(c){c.classList.remove('pvc-active')});\n      card.classList.add('pvc-active');\n      state.shape=card.dataset.shape;\n      updateDiagram();\n      renderInputs();\n      resultBox.classList.remove('pvc-show');\n      errBox.textContent='';\n    });\n  });\n\n  document.querySelectorAll('#pvc-unit-toggle button').forEach(function(b){\n    b.addEventListener('click',function(){\n      document.querySelectorAll('#pvc-unit-toggle button').forEach(function(x){x.classList.remove('pvc-active')});\n      b.classList.add('pvc-active');\n      state.unit=b.dataset.unit;\n      renderInputs();\n    });\n  });\n\n  function renderInputs(){\n    var u=state.unit;\n    var html=fieldsByShape[state.shape].map(function(f){\n      return '<div class=\"pvc-field\"><label>'+f[1]+' ('+u+')<\/label><input type=\"number\" step=\"0.1\" min=\"0\" data-key=\"'+f[0]+'\" placeholder=\"0\"><\/div>';\n    }).join('');\n    inputsBox.innerHTML=html;\n  }\n  renderInputs();\n  updateDiagram();\n\n  document.querySelectorAll('#pvc-result-toggle button').forEach(function(b){\n    b.addEventListener('click',function(){\n      document.querySelectorAll('#pvc-result-toggle button').forEach(function(x){x.classList.remove('pvc-active')});\n      b.classList.add('pvc-active');\n      state.resultSystem=b.dataset.system;\n      renderVolume();\n    });\n  });\n\n  function getVal(k){\n    var el=inputsBox.querySelector('[data-key=\"'+k+'\"]');\n    return el?parseFloat(el.value)||0:0;\n  }\n\n  function calcVolumeFt3(){\n    var conv=state.unit==='m'?3.28084:1;\n    var v=function(k){return getVal(k)*conv};\n    var avgDepth=(v('shallow')+v('deep'))\/2;\n    var area=0;\n    switch(state.shape){\n      case 'rectangular':area=v('length')*v('width');break;\n      case 'l-shaped':\n        var mainRect = v('length1') * v('width2');\n        var sideRect = (v('width1') - v('width2')) * v('length2');\n        area = mainRect + sideRect;\n        break;\n      case 'circle':var r=v('diameter')\/2;area=Math.PI*r*r;break;\n      case 'triangular':area=0.5*v('base')*v('height');break;\n      case 'kidney':area=v('length')*v('width')*0.68;break;\n      case 'oval':area=Math.PI*(v('length')\/2)*(v('width')\/2);break;\n      case 'oblong':\n        var r2=v('small')\/2;\n        var rectLen=Math.max(0,v('length')-v('small'));\n        area=Math.PI*r2*r2 + rectLen*v('small');\n        break;\n    }\n    return area*avgDepth;\n  }\n\n  function buildAlgebra(){\n    var g=getVal, u=state.unit, d=((g('shallow')+g('deep'))\/2).toFixed(2);\n    switch(state.shape){\n      case 'rectangular':return g('length')+' \u00d7 '+g('width')+' '+u+' \u00d7 '+d+' '+u+' avg depth \u00d7 7.48';\n      case 'l-shaped':return '('+g('length1')+'\u00d7'+g('width2')+' + ('+g('width1')+'\u2212'+g('width2')+')\u00d7'+g('length2')+') '+u+'\u00b2 \u00d7 '+d+' '+u+' \u00d7 7.48';\n      case 'circle':return '\u03c0 \u00d7 ('+g('diameter')+'\/2)\u00b2 \u00d7 '+d+' '+u+' \u00d7 7.48';\n      case 'triangular':return '('+g('base')+'\u00d7'+g('height')+')\/2 \u00d7 '+d+' '+u+' \u00d7 7.48';\n      case 'kidney':return '0.68 \u00d7 '+g('length')+' \u00d7 '+g('width')+' '+u+' \u00d7 '+d+' '+u+' \u00d7 7.48';\n      case 'oval':return '\u03c0 \u00d7 ('+g('length')+'\/2) \u00d7 ('+g('width')+'\/2) \u00d7 '+d+' '+u+' \u00d7 7.48';\n      case 'oblong':return '(\u03c0\u00d7('+g('small')+'\/2)\u00b2 + ('+g('length')+'\u2212'+g('small')+')\u00d7'+g('small')+') \u00d7 '+d+' '+u+' \u00d7 7.48';\n    }\n    return '';\n  }\n\n  function validate(){\n    if(!state.shape)return 'Please select a pool shape.';\n    var fields=fieldsByShape[state.shape];\n    for(var i=0;i<fields.length;i++){\n      if(getVal(fields[i][0])<=0)return 'Please enter a valid value for '+fields[i][1]+'.';\n    }\n    if(state.shape === 'l-shaped') {\n        if(getVal('length1') <= getVal('length2')) return 'Total Length must be greater than Short Arm Length.';\n        if(getVal('width1') <= getVal('width2')) return 'Total Width must be greater than Short Arm Width.';\n    }\n    if(getVal('deep')<getVal('shallow'))return 'Deep end depth must be greater than or equal to shallow end depth.';\n    return null;\n  }\n\n  calcBtn.addEventListener('click',function(){\n    var err=validate();\n    errBox.textContent='';\n    if(err){errBox.textContent=err;resultBox.classList.remove('pvc-show');return;}\n    var ft3=calcVolumeFt3();\n    state.volumeGal=ft3*7.48052;\n    renderVolume();\n    document.getElementById('pvc-algebra').textContent='Your numbers: '+buildAlgebra()+' \u2248 '+fmt(state.volumeGal)+' US gal';\n    resultBox.classList.add('pvc-show');\n    resultBox.scrollIntoView({behavior:'smooth',block:'nearest'});\n  });\n\n  function fmt(n){\n    if(n>=10000)return Math.round(n).toLocaleString();\n    if(n>=100)return n.toFixed(0);\n    return n.toFixed(1);\n  }\n\n  function renderVolume(){\n    var gal=state.volumeGal;\n    var box=document.getElementById('pvc-vol-display');\n    if(state.resultSystem==='us'){\n      var ukGal=gal*0.832674;\n      box.innerHTML='<div class=\"pvc-vol-item\"><span class=\"pvc-vol-num\">'+fmt(gal)+'<\/span><div class=\"pvc-vol-unit\">US Gallons<\/div><\/div>'+\n                    '<div class=\"pvc-vol-item\"><span class=\"pvc-vol-num\">'+fmt(ukGal)+'<\/span><div class=\"pvc-vol-unit\">UK Gallons<\/div><\/div>';\n    }else{\n      var liters=gal*3.78541;\n      var m3=liters\/1000;\n      box.innerHTML='<div class=\"pvc-vol-item\"><span class=\"pvc-vol-num\">'+fmt(liters)+'<\/span><div class=\"pvc-vol-unit\">Liters<\/div><\/div>'+\n                    '<div class=\"pvc-vol-item\"><span class=\"pvc-vol-num\">'+m3.toFixed(2)+'<\/span><div class=\"pvc-vol-unit\">Cubic Meters (m\u00b3)<\/div><\/div>';\n    }\n  }\n\n  function updateDiagram(){\n    var box=document.getElementById('pvc-diagram');\n    if(state.shape && diagrams[state.shape]){\n      box.innerHTML='<div class=\"pvc-diagram-label\">How to measure your pool:<\/div>'+diagrams[state.shape];\n      box.classList.add('pvc-show');\n    }else{\n      box.innerHTML='';\n      box.classList.remove('pvc-show');\n    }\n  }\n\n  function resetAll(){\n    state.shape='rectangular';\n    state.volumeGal=0;\n    shapeCards.forEach(function(c){c.classList.remove('pvc-active')});\n    document.querySelector('#pvc-shapes .pvc-card[data-shape=\"rectangular\"]').classList.add('pvc-active');\n    renderInputs();\n    updateDiagram();\n    resultBox.classList.remove('pvc-show');\n    errBox.textContent='';\n    document.getElementById('pvc-calc').disabled=false;\n  }\n\n  document.getElementById('pvc-reset').addEventListener('click',resetAll);\n})();\n<\/script>\n\n\n\n<style>\n  #pool-volume-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-volume-reference-table h2 {\n    font-size: 1.5rem;\n    font-weight: 700;\n    color: #17a8b0;\n    margin: 0 0 8px;\n  }\n  #pool-volume-reference-table .ref-subtitle {\n    font-size: 0.9rem;\n    color: #5a6c7d;\n    margin: 0 0 20px;\n    line-height: 1.5;\n  }\n  .ref-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  .ref-table {\n    width: 100%;\n    border-collapse: collapse;\n    font-size: 0.88rem;\n    min-width: 720px;\n  }\n  .ref-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  .ref-table thead th:first-child { border-radius: 13px 0 0 0; text-align: left; }\n  .ref-table thead th:nth-child(2) { text-align: left; }\n  .ref-table thead th:last-child { border-radius: 0 13px 0 0; }\n  .ref-table tbody td {\n    padding: 10px 10px;\n    border-bottom: 1px solid #eef1f5;\n    vertical-align: middle;\n    text-align: center;\n  }\n  .ref-table tbody tr:nth-child(even) { background: #fafcfd; }\n  .ref-table tbody tr:hover { background: #e8fafb; }\n  .ref-table .pool-shape-col {\n    font-weight: 600;\n    color: #2c3e50;\n    white-space: nowrap;\n    text-align: left;\n  }\n  .ref-table .pool-dims {\n    color: #5a6c7d;\n    font-size: 0.82rem;\n    white-space: nowrap;\n    text-align: left;\n  }\n  .ref-table .pool-gal {\n    font-weight: 700;\n    color: #0f8c94;\n    white-space: nowrap;\n  }\n  .ref-table .pool-na {\n    color: #c5cdd5;\n    font-size: 0.85rem;\n  }\n  .ref-table tbody tr.group-stocktank { border-left: 3px solid #f0b86c; }\n  .ref-table tbody tr.group-above { border-left: 3px solid #1ecad3; }\n  .ref-table tbody tr.group-inground { border-left: 3px solid #9486f7; }\n  .ref-table .group-label {\n    font-size: 0.7rem;\n    font-weight: 700;\n    text-transform: uppercase;\n    letter-spacing: 0.08em;\n    padding: 16px 12px 6px;\n    color: #8899a6;\n    border-bottom: none;\n  }\n  .ref-table .group-label td { border-bottom: none; padding-bottom: 4px; }\n  .ref-table tfoot td {\n    padding: 12px;\n    font-size: 0.78rem;\n    color: #8899a6;\n    border-top: 2px solid #e0e5eb;\n    text-align: center;\n  }\n  @media (max-width: 500px) {\n    #pool-volume-reference-table { padding: 0 6px; }\n    .ref-table { font-size: 0.78rem; min-width: 680px; }\n    .ref-table thead th { padding: 8px 6px; font-size: 0.65rem; }\n    .ref-table tbody td { padding: 7px 6px; }\n  }\n\n  .ref-mt-28 { margin-top: 28px; }\n  .ref-note-sm { margin-top: 16px; font-size: 0.8rem; }\n<\/style>\n<div id=\"pool-volume-reference-table\">\n  <h2>Pool Volume Quick Reference Chart \u2014 US Gallons by Size &amp; Depth<\/h2>\n  <p class=\"ref-subtitle\">All volumes in <strong>US gallons<\/strong> \u2014 multiply by 3.785 for litres, or use the calculator&#8217;s toggle above. Above-ground depths are <strong>water depth<\/strong> (wall height minus ~6 inches); in-ground depths are the <strong>average<\/strong> of shallow and deep ends. Stock tanks (8&prime;&ndash;12&prime; round) typically hold 24&Prime;&ndash;30&Prime; of water.<\/p>\n  <div class=\"ref-table-wrap\">\n    <table class=\"ref-table\">\n      <thead>\n        <tr>\n          <th>Shape<\/th>\n          <th>Dimensions<\/th>\n          <th>30\u2033<\/th>\n<th>36\u2033<\/th>\n<th>42\u2033<\/th>\n<th>48\u2033<\/th>\n<th>52\u2033<\/th>\n        <\/tr>\n      <\/thead>\n      <tbody>\n        <tr class=\"group-label\"><td colspan=\"7\">Above-Ground Pools \u2014 Gallons at Water Depth<\/td><\/tr>\n        <tr class=\"group-stocktank\"><td class=\"pool-shape-col\">Round<\/td><td class=\"pool-dims\">8\u2032 diam<\/td><td class=\"pool-gal\">940<\/td><td class=\"pool-gal\">1,150<\/td><td class=\"pool-na\">\u2014<\/td><td class=\"pool-na\">\u2014<\/td><td class=\"pool-na\">\u2014<\/td><\/tr>\n<tr class=\"group-stocktank\"><td class=\"pool-shape-col\">Round<\/td><td class=\"pool-dims\">10\u2032 diam<\/td><td class=\"pool-gal\">1,450<\/td><td class=\"pool-gal\">1,750<\/td><td class=\"pool-gal\">2,050<\/td><td class=\"pool-na\">\u2014<\/td><td class=\"pool-na\">\u2014<\/td><\/tr>\n<tr class=\"group-stocktank\"><td class=\"pool-shape-col\">Round<\/td><td class=\"pool-dims\">12\u2032 diam<\/td><td class=\"pool-gal\">2,100<\/td><td class=\"pool-gal\">2,550<\/td><td class=\"pool-gal\">2,950<\/td><td class=\"pool-gal\">3,400<\/td><td class=\"pool-na\">\u2014<\/td><\/tr>\n<tr class=\"group-label\"><td colspan=\"7\">Standard Above-Ground Pools<\/td><\/tr>\n<tr class=\"group-above\"><td class=\"pool-shape-col\">Round<\/td><td class=\"pool-dims\">15\u2032 diam<\/td><td class=\"pool-gal\">3,300<\/td><td class=\"pool-gal\">3,950<\/td><td class=\"pool-gal\">4,650<\/td><td class=\"pool-gal\">5,300<\/td><td class=\"pool-gal\">5,700<\/td><\/tr>\n<tr class=\"group-above\"><td class=\"pool-shape-col\">Round<\/td><td class=\"pool-dims\">16\u2032 diam<\/td><td class=\"pool-gal\">3,750<\/td><td class=\"pool-gal\">4,500<\/td><td class=\"pool-gal\">5,300<\/td><td class=\"pool-gal\">6,000<\/td><td class=\"pool-gal\">6,500<\/td><\/tr>\n<tr class=\"group-above\"><td class=\"pool-shape-col\">Round<\/td><td class=\"pool-dims\">18\u2032 diam<\/td><td class=\"pool-gal\">4,750<\/td><td class=\"pool-gal\">5,700<\/td><td class=\"pool-gal\">6,700<\/td><td class=\"pool-gal\">7,600<\/td><td class=\"pool-gal\">8,200<\/td><\/tr>\n<tr class=\"group-above\"><td class=\"pool-shape-col\">Round<\/td><td class=\"pool-dims\">20\u2032 diam<\/td><td class=\"pool-gal\">5,900<\/td><td class=\"pool-gal\">7,100<\/td><td class=\"pool-gal\">8,200<\/td><td class=\"pool-gal\">9,400<\/td><td class=\"pool-gal\">10,200<\/td><\/tr>\n<tr class=\"group-above\"><td class=\"pool-shape-col\">Round<\/td><td class=\"pool-dims\">24\u2032 diam<\/td><td class=\"pool-gal\">8,500<\/td><td class=\"pool-gal\">10,200<\/td><td class=\"pool-gal\">11,800<\/td><td class=\"pool-gal\">13,500<\/td><td class=\"pool-gal\">14,700<\/td><\/tr>\n<tr class=\"group-above\"><td class=\"pool-shape-col\">Rectangular<\/td><td class=\"pool-dims\">12\u2032 x 24\u2032<\/td><td class=\"pool-na\">\u2014<\/td><td class=\"pool-gal\">6,500<\/td><td class=\"pool-gal\">7,500<\/td><td class=\"pool-gal\">8,600<\/td><td class=\"pool-gal\">9,300<\/td><\/tr>\n<tr class=\"group-above\"><td class=\"pool-shape-col\">Rectangular<\/td><td class=\"pool-dims\">15\u2032 x 30\u2032<\/td><td class=\"pool-na\">\u2014<\/td><td class=\"pool-gal\">10,100<\/td><td class=\"pool-gal\">11,800<\/td><td class=\"pool-gal\">13,500<\/td><td class=\"pool-gal\">14,600<\/td><\/tr>\n<tr class=\"group-above\"><td class=\"pool-shape-col\">Oval<\/td><td class=\"pool-dims\">12\u2032 x 24\u2032<\/td><td class=\"pool-na\">\u2014<\/td><td class=\"pool-gal\">5,100<\/td><td class=\"pool-gal\">5,900<\/td><td class=\"pool-gal\">6,800<\/td><td class=\"pool-gal\">7,300<\/td><\/tr>\n<tr class=\"group-above\"><td class=\"pool-shape-col\">Oval<\/td><td class=\"pool-dims\">15\u2032 x 30\u2032<\/td><td class=\"pool-na\">\u2014<\/td><td class=\"pool-gal\">7,900<\/td><td class=\"pool-gal\">9,300<\/td><td class=\"pool-gal\">10,600<\/td><td class=\"pool-gal\">11,500<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n  <div class=\"ref-table-wrap ref-mt-28\">\n    <table class=\"ref-table\">\n      <thead>\n        <tr>\n          <th>Shape<\/th>\n          <th>Dimensions<\/th>\n          <th>4\u2032 avg<\/th>\n<th>4.5\u2032 avg<\/th>\n<th>5\u2032 avg<\/th>\n<th>5.5\u2032 avg<\/th>\n<th>6\u2032 avg<\/th>\n        <\/tr>\n      <\/thead>\n      <tbody>\n        <tr class=\"group-label\"><td colspan=\"7\">In-Ground Pools \u2014 Gallons at Average Depth<\/td><\/tr>\n        <tr class=\"group-inground\"><td class=\"pool-shape-col\">Rectangular<\/td><td class=\"pool-dims\">12\u2032 x 24\u2032<\/td><td class=\"pool-gal\">8,600<\/td><td class=\"pool-gal\">9,700<\/td><td class=\"pool-gal\">10,800<\/td><td class=\"pool-gal\">11,800<\/td><td class=\"pool-gal\">12,900<\/td><\/tr>\n<tr class=\"group-inground\"><td class=\"pool-shape-col\">Rectangular<\/td><td class=\"pool-dims\">16\u2032 x 32\u2032<\/td><td class=\"pool-gal\">15,300<\/td><td class=\"pool-gal\">17,200<\/td><td class=\"pool-gal\">19,200<\/td><td class=\"pool-gal\">21,100<\/td><td class=\"pool-gal\">23,000<\/td><\/tr>\n<tr class=\"group-inground\"><td class=\"pool-shape-col\">Rectangular<\/td><td class=\"pool-dims\">18\u2032 x 36\u2032<\/td><td class=\"pool-gal\">19,400<\/td><td class=\"pool-gal\">21,800<\/td><td class=\"pool-gal\">24,200<\/td><td class=\"pool-gal\">26,700<\/td><td class=\"pool-gal\">29,100<\/td><\/tr>\n<tr class=\"group-inground\"><td class=\"pool-shape-col\">Rectangular<\/td><td class=\"pool-dims\">20\u2032 x 40\u2032<\/td><td class=\"pool-gal\">23,900<\/td><td class=\"pool-gal\">26,900<\/td><td class=\"pool-gal\">29,900<\/td><td class=\"pool-gal\">32,900<\/td><td class=\"pool-gal\">35,900<\/td><\/tr>\n<tr class=\"group-inground\"><td class=\"pool-shape-col\">Kidney<\/td><td class=\"pool-dims\">16\u2032 x 30\u2032<\/td><td class=\"pool-gal\">9,800<\/td><td class=\"pool-gal\">11,000<\/td><td class=\"pool-gal\">12,200<\/td><td class=\"pool-gal\">13,400<\/td><td class=\"pool-gal\">14,600<\/td><\/tr>\n<tr class=\"group-inground\"><td class=\"pool-shape-col\">Oval<\/td><td class=\"pool-dims\">18\u2032 x 36\u2032<\/td><td class=\"pool-gal\">15,200<\/td><td class=\"pool-gal\">17,100<\/td><td class=\"pool-gal\">19,000<\/td><td class=\"pool-gal\">20,900<\/td><td class=\"pool-gal\">22,800<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n  <p class=\"ref-subtitle ref-note-sm\">Litres: multiply by 3.785. UK gallons: multiply by 0.833. Cubic meters: divide litres by 1,000.<\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">Frequently Asked Questions About Pool Volume<\/h2>\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-q-how-to-calculate\"><strong class=\"schema-faq-question\">How do I calculate my pool volume?<\/strong> <p class=\"schema-faq-answer\">Multiply your pool&#8217;s surface area by its average water depth, then convert cubic feet to gallons by multiplying by 7.48. The area formula depends on the shape &mdash; length &times; width for rectangles, &pi; &times; radius&sup2; for circles, and different combinations for oval, kidney, L-shaped, and oblong pools. Average depth is the shallow end depth plus the deep end depth, divided by two. Select your shape in the calculator above to apply the correct formula automatically without doing the math by hand.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-q-avg-depth-shallow-deep\"><strong class=\"schema-faq-question\">Do I need to measure both the shallow and deep ends, or just use one average depth?<\/strong> <p class=\"schema-faq-answer\">If your pool has a sloped bottom, measure both the shallow end depth and the deep end depth and enter both &mdash; the calculator averages them for you. If your pool has a flat, uniform floor (most above-ground pools and some spas), enter the same value in both fields. Using only the shallow-end number on a sloped pool will noticeably understate your true volume, since the deep end typically holds a large share of the total water.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-q-irregular-shape\"><strong class=\"schema-faq-question\">What should I do if my pool is an irregular or freeform shape?<\/strong> <p class=\"schema-faq-answer\">For irregular pools without a standard geometric shape, use these practical methods: <strong>1) Approximate with the closest shape<\/strong> &mdash; most freeform pools can be estimated as a kidney or oval, which our calculator supports. <strong>2) Break into sections<\/strong> &mdash; mentally divide the pool into rectangles, circles, and triangles, calculate each separately, then add them. <strong>3) The water meter method<\/strong> &mdash; for an exact measurement (especially useful during an initial fill), record your water meter reading before and after filling. Subtract normal household usage for the period. Each cubic foot of water is 7.48 gallons.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-q-chlorine-shock-dosing\"><strong class=\"schema-faq-question\">Can I use my pool&#8217;s volume to calculate chlorine or shock dosing?<\/strong> <p class=\"schema-faq-answer\">Yes &mdash; nearly every pool chemical is dosed per gallon or per 10,000 gallons, so your calculated volume is the starting point for chlorine, shock, pH, and stabilizer dosing. Once you know your gallons from the calculator above, use that number with your chemical product&#8217;s per-gallon or per-10,000-gallon dosing instructions to get the right amount.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-q-fill-cost\"><strong class=\"schema-faq-question\">What&#8217;s the typical cost to fill a swimming pool with water?<\/strong> <p class=\"schema-faq-answer\">The cost depends on your pool size, local water rates, and whether you use a garden hose or a water delivery service. In the US, municipal water typically costs <strong>$0.003&ndash;$0.015 per gallon<\/strong>, so filling a 20,000-gallon pool runs about $60&ndash;$300. Truck delivery (bulk water) costs <strong>$0.03&ndash;$0.10 per gallon<\/strong> &mdash; $600&ndash;$2,000 for the same pool, but fills much faster. In Europe, water rates are higher: Germany averages <strong>&euro;5&ndash;&euro;10 per cubic meter<\/strong> (1,000 litres), and France <strong>&euro;4&ndash;&euro;5 per m&sup3;<\/strong>. Once you know your exact volume from the calculator above, multiply it by your local rate per gallon to estimate your fill cost.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-q-us-vs-uk-gallons\"><strong class=\"schema-faq-question\">What is the difference between US gallons and UK gallons?<\/strong> <p class=\"schema-faq-answer\">A <strong>US gallon<\/strong> equals 3.785 litres (128 fluid ounces), while a <strong>UK (imperial) gallon<\/strong> equals 4.546 litres (160 fluid ounces). To convert: multiply US gallons by <strong>0.833<\/strong> to get UK gallons, or multiply UK gallons by <strong>1.201<\/strong> to get US gallons. Our calculator displays both side by side so you do not need to do the math manually. Always check which gallon your chemical product uses &mdash; US brands use US gallons, while UK, Canadian, and Australian products often reference imperial gallons or litres.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-q-metric-conversion\"><strong class=\"schema-faq-question\">How do I convert pool gallons to litres?<\/strong> <p class=\"schema-faq-answer\">Multiply US gallons by <strong>3.785<\/strong> to get litres. For example: 10,000 US gallons x 3.785 = 37,850 litres. To go the other way, divide litres by 3.785. Our calculator has a built-in toggle &mdash; switch between US\/UK gallons and litres\/cubic meters with one click after calculating. If you are entering dimensions in meters rather than feet, use the Feet \/ Meters toggle in Step 2 before typing your measurements.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-q-box-mismatch\"><strong class=\"schema-faq-question\">Why might my calculated volume differ from what&#8217;s on my pool&#8217;s box or spec sheet?<\/strong> <p class=\"schema-faq-answer\">Manufacturer spec sheets often list the pool&#8217;s nominal outer-wall size, not its actual water capacity &mdash; the true water surface is typically 1&ndash;2 feet narrower once the liner and wall thickness are accounted for, and the listed gallon figure sometimes assumes a specific water level that may not match yours. If your pool has an attached spa, tanning ledge, or built-in steps, subtract roughly 5&ndash;10% from the calculated volume, since those features displace water rather than holding it. For the most accurate number, always measure your pool&#8217;s actual water dimensions rather than relying on the box label.<\/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-29\">Last updated: September 29, 2026<\/time><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Select a pool shape, enter your dimensions, and get an instant volume in US gallons, UK gallons, liters, and cubic meters. 1Select your pool shape Rectangular L-Shaped Circle Triangular Kidney Oval Oblong 2Enter pool dimensions Feet (ft) Meters (m) Calculate Reset Pool Volume US \/ UK Gallons Liters \/ m&sup3; Next step: chlorine calculator &middot; [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"aiper_reading_time":6,"aiper_last_reviewed":"","aiper_reviewer":0,"aiper_related_ids":[],"aiper_layout":"","footnotes":""},"class_list":["post-1232","page","type-page","status-publish","hentry"],"lang":"en","translations":{"en":1232,"es":1467,"de":1364,"fr":1460},"_links":{"self":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/1232","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=1232"}],"version-history":[{"count":26,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/1232\/revisions"}],"predecessor-version":[{"id":11922,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/1232\/revisions\/11922"}],"wp:attachment":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/media?parent=1232"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}