Weight/volume percent calculator
5 g of solute in 100 mL of solution is 5 % w/v, or 0.05 g per mL. Enter the grams and the final volume in millilitres to get the concentration for a pharmacy label, a buffer recipe or a lab report. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Solute mass
- 5
- Volume ml
- 100
- Weight volume percent
- 5
- Grams per ml
- 0.05
Weight/volume percent, written % w/v, answers a routine laboratory question: how many grams of solute are dissolved in each one hundred milliliters of solution? Pharmacists, clinical chemists, and students use the definition percent w/v equals solute mass in grams divided by solution volume in milliliters, then multiplied by one hundred, so a five percent solution means five grams of solute per one hundred milliliters of finished solution. This capability computes that concentration deterministically from two numbers, also returns grams per milliliter for pipeline math, and rejects zero or negative volume with a clear invalid input error so notebooks, LIMS hooks, and homework checkers never see Infinity.
Definition of weight/volume percent and how to prepare the two inputs
Weight/volume percent is defined as percent w/v equals m of solute in grams divided by V of solution in milliliters, then multiplied by one hundred. If you dissolve five grams of solute and bring the solution to one hundred milliliters, percent w/v is five and grams per milliliter is zero point zero five. Both values must be finite; solute mass must be non-negative and volume must be strictly positive.
Zero volume is invalid input because division by zero is undefined for this product—the engine never invents an infinite concentration. Negative volume is also rejected so the contract stays honest for laboratory work.
What you can do with it
Homework and lab report checks
Students enter solute grams and solution milliliters, verify % w/v against worked answers, and get a clear error when volume is zero or negative by mistake.
Pharmacy and buffer make-up
Compounding notebooks convert batch solute mass and final volume into weight/volume percent for labels, SPC charts, and protocol sheets.
FAQ
What happens if volume is zero or negative?
Weight/volume percent divides mass by volume, so a zero or negative denominator is rejected and not charged.
Is % w/v the same as mass percent (w/w)?
No. % w/v uses solution volume in the denominator; mass percent uses total mass.
Is the weight/volume percent calculator free?
The browser tool runs free on your device.
What does a 5% w/v solution mean?
It holds 5 grams of solute in every 100 millilitres of finished solution. Enter 5 grams and 100 millilitres and you get 5 % w/v, plus 0.05 grams per millilitre as the plain ratio.
Do I enter the solvent volume or the final solution volume?
The final solution volume. You dissolve the solute and bring the solution up to the target, such as 100 mL, and that finished volume is the one that goes in, not the amount of solvent you added.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/chem/weight-volume-percent \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"solute_mass":5,"volume_ml":100}'const res = await fetch("https://api.kit.forhosting.com/chem/weight-volume-percent", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"solute_mass": 5,
"volume_ml": 100
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/weight-volume-percent",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"solute_mass": 5,
"volume_ml": 100
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/weight-volume-percent", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"solute_mass":5,"volume_ml":100}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"solute_mass":5,"volume_ml":100}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/weight-volume-percent", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"solute_mass": 5,
"volume_ml": 100
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.weight_volume_percent",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
The free browser weight volume percent calculator runs on your device with no account; the prepaid API charges $0.002 per successful item when servers and SDKs need the same stable contract.
Definition of weight/volume percent and how to prepare the two inputs
Send the required fields solute_mass and volume_ml as JSON numbers or numeric strings; aliases solute, mass_g, m_solute, and grams map to the mass numerator, while volume, solution_volume, v_ml, and milliliters map to the volume denominator. The classical definition fixes units at grams and milliliters: convert kilograms or liters yourself before calling so labels match pharmacy and clinical chemistry conventions. Identical inputs always produce identical JSON because the path is pure arithmetic with no network, no random seed, and no wall clock. Classroom exercises, IV and buffer recipes, and quality-control sheets all use the same definition, so pinning expected weight_volume_percent in tests is safe across runs and languages.
Reading weight_volume_percent, grams_per_ml, and error cases
Values whose absolute magnitude exceeds the published bound are rejected for isolate safety. Very large percent values are mathematically allowed when mass is high relative to volume—useful for catching unit mistakes—so callers that require a practical concentration band should validate that range in their own UI after reading the response. On success the response echoes solute_mass and volume_ml, reports weight_volume_percent as one hundred times the mass-over-volume ratio, and returns grams_per_ml as the raw concentration m over V without the percent scale factor. The formula field is always the string percent w/v equals m_solute_g over V_mL times one hundred, and method is always weight_volume_percent so downstream code can branch without sniffing shapes. Use weight_volume_percent when labels, SDS-style summaries, or student answers expect a percentage; use grams_per_ml when the next step is dimensional analysis or conversion to mg/mL by multiplying by one thousand. Missing either required field, non-finite numbers, negative solute mass, zero volume, and negative volume all fail with invalid_input and are not charged after the engine rejects the request.
API usage, pricing, lab workflows, and practical limits
Call the free in-browser weight volume percent calculator for homework checks, lecture demos, and quick batch math without installing a spreadsheet or chemistry CAS. Weight/volume percent is not mass percent: the denominator is volume, not total mass, and density would be required to convert between them—this product intentionally leaves that step out so the search intent stays focused on percent w/v from grams and milliliters. Send a JSON body with solute_mass in grams and volume_ml in milliliters, optionally using the documented aliases if your form already says solution_volume or grams. Use the prepaid API when a LIMS, tutoring platform, pharmacy notebook, or process-control pipeline needs a stable contract under KIT balance at $0.002 per successful item; validation failures never consume balance after the engine rejects the request. Pair this endpoint with mass fraction tools when you need weight/weight percent instead of weight/volume, or with dilution calculators when the next step is preparing a lower concentration from a stock. Authors shipping SDKs can map weight_volume_percent directly into UI labels and grams_per_ml into internal concentration models—the same two numbers students write on paper when they compute weight per volume percent by hand.
Integration use cases
LIMS and tutoring APIs
Platforms call a stable prepaid endpoint for % w/v instead of reimplementing grams-per-100-mL math in every client language.
Technical questions
How do I calculate weight/volume percent with this tool?
Send JSON with solute_mass in grams and volume_ml in milliliters (for example 5 and 100). The response includes weight_volume_percent and grams_per_ml.
Which units should I use?
Use grams for solute_mass and milliliters for volume_ml. That is the classical pharmacy and clinical chemistry convention for % w/v (grams per 100 mL).