About this calculator
This calculator estimates how much cable to buy for a wiring run — enter the horizontal route length, a list of vertical drops (each with its own height and, optionally, what it serves), how many junction boxes sit along the route, the slack to leave at each box and at each end, a waste percentage, how many identical runs you need, and the coil (drum) length your cable is sold in. It reports the net length, the length with slack added, the length with waste added, and how many coils to buy.
Formula
net length per run = horizontal route + sum of every drop's own height
net length total = net length per run x number of runs
slack per run = (junction boxes x slack per box) + (2 x slack per end)
total with slack per run = net length per run + slack per run
total with slack total = total with slack per run x number of runs
waste length = round_up(total with slack total x waste% / 100)
total with waste total = total with slack total + waste length
coils to buy = round_up(total with waste total / coil length)
Each drop is its own list entry with its own height — a switch drop, a socket drop, and a panel drop rarely share a height in a real installation, so they are summed individually rather than as one shared figure times a count. Slack at each end accounts for both ends of every run (twice the per-end figure), since a run has to reach something with room to work at both the source and the destination. Coils are always rounded up: 1.4 coils of cable is 2 coils, since a coil cannot be bought fractionally.
Worked example
20m horizontal route, two drops (a 2.5m drop to a switch, a 1.2m drop to a socket), 3 junction boxes, default slack (200mm per box, 300mm per end), 10% waste, 1 run, 100m coils:
net length per run = 20,000 + (2,500 + 1,200) = 23,700 mm
net length total = 23,700 mm (1 run)
slack per run = (3 x 200) + (2 x 300) = 600 + 600 = 1,200 mm
total with slack = 23,700 + 1,200 = 24,900 mm
waste length = round_up(24,900 x 10 / 100) = 2,490 mm
total with waste = 24,900 + 2,490 = 27,390 mm
coils to buy = round_up(27,390 / 100,000) = 1
FAQ
Why does each drop have its own height instead of one shared figure? Because real drops differ — a switch drop is typically much shorter (around 1.2m) than a panel drop (around 2m or more). An earlier version of this calculator used one count-plus-shared-height pair for every drop, which forced every drop in a job to the same height; that was fixed by making each drop its own list entry.
What does "serves" do? It is an optional label (switch, socket, light fitting, panel, or unspecified) purely for your own record-keeping — it does not change the length calculation. A drop's height is what drives the math; what it serves is there so a longer list of drops stays readable.
Why does slack at the ends count twice? Because every run has two ends — the source (e.g. a distribution board) and the destination (e.g. a fitting or outlet) — and both need a little spare cable to actually make the termination, not just reach the exact point.
Why is the default coil length 100m? 100m is a commonly stocked cable coil/drum size in the Baltic/European market, but this is not a standard — it is only a reasonable, editable default. Enter your own supplier's actual coil length.
What standard does this calculator cite?
None. This is a plain length take-off (route + drops + slack + waste, packed
into coils) with no code or dimensional requirement behind it, so
meta.standards is deliberately left empty.
Assumptions and limits
No standard is cited — see the FAQ above. Each drop's height and "serves" label are entered individually; "serves" is a fixed set of common tags, not free text, and never affects the length math. Junction box slack and end slack are flat, user-supplied allowances, not derived from any wiring regulation. Waste is applied once, to the whole job's net-plus-slack length, then coils are rounded up from that total — the same "round packaging up" convention every other calculator on this site uses.