🧾Proportional Split Calculator

Split by ratio and settle leftovers with the largest-remainder method

How to use the proportional split calculator

This calculator splits an amount or a quantity by a given ratio. Enter the total and the list of ratios and it shows each item’s share and value in a table, then adds the shares back up and checks the sum against the original total.

Ratios can be separated by commas, spaces or new lines, and up to 20 values are accepted. Only values of 0 or more count; negative numbers or letters produce a message instead. If the ratios add up to 0 there is no basis for the split, so the calculation stops.

Leftovers are the interesting part. Splitting 1,000 by 3:2:1 gives shares of 333.333…, so with a whole unit selected the calculator rounds each share down and then gives the remaining units, one at a time, to the items with the largest dropped fractions — the largest-remainder method. The number of items that received an extra unit is reported too.

When you need exact values instead, choose exact decimals. The table then shows four decimal places, while every calculation still runs on unrounded values. If the total is not a multiple of the unit you picked, the shares could never match the total, so a message asks you to change the unit first.

Frequently Asked Questions

Why do the shares not add up to the total?

Splitting 1,000 in a 3:2:1 ratio gives 333.333… for one share, so simply truncating leaves 999. With a whole rounding unit selected, this calculator hands the leftover unit to the item with the largest dropped fraction so the shares add up exactly.

How does the largest-remainder method work?

Each share is first rounded down to the chosen unit, then the leftover units go one at a time to the items with the largest dropped fractions. When two fractions tie, the item entered first wins.

Can a ratio be zero or a decimal?

Any value of 0 or more works, decimals included, and an item with a ratio of 0 simply receives 0. If every ratio is 0 there is nothing to split, so a message is shown instead.