# Solution Mixing Calculator

> Computes the concentration obtained by combining two solutions of the same solute from their volumes and concentrations, C = (C1·V1 + C2·V2) / (V1 + V2), or, given a target concentration, the volumes and mixing ratio of the two stocks by the alligation method.

- Calculator id: `mixing-solutions` · Category: Chemistry (`chemistry`) · Tool name: `calculate_solution_mixing`
- Canonical page: https://tttkmbb.com/chemistry/mixing-solutions · This document: https://tttkmbb.com/chemistry/mixing-solutions.md · JSON definition: https://tttkmbb.com/chemistry/mixing-solutions.json

## Purpose

Computes the concentration obtained by combining two solutions of the same solute from their volumes and concentrations, C = (C1·V1 + C2·V2) / (V1 + V2), or, given a target concentration, the volumes and mixing ratio of the two stocks by the alligation method.

**Use when:** You combine two solutions of known concentration and need the resulting concentration, or you must blend a stronger and a weaker stock (or a stock and pure solvent) to reach a target concentration.

**Do not use when:** You dilute one stock with pure solvent and want the C1V1 = C2V2 form (use dilution), or the two solutions contain different solutes or react with each other.

## Input

| Parameter | Type | Unit | Required | Description |
| --- | --- | --- | --- | --- |
| `concentration_1` | number |  | required | Concentration of the first solution in any unit shared by all concentrations (mol/L, %, mg/mL, ppm). Use 0 for pure solvent. (min 0) |
| `concentration_2` | number |  | required | Concentration of the second solution, same unit as concentration_1. (min 0) |
| `volume_1` | number |  | optional | Volume of the first solution in any unit shared with volume_2 (mL, L). Required unless target_concentration is given. (> 0) |
| `volume_2` | number |  | optional | Volume of the second solution, same unit as volume_1. Required unless target_concentration is given. (> 0) |
| `target_concentration` | number |  | optional | Desired concentration of the mixture; when given, the calculator solves the volumes of solutions 1 and 2 (alligation) instead of the final concentration. Must lie between the two stock concentrations. (min 0) |
| `total_volume` | number |  | optional | Total mixture volume in alligation mode (any unit); when omitted only the ratio and percentages are reported. (> 0) |

## Output

| Field | Type | Unit | Description |
| --- | --- | --- | --- |
| `final_concentration` | number |  | Concentration of the mixture (unit of the concentration inputs). |
| `volume_1` | number |  | Volume of solution 1 used or required. |
| `volume_2` | number |  | Volume of solution 2 used or required. |
| `total_volume` | number |  | V1 + V2 (volumes assumed additive). |
| `total_solute_amount` | number |  | C1·V1 + C2·V2 in concentration × volume units (e.g. mmol for mol/L and mL). |
| `ratio_1_to_2` | number |  | Volume of solution 1 per unit volume of solution 2. |
| `fraction_1_percent` | number | % | 100 × V1 / (V1 + V2). |
| `fraction_2_percent` | number | % | 100 × V2 / (V1 + V2). |
| `parts_1` | number |  | \|target − C2\|: relative parts of solution 1 (alligation mode only). |
| `parts_2` | number |  | \|C1 − target\|: relative parts of solution 2 (alligation mode only). |
| `solved_for` | string |  | final_concentration (mixing) or volumes (alligation). |

## Formula

`Mixing: final_concentration = (C1·V1 + C2·V2) / (V1 + V2). Alligation: parts_1 = |target − C2|, parts_2 = |C1 − target|, V1 = total_volume × parts_1 / (parts_1 + parts_2), V2 = total_volume − V1`

Assumes the solute amount is conserved and volumes are additive (no volume contraction), which holds for dilute aqueous solutions; for % w/w blends enter masses instead of volumes and the same arithmetic applies.

## Data Sources

- OpenStax Chemistry 2e – 3.3 Molarity — https://openstax.org/books/chemistry-2e/pages/3-3-molarity (textbook, retrieved 2026-09-24)
- Wikipedia – Alligation — https://en.wikipedia.org/wiki/Alligation (reference, retrieved 2026-09-24)
- LibreTexts – Solution Concentration and Dilution — https://chem.libretexts.org/Bookshelves/General_Chemistry/Chemistry_1e_(OpenSTAX)/03%3A_Composition_of_Substances_and_Solutions/3.3%3A_Molarity (textbook, retrieved 2026-09-24)

Data freshness: `static`. Deterministic formula with fixed constants; results never go stale. Inputs supplied by the caller determine the output.

## API

- `GET https://tttkmbb.com/api/v1/calculate/mixing-solutions?concentration_1=…&concentration_2=…`
- `POST https://tttkmbb.com/api/v1/calculate/mixing-solutions` with JSON body `{"inputs": {…}}`
- Response: unified envelope (`success`, `request`, `result.values`, `result.units`, `sources`, `freshness`, `timestamp`, `next_actions`, `links`); see https://tttkmbb.com/docs/response-format.md
- Schema: https://tttkmbb.com/api/v1/calculators/mixing-solutions · OpenAPI operationId `calculate_solution_mixing` in https://tttkmbb.com/openapi.json
- Authentication: none. Rate limit: fair use, see https://tttkmbb.com/docs/rate-limits.md.

## MCP

- Server: `https://tttkmbb.com/mcp` (Streamable HTTP, JSON-RPC 2.0, no auth)
- Tool:  `run_calculator` with `{"calculator_id": "mixing-solutions", "inputs": {…}}`

## Example

- 100 mL of 0.5 M plus 300 mL of 0.1 M: inputs `{"concentration_1":0.5,"volume_1":100,"concentration_2":0.1,"volume_2":300}` → `{"final_concentration":0.2,"total_volume":400,"total_solute_amount":80,"ratio_1_to_2":0.333333,"fraction_1_percent":25,"solved_for":"final_concentration"}`
- 500 mL of 40 % from 70 % and 20 % stocks: inputs `{"concentration_1":70,"concentration_2":20,"target_concentration":40,"total_volume":500}` → `{"parts_1":20,"parts_2":30,"ratio_1_to_2":0.666667,"volume_1":200,"volume_2":300,"fraction_1_percent":40,"final_concentration":40,"solved_for":"volumes"}`

```
GET https://tttkmbb.com/api/v1/calculate/mixing-solutions?concentration_1=0.5&volume_1=100&concentration_2=0.1&volume_2=300
```

## Limitations

You dilute one stock with pure solvent and want the C1V1 = C2V2 form (use dilution), or the two solutions contain different solutes or react with each other. Assumes the solute amount is conserved and volumes are additive (no volume contraction), which holds for dilute aqueous solutions; for % w/w blends enter masses instead of volumes and the same arithmetic applies. All values are computed from the formula above; no measurement or live data is involved.

## FAQ

**Which units can I use?**

Any, as long as both concentrations share one unit and both volumes share one unit; a 0 concentration represents pure solvent, so the calculator also covers dilution with water.

**What is alligation?**

A cross-multiplication shortcut for mixtures: the parts of each stock are the absolute differences between the target and the other stock's concentration, which is exactly the solution of C1·V1 + C2·V2 = C·(V1 + V2).

## Related

- [Dilution Calculator](https://tttkmbb.com/chemistry/dilution.md) — Single-stock dilution with C1V1 = C2V2.
- [Molarity Calculator](https://tttkmbb.com/chemistry/molarity.md) — Prepare each stock from solid solute.
- [Weighted Average Calculator](https://tttkmbb.com/statistics/weighted-average.md) — The mixing formula is a volume-weighted average of the concentrations.
