HomeServerBlog UPS runtime planner
UPS Battery String Calculator
Size UPS battery series blocks, parallel strings, usable watt-hours, Peukert-adjusted runtime, target runtime coverage, and spare block inventory for home lab and small rack UPS banks.
▦UPS battery string presets
⚙Battery bank inputs
Battery string breakdown
Target and current check
📊Live battery planning cards
Rounded up from DC bus voltage divided by block voltage.
Battery current after inverter efficiency and parallel sharing.
Parallel strings needed to reach the entered runtime target.
Minutes above or below the target after Peukert adjustment.
🧪Battery chemistry comparison grid
📋Battery reference tables
| UPS bus | 12 V blocks | Typical UPS size | Planning note |
|---|---|---|---|
| 24 V | 2 per string | Desktop or small tower | High current at modest loads; cables and fuses matter. |
| 48 V | 4 per string | Home lab tower or short rack | Common balance point for NAS, firewall, and switch runtime. |
| 72 V | 6 per string | Midrange rack UPS | Often used in 1500 to 2200 VA units with external packs. |
| 96 V | 8 per string | SMB rack UPS | Lower battery current than 48 V at the same watt load. |
| 192 V | 16 per string | 3 kVA to 6 kVA rack UPS | Series matching becomes important because one weak block limits the string. |
| 384 V | 32 per string | Large online UPS | Service should follow the UPS vendor battery cabinet procedure. |
| Block rating | 48 V string Wh | 192 V string Wh | Common use |
|---|---|---|---|
| 7 Ah | 336 Wh | 1,344 Wh | Compact UPS replacement trays. |
| 9 Ah | 432 Wh | 1,728 Wh | Small rack UPS and tower packs. |
| 18 Ah | 864 Wh | 3,456 Wh | External battery packs. |
| 35 Ah | 1,680 Wh | 6,720 Wh | Long-runtime cabinets. |
| 55 Ah | 2,640 Wh | 10,560 Wh | Telecom and extended runtime banks. |
| 100 Ah | 4,800 Wh | 19,200 Wh | Large engineered systems. |
| Load profile | Peukert range | Runtime clue | When to derate |
|---|---|---|---|
| Low C-rate float standby | 1.03 to 1.10 | Runtime tracks Wh closely. | Use if load is small relative to Ah. |
| Typical VRLA UPS | 1.12 to 1.22 | Short runs lose capacity quickly. | Use for 5 to 60 minute rack loads. |
| Older small blocks | 1.20 to 1.30 | Voltage sag appears early. | Use when blocks are aged or warm. |
| High-rate discharge | 1.25 to 1.40 | Nameplate Ah overstates runtime. | Use when UPS load nears VA rating. |
| LiFePO4 module | 1.02 to 1.08 | Capacity stays flatter. | Still check BMS current limits. |
| Check item | Good practice | Why it matters | Calculator input |
|---|---|---|---|
| Series count | Whole blocks only | The UPS charger expects a voltage window. | Bus and block V |
| Parallel strings | Same block model and age | Mismatched strings can share current poorly. | Strings |
| Discharge window | Leave shutdown reserve | Deep discharge shortens lead-acid life. | Depth of discharge |
| Spare blocks | Store charged and dated | Old spare inventory may not match fresh strings. | Spare blocks |
| Runtime target | Measure actual load | UPS display watts are better than nameplates. | Load watts |
💡Battery string tips
In a storm, you pull the plug on a server rack. Your backup power fails. You fumble for the switch but there are no more screens. It happens all the time.
How do you size your battery bank? Do you get one that keeps things running long enough to shut down properly or fix a corrupted database? And it’s not about spending big bucks on batteries. It’s about getting the right voltage for the inverter and the right chemistry for the load.
How to Choose the Right Battery Size
The first thing people think is, “What are amp-hours? Oh, that’s a universal currency.” Wrong. If you ask a 10-ah battery to provide high-current for 15-minutes, its performance is different than if you were drawing only a trickle from it over several hours. That’s called the Peukert Effect. Basically, it lowers the estimate of how long a battery will last. To account for this, we apply a Peukert factor to your inputs and adjust the theoretical capacity down to what you will actualy see under load. Unless you want to pay for hope rather than time, you don’t want to ignore that.
Why? This is because the rate of discharge matters. Faster draws cause the batteries to heat up which further reduces there ability to produce energy. Since you need to know how fast the current is draining because faster discharge rates heat the cells and reduce the available energy, you need to know your load as well as the speed it’s being drawn. The tool can convert the AC output of your device or inverter back to DC draw by accounting for inverter efficiency, so it can do the math with real-world accuracy.
Make sure the voltage matches. How many strings? What voltage does your UPS expect? To be exact, it’s expecting four 12 volt blocks wired in series for a 48 volt system. It is not three. Three isn’t even an option. But that’s what the tool makes you specify: the bus voltage and the block voltage. From those two values it figures out how many blocks is in each string. If your numbers don’t add up, it rounds up on the series count. Why? Because now you have a partial string which will cause the UPS to charge different than expected. Either too much or not enough. And either way, you reduce the life of your battery bank.
These range from desktops all the way up to large rack systems. See common configs and how the number of blocks per string adds up to the total system voltage. Helps you visualize why 32 blocks per string is needed for a 384 volt system. That’s lots of places where something could go wrong…unless you match the blocks.
A parallel string is treated as a single unit. All blocks within a parallel string should come from the same batch. There’s age involved. There’s charge history involved. Placing a new block beside a three year old one won’t act the same. The new block hogs the charging current while the old block takes the brunt of the discharge. Eventually the weak link fails.
The tool allows you to specify how many parallel strings you have. Based off that it calculates the runtime and total energy. However, it doesn’t know if those are all mismatched. That’s up to you to do manually. Manage your inventory. Mark down your blocks’ install dates. If one fails, replace the entire string if possible. It is more expensive up front but you avoid headaches later.
The other lever you can pull is depth of discharge. Deep cycling, which is hated by lead-acid batteries, is not as bad on lithium-ion batteries. By setting a discharge limit in the calculator, you can determine how much deeper you want to draw down your battery. If you’re going to go all-in at 50% versus 80%, you double the cycles per lead acid block with a VRLA. Run time vs. Life, there’s a bit of a tradeoff. If this is a home lab where outages are rare, you may favor longevity over run time. For a critical server or clinic, you’ll want uptime, so you’ll favor more cycles.
After selecting your desired depth-of-discharge, the calculator outputs the amount of usable energy (the actual energy you can spend), in kilowatt-hours. It subtracts the reserve that the UPS keeps for itself to protect against damaging deep discharges.
Spare blocks are considered an afterthought by many. They shouldn’t be. If you have spares, you change out the bad block right away. It also balances the string. There is even a place in the tool for spare blocks. It increases your total inventory number but doesn’t increase your runtime. Spares are insurance. They stay on the shelf. When you purchase the main bank, you want to purchase spares too, so that they have the same chemistry. A year later when you need a new one, you may end up with a different lot of product.
Yes, it takes work to plan. It takes measuring your real-world loads, not assuming they are the same as what’s on the nameplate rating. It takes understanding that current, voltage and time all play a role in this process. But after you have the numbers crunched out correctly, you’ll sleep easier.
When the lights go out, you know exactly how long your systems will last. That peace of mind is worth every minute spent crunching numbers.



