Density mass volume calculator
A mass of 12 in a volume of 3 has a density of 4. Enter any two of mass, volume and density, leave the unknown blank, and get the missing value plus a label saying which one was solved. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Mass
- 12
- Volume
- 3
- Density
- 4
- Solved
- density
Problem sets, lab benches, and engineering notes constantly rearrange that identity to find a missing mass, a missing volume, or the density itself when the other two quantities are already known. This density mass volume calculator accepts exactly two of mass, volume, and density as finite numbers, solves the third with deterministic floating-point arithmetic, and returns the complete triad plus a solved label so clients know which field was computed.
Practical physics use, coherent units, pricing, and delivery channels
Use the browser density mass volume calculator when you want an immediate physics check while grading homework, verifying a bench mass-and-volume measurement, sizing a specimen from bulk density, or converting a known fill mass into estimated tank volume. Choose units consistently—if mass is in kilograms and volume is in cubic metres, density comes out in kilograms per cubic metre. Results are fully deterministic: the same two inputs always yield the same triad and the same solved field label.
There is no language model, no external materials service, and no randomness, so the capability is safe to pin in continuous-integration checks and reproducible lesson materials. Authors shipping SDKs can map the triad fields directly into form widgets that highlight the solved quantity, matching the three-column rearrangement students already write by hand on paper.
What you can do with it
Physics homework density drills
Students send any two of mass, volume, and density and check the missing quantity against textbook rearrangements of ρ = m / V.
Specimen mass from bulk density
Lab notes multiply a published material density by a measured specimen volume to estimate mass without retyping a spreadsheet formula.
Tank volume from fill mass
Engineering sheets divide a known fill mass by fluid density to recover occupied volume, with a clear error if density is submitted as zero.
FAQ
Which two quantities do I send to find the missing one?
Send exactly two of mass, volume, and density and omit the unknown.
Why does a zero volume or zero density fail?
Density is mass divided by volume, so a zero volume (or a zero density when volume is unknown) is an undefined divisor and is not billed.
What units does the density mass volume calculator use?
Any coherent pair. If mass is kilograms and volume is cubic metres, density is kilograms per cubic metre. The engine rearranges ρ = m / V only; it does not convert units.
How do I find the mass from density and volume?
Enter the density and the volume and leave the mass blank. The two are multiplied, so a published material density times a measured specimen volume gives you an estimated mass without a spreadsheet formula.
How do I work out a tank volume from the mass of its contents?
Enter the fill mass and the density of the liquid and leave the volume blank. The mass is divided by the density to give the occupied volume; a density of zero is refused because nothing can be divided by it.
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/phys/density-mass-volume \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mass":12,"m":1}'const res = await fetch("https://api.kit.forhosting.com/phys/density-mass-volume", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mass": 12,
"m": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/phys/density-mass-volume",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mass": 12,
"m": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/phys/density-mass-volume", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mass":12,"m":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mass":12,"m":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/phys/density-mass-volume", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"mass": 12,
"m": 1
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "phys.density_mass_volume",
"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
Density in classical physics is mass per unit volume: rho equals mass divided by volume for a uniform sample. A zero divisor is rejected with invalid_input because mass over zero volume and mass over zero density are undefined.
What density means in physics and which two quantities to send
In continuum mechanics and introductory physics, density rho is defined as mass m divided by volume V when the body is treated as uniform. In SI, mass is kilograms, volume is cubic metres, and density is kilograms per cubic metre; the same algebra holds for grams per cubic centimetre or any other coherent pair because this engine does not convert units—it only rearranges numbers you already expressed consistently. Typical physics workflows are: weigh a sample and measure its displaced volume to obtain density; multiply a known material density by a tank or specimen volume to estimate mass; or divide a known mass by density to recover occupied volume. Search intent clusters around density mass volume calculator, mass from density and volume, volume from mass and density, and rho equals m over V—queries that want a numeric missing quantity, not only a reminder that the formula exists. Provide exactly two JSON fields among mass, volume, and density. Aliases are accepted: m or mass_kg for mass; V, vol, or volume_m3 for volume; rho, the Greek letter rho, or d for density. Numeric strings parse the same way as JSON numbers so forms and spreadsheet-style pipelines can send values without an extra cast. If you send none, one, or all three quantities, the request fails with invalid_input so a measured value is never overwritten in silence. Identical inputs always produce identical JSON because the path is pure arithmetic with no network, no random seed, and no clock.
How the solver rearranges ρ = m / V and reports the missing quantity
After the pair is accepted, the missing quantity is computed as density equals mass divided by volume, or mass equals density times volume, or volume equals mass divided by density. Volume used as a divisor must not be zero, because density is undefined for a vanishing sample volume under this product contract. Density used as a divisor must not be zero when volume is the unknown, because mass divided by zero density is undefined. There is no material table, no temperature correction, no specific-gravity conversion, and no unit converter; this is ideal uniform-sample arithmetic from the two known quantities. Send a JSON body with exactly two of mass, volume, and density. Every provided field must be finite: missing all three, only one field, all three at once, empty strings, non-numeric text, NaN, and Infinity all fail immediately with invalid_input before any result is returned, and failed validation is not charged. Those divisor-zero cases are the explicit invalid_input promise of this capability and they are the errors you should expect in homework checkers that accidentally submit a blank volume. On success the response echoes mass, volume, and density with stable rounding suitable for snapshots, plus solved equal to mass, volume, or density depending on which quantity was missing, formula always the Unicode rho equals m slash V identity, and method always density_mass_volume so clients can branch without sniffing shapes. Results are rounded to a stable decimal precision so the same input always yields the same JSON across JavaScript engines.
Practical physics use, coherent units, pricing, and delivery channels
Each successful request is one billable item at $0.002; failed validation does not consume balance. Wire the endpoint into mechanics drills, contest answer checkers, materials worksheets, or preprocessing steps where you already prefer explicit domain errors—such as rejecting a zero volume divisor—over opaque widgets that cannot explain why a bad input was refused. Pair this endpoint with buoyancy, hydrostatic pressure, or specific-weight tools when the next step needs density as an input, or keep it standalone when the only unknown is one member of the rho equals m over V triad.
Technical questions
How is the solved field labelled in the response?
The solved field is the string mass, volume, or density naming the quantity that was missing from the request. Formula is always ρ=m/V and method is always density_mass_volume.
What does a successful API call cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful item; invalid input is not billed.