# Ratio Table Maker

> Applies one sequence of multipliers to both sides of a ratio, shows the exact simplified base ratio, and turns every equivalent pair into a downloadable CSV table for recipes, mixtures, drawings and repeated batches.

Use it: https://tessalor.com/en/maths/ratio-table-maker

This tool runs entirely in the browser. Nothing entered into it is uploaded.

## Formula

```
multiplier[row] = start + (row - 1) x step

firstQuantity[row]  = firstPart  x multiplier[row]
secondQuantity[row] = secondPart x multiplier[row]

To simplify decimal parts:
  write both parts as base-10 integers over powers of ten
  cross-multiply to one common denominator
  divide both resulting integers by their greatest common divisor

The same multiplier is always applied to both parts.
```

## Assumptions

- Both base parts and both multiplier controls are positive. A zero-part relationship can be written, but it does not make a useful scale table and is refused here.
- Parts are dimensionless until the visitor assigns a unit. A row can mean grams, litres, pixels or people only when both columns are interpreted consistently.
- The simplified headline is exact for the decimal spelling accepted by the number control. Table quantities use JavaScript numbers and are shortened to twelve significant digits to remove binary display tails.
- A ratio names quantities alongside each other. A ratio of 1:4 contains five total parts; it does not mean one part out of four total.

## Inputs

| Name | Label | Type | Default | Range |
| --- | --- | --- | --- | --- |
| `firstPart` | First part | number | 2 | 0.000001 to 1000000 |
| `secondPart` | Second part | number | 3 | 0.000001 to 1000000 |
| `startMultiplier` | First row multiplier | number | 0.5 | 0.000001 to 1000000 |
| `stepMultiplier` | Add to each next row | number | 0.5 | 0.000001 to 1000000 |
| `rows` | Rows | integer | 12 | 3 to 1000 |

## Outputs

- `ratio` — Simplified ratio (text), primary
- `rowsGenerated` — Rows generated (integer)
- `lastMultiplier` — Last multiplier (number)
- `firstAtLast` — First quantity in last row (number)
- `secondAtLast` — Second quantity in last row (number)

## Questions

### What makes two ratios equivalent?

Both parts must be multiplied or divided by the same non-zero number. If one side changes independently, the quotient changes and the new pair is not equivalent to the original ratio.

### Why simplify the base ratio when every row still works?

Simplifying exposes the smallest whole-number relationship. A table based on 4:6 is mathematically sound, but 2:3 makes the relationship easier to recognise and compare with another table.

### Can a ratio table mix different units?

It can only if the intended relationship does. Two litres to three litres is dimensionless after cancellation; two litres to three kilograms is a recipe relationship whose units must stay attached to their columns.

### Why do some decimal calculations show a long trail of nines?

Most decimal fractions have no finite binary representation in a JavaScript Number. The table shortens results to twelve significant digits, while simplification separately uses base-10 integers so its ratio is not inferred from a floating-point near-equality.

## Sources

- [ECMAScript Language Specification — Number type](https://tc39.es/ecma262/multipage/ecmascript-data-types-and-values.html#sec-ecmascript-language-types-number-type) — Ecma International, applies to binary Number representation used for the displayed table. Retrieved 2026-08-01.
- [The application/csv Media Type](https://www.rfc-editor.org/rfc/rfc4180.html) — RFC Editor, applies to downloadable comma-separated table. Retrieved 2026-08-01.

## Variants

- [What is a 2 to 3 ratio table?](https://tessalor.com/en/maths/ratio-table-maker/2-to-3-ratio-table)
- [How do I scale a 1 to 4 mixing ratio?](https://tessalor.com/en/maths/ratio-table-maker/scale-a-1-to-4-mixing-ratio)

---

Estimate, not advice. See https://tessalor.com/en/disclaimer.
Machine-readable catalogue: https://tessalor.com/api/tools.json
