Metal bar weight by material
A 20 mm steel rod 1 m long weighs about 2.466 kg at 7850 kg/m³; the same size in aluminum, at 2700 kg/m³, is far lighter. Turn cut lists into shipping mass in kilograms, pounds and per metre. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Diameter
- 20
- Length
- 1
- Material
- Steel
- Diameter unit
- Mm
- Length unit
- M
- Density kg m3
- 7,850
- Density source
- material_table
Fabricators, estimators, and buyers constantly need the weight of round bar stock before they cut, ship, or hang a load. A twenty-millimetre steel rod one metre long is not the same mass as an aluminum rod of the same size, and hand tables are easy to misread when units mix millimetres of diameter with metres of length. This metal bar weight by material calculator accepts outer diameter, length, and either a named material (steel, aluminum, copper, brass) or an explicit density in kilograms per cubic metre, converts everything to SI, applies the solid cylinder volume formula pi times radius squared times length, multiplies by density, and returns mass in kilograms and pounds plus mass per metre.
How round bar weight is calculated from diameter, length, and density
A solid round bar is a right circular cylinder. Its volume in cubic metres is pi times the square of the radius times the axial length, where radius is half the outer diameter after both dimensions have been converted to metres. Mass follows at once: density times volume.
When you choose steel, the calculator uses a mild-steel handbook density of seven thousand eight hundred fifty kilograms per cubic metre. Aluminum uses two thousand seven hundred, copper eight thousand nine hundred sixty, and brass eight thousand five hundred—typical values for common commercial alloys, not certificates for a specific heat. Diameter defaults to millimetres and length to metres because metric bar stock is usually quoted that way; you can switch either unit to centimetres, metres, inches, or feet.
Cross-section area, volume, total mass in kilograms and pounds, and linear density (mass per metre and mass per foot) are returned so you can check a bill of materials or a shipping estimate without re-deriving intermediate steps. The implementation is pure arithmetic: no network, no randomness, and no clock, so goldens stay byte-stable across runtimes.
Who needs round bar weights
Machine shops and structural fabricators use a metal bar weight calculator to convert cut lists into shipping mass and crane capacity before the truck arrives. Metal distributors publish price per kilogram or per pound; converting a customer’s diameter and length into mass is the step that turns a stock catalogue into an invoice line. Procurement teams comparing steel versus aluminum for the same outer dimensions need an apples-to-apples mass comparison in seconds, not a spreadsheet that forgets unit conversion.
Educational and exam contexts ask for the mass of a copper rod of given diameter and length; a deterministic oracle marks those items without floating-point surprises from mixed unit systems. Invalid input is not billed. Keep requests small, pin the rounded mass fields in tests, and you get reproducible bar weights for ERP plugins, shop-floor tablets, and edge workers without standing up a materials database of your own.
What you can do with it
Shop cut-list to shipping mass
Convert each round bar line (diameter, length, material) into kilograms for freight quotes, pallet limits, and crane planning before the cut list leaves the office.
FAQ
How do I calculate round bar weight by material?
Volume uses V = π (D/2)² L in SI units, then m = ρ V.
What densities does the calculator use?
Steel 7850 kg/m³, aluminum 2700, copper 8960, brass 8500.
Which units can I use for diameter and length?
Defaults are mm for diameter and m for length—the usual metric bar-stock pairing.
How much does a 20 mm steel bar weigh per metre?
About 2.466 kilograms per metre at the steel density of 7850 kg/m³. The calculator also gives the total in pounds and the mass per foot, so a cut list converts straight into shipping weight.
Can I use the density from my mill certificate?
Yes. Enter your own density in kilograms per cubic metre and it replaces the table value; the material name then stays only as a label. That keeps the weight in line with the alloy you actually bought.
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/eng/bar-weight-by-material \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"diameter":20,"length":1,"material":"steel"}'const res = await fetch("https://api.kit.forhosting.com/eng/bar-weight-by-material", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"diameter": 20,
"length": 1,
"material": "steel"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/eng/bar-weight-by-material",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"diameter": 20,
"length": 1,
"material": "steel"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/eng/bar-weight-by-material", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"diameter":20,"length":1,"material":"steel"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"diameter":20,"length":1,"material":"steel"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/eng/bar-weight-by-material", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"diameter": 20,
"length": 1,
"material": "steel"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "eng.bar_weight_by_material",
"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
Failed validation—non-positive diameter, unknown material without density, or missing fields—returns invalid_input and is not billed.
How round bar weight is calculated from diameter, length, and density
Density must be consistent with the volume unit; this endpoint works in kilograms per cubic metre, which is the SI mass-density unit used in most engineering tables. If your mill certificate lists a different density, pass density_kg_m3 as an override and the material name is kept only as a label when you still supply it.
Input contract, units, materials, and error behaviour
On success the body echoes the inputs you used, the resolved SI diameter and length, radius, cross-section in square metres, volume in cubic metres, mass in kilograms and pounds, mass per metre and per foot, the formula string, and a short human-readable message. Example: diameter twenty millimetres, length one metre, material steel yields volume equal to pi times zero point zero one squared times one, then mass about two point four six six kilograms at seven thousand eight hundred fifty kilograms per cubic metre. Pair the response with your own cost-per-kilogram markup if you need a price quote; this capability computes mass only. POST a JSON body with two required positive finite numbers—diameter and length—plus a density source. Density comes either from material set to steel, aluminum, copper, or brass (aliases such as aluminium and mild steel are accepted), or from density_kg_m3 as a positive finite override up to one hundred thousand kilograms per cubic metre. If both are present, the numeric density wins and density_source is reported as override; if only material is present, density_source is material_table. Optional diameter_unit and length_unit accept m, cm, mm, in, or ft; defaults are mm for diameter and m for length. Missing required fields, non-finite or non-positive diameter or length, an unknown material without a density override, or a non-positive density all fail with invalid_input and a message naming the problem.
Integration use cases
Steel vs aluminum mass comparison
Hold diameter and length fixed, switch material between steel and aluminum, and read mass_kg side by side when choosing stock for weight-sensitive assemblies.
ERP and configurator automation
Call the API from a product configurator so quoted mass always matches the free browser calculator your customers already trust.
Technical questions
What if I omit material?
You must provide density_kg_m3 instead. Without either a known material or a positive density, the task fails with invalid_input and is not billed.
What does the metal bar weight calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.