Buoyancy experiment calculator
A 2 kg object of density 500 kg/m³, held fully under water of 1,000 kg/m³, feels 39.24 N of buoyancy against 19.62 N of weight, so it floats. Enter mass and both densities for volume, forces and the verdict. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Mass
- 2
- Density
- 500
- Fluid density
- 1,000
- Gravity
- 9.81
- Object volume
- 0.004
- Displaced volume
- 0.004
- Weight
- 19.62
- Buoyant force
- 39.24
A buoyancy experiment calculator turns three laboratory measurements—object mass, object density, and fluid density—into the quantities a physics practical actually reports: object volume, displaced volume under a complete dunk, buoyant force, true weight, apparent net weight, unconstrained net force, and a float-or-sink verdict. Enter mass in kilograms and both densities in kilograms per cubic metre; unless you override gravity, the solver uses 9.81 metres per second squared. Volume is mass divided by object density. Archimedes then gives buoyant force as fluid density times that volume times g. Net weight is the apparent scale reading after submersion, true weight minus buoyant force, and net force is buoyant force minus weight with upward taken as positive. The sample floats when it is less dense than the fluid, sinks when it is denser, and is neutrally buoyant when the densities match.
What a buoyancy experiment measures and why densities decide float or sink
A laboratory buoyancy experiment asks a deceptively short question: if this object is pushed fully under this liquid, what force does the liquid exert, what would a submerged scale read, and will the object rise, hang, or fall when released? Archimedes' principle answers the first part. A body immersed in a fluid experiences an upward buoyant force equal to the weight of the fluid it displaces.
For a complete dunk the displaced volume is the exterior volume of the object. Multiply the surrounding fluid density by that volume and by gravitational acceleration to obtain buoyant force. True weight is mass times g.
Apparent net weight, the reading a spring scale would show while the sample is held fully under, is true weight minus buoyant force. Unconstrained net force is the opposite difference, buoyant force minus weight, with the sign convention that a positive value means a net push upward. Comparing the two densities is enough to classify the outcome without a second formula.
If object density is less than fluid density, buoyant force exceeds weight, net force is upward, net weight is negative because the tether would be in tension, and the object floats. If object density is greater, the sample sinks, net force is downward, and net weight is a positive apparent weight. Equal densities produce neutral buoyancy: net force and net weight are both zero.
The experiment therefore never needs a computational-fluid-dynamics mesh; three finite numbers and one well-stated sign convention recover the entire lab report. Zero or negative density would make volume undefined or unphysical, so those inputs are rejected rather than returning Infinity or a silent NaN that a grader cannot explain.
Practical tips, units, limits, and when to use this experiment tool
Keep mass, densities, and gravity inside the published absolute range so volume and force products cannot overflow into a non-finite result the solver must reject. Use a consistent unit system: kilograms, kilograms per cubic metre, and metres per second squared yield newtons for every force field. Grams and centimetres require a coherent g in centimetres per second squared if you want dynes.
This tool does not convert units and does not take displaced volume as an independent input. Prefer it when a worksheet or lab gives object mass plus two densities and asks whether the sample floats, what the apparent weight is, and what the dunked buoyant force is. If you already know fluid density, displaced volume, and g and only need F_b equals rho times V times g, that is a different search and a different calculator.
When teaching, pair examples: two kilograms of wood at five hundred kilograms per cubic metre in water at one thousand kilograms per cubic metre yields a positive net force and floats; a denser metal coupon of equal mass yields a positive apparent net weight and sinks.
What you can do with it
School buoyancy lab write-ups
Students enter measured mass and the two densities from a dunk tank, then copy displaced volume, buoyant force, apparent net weight, and the float-or-sink verdict into the lab report.
Homework checks for Archimedes word problems
A worksheet that gives object mass, object density, and fluid density can be checked against a deterministic dunk: F_b, net weight, net force, and whether the object floats.
FAQ
How does the buoyancy experiment calculator decide if an object floats?
It compares densities after a complete dunk. If object density is less than fluid density, buoyant force exceeds weight and floats is true. If it is greater, the object sinks. Equal densities are reported as neutrally buoyant.
What is net weight versus net force in this experiment?
Net weight is the apparent scale reading while fully submerged: true weight minus buoyant force. Net force is buoyant force minus weight, with upward positive. They are equal in magnitude and opposite in sign.
What happens if density is zero or negative?
Object density and fluid density must be strictly positive; zero would make volume undefined and a negative density is not physical for this model.
Which units should I use for mass, density, and gravity?
Any consistent set. SI (kg, kg/m³, m/s²) yields newtons. Gravity defaults to 9.81 when omitted. The tool does not convert units; it applies Archimedes' formulae to the numbers you provide.
Is the buoyancy experiment calculator free?
The browser tool is free and runs locally.
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/buoyancy-experiment \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mass":2,"density":500,"fluid_density":1000}'const res = await fetch("https://api.kit.forhosting.com/phys/buoyancy-experiment", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mass": 2,
"density": 500,
"fluid_density": 1000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/phys/buoyancy-experiment",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mass": 2,
"density": 500,
"fluid_density": 1000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/phys/buoyancy-experiment", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mass":2,"density":500,"fluid_density":1000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mass":2,"density":500,"fluid_density":1000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/phys/buoyancy-experiment", 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": 2,
"density": 500,
"fluid_density": 1000
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "phys.buoyancy_experiment",
"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.
Limits
max_abs | 1000000000000 |
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
Zero or negative densities fail with invalid_input so a division by zero never becomes Infinity.
What a buoyancy experiment measures and why densities decide float or sink
That volume is not an extra measurement when you already know mass and density: volume equals mass divided by object density, provided the density is strictly positive.
How to call the API and what the JSON response contains
Mass, both densities, and gravity must be strictly greater than zero. Send a JSON body with three required finite numbers: mass (aliases m, object_mass), density for the object (aliases object_density, rho, rho_object), and fluid_density (aliases rho_fluid, fluid_rho). Gravity is optional (aliases g, g_accel, gravitational_acceleration) and defaults to 9.81 when omitted. Absolute values must stay within the published limit of one trillion so intermediate products remain finite in IEEE double precision on the Worker and in the browser. On success the response echoes the rounded inputs, sets object_volume and displaced_volume to mass over object density, weight to mass times g, buoyant_force to fluid density times volume times g, net_weight to weight minus buoyant force, and net_force to buoyant force minus weight. The boolean floats is true when the object does not sink, including the neutrally buoyant case; outcome is the three-way label floats, sinks, or neutrally_buoyant. specific_gravity is object density divided by fluid density. formula, equation, message, and steps give a readable substitution trail for lab notebooks and automated graders. Failed validation—missing fields, non-finite numbers, values outside absolute limits, non-positive mass or gravity, or zero or negative density—returns invalid_input and is never charged. Pricing is a flat $0.002 per successful request with unit item.
Practical tips, units, limits, and when to use this experiment tool
Prefer sending JSON numbers rather than pre-formatted strings when you control the client; string numbers are accepted only when they match a strict finite numeric pattern. A deliberate zero density demonstrates the hard invalid_input path. This landing targets people searching for a buoyancy experiment calculator, a float or sink tool, or a displaced-volume and net-weight lab helper; it is not a ship hydrostatics package and not a CFD solver. Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when learners deliberately send a negative density. Round-trip checks are easy: recompute mass over density, then fluid density times volume times g, and confirm net_force equals buoyant_force minus weight within the same twelve-decimal rounding used in the published fields.
Integration use cases
Unit tests for student physics solvers
Generate known-good float and sink cases plus deliberate zero-density rejections for coding kata expected values and continuous-integration fixtures.