Home › Chemistry › Solution Mixing Calculator
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.
When to use
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.
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.
Inputs
| Parameter | Type | Unit | Required | Description |
|---|---|---|---|---|
concentration_1 | number | yes | Concentration of the first solution in any unit shared by all concentrations (mol/L, %, mg/mL, ppm). Use 0 for pure solvent. Range: ≥ 0 | |
concentration_2 | number | yes | Concentration of the second solution, same unit as concentration_1. Range: ≥ 0 | |
volume_1 | number | no | Volume of the first solution in any unit shared with volume_2 (mL, L). Required unless target_concentration is given. Range: > 0 | |
volume_2 | number | no | Volume of the second solution, same unit as volume_1. Required unless target_concentration is given. Range: > 0 | |
target_concentration | number | no | 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. Range: ≥ 0 | |
total_volume | number | no | Total mixture volume in alligation mode (any unit); when omitted only the ratio and percentages are reported. Range: > 0 |
Outputs
| Output | 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). |
Example
100 mL of 0.5 M plus 300 mL of 0.1 M: {"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: {"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
Machine access
- API:
GET https://tttkmbb.com/api/v1/calculate/mixing-solutions(query parameters) orPOSTwith a JSON body{"inputs": {...}} - Schema: https://tttkmbb.com/api/v1/calculators/mixing-solutions · Markdown: https://tttkmbb.com/chemistry/mixing-solutions.md · JSON definition: https://tttkmbb.com/chemistry/mixing-solutions.json
- MCP: server
https://tttkmbb.com/mcp, toolrun_calculator with calculator_id="mixing-solutions" - OpenAPI operationId:
calculate_solution_mixing - Freshness:
static. Authentication: none. Rate limit: fair use (see rate limits).
Sources
- OpenStax Chemistry 2e – 3.3 Molarity (textbook)
- Wikipedia – Alligation (reference)
- LibreTexts – Solution Concentration and Dilution (textbook)
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 calculators
- Dilution Calculator — Single-stock dilution with C1V1 = C2V2.
- Molarity Calculator — Prepare each stock from solid solute.
- Weighted Average Calculator — The mixing formula is a volume-weighted average of the concentrations.