Steel weight calculator
A steel plate 2 m long, 1000 mm wide and 10 mm thick weighs 157 kg, about 346 lb, at the standard 7850 kg/m³. Pick the shape, enter the mill sizes and the cut length, and turn a cut list into a shipping mass. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Runs in your browser. Free, unlimited — your data never leaves this page.
Steel stock is bought, shipped, hoisted, and invoiced by mass, not by a stack of millimetres. A plate, a round or hex bar, a hollow tube, and an angle iron each enclose a different volume; multiplying that volume by the standard carbon-steel density of 7850 kilograms per cubic metre turns a cut list into kilograms and pounds you can put on a truck or a hoist. This steel weight calculator accepts a section shape, the mill dimensions that define that section, and optional millimetre-versus-metre units, then returns total weight in kilograms and pounds plus mass per metre of run.
How steel weight is calculated from shape, mill sizes, and density
Carbon steel is treated here as a homogeneous solid with the handbook density 7850 kilograms per cubic metre, the figure used on mill certificates and in most estimating tables for mild and low-alloy plate and bar. The calculator never asks you for density: it applies that constant after it has built the enclosed metal volume of the section you named. A plate is a rectangular prism, so volume is length times width times thickness.
A round bar is a solid cylinder, so volume is pi times radius squared times length. A square bar is side squared times length; a rectangular or flat bar is width times thickness times length. Hexagonal bar is specified across flats, and the area of a regular hexagon is the square root of three over two, times the across-flats size squared, times length.
Hollow round tube uses the annular identity: pi times wall thickness times outer diameter minus wall thickness, times length. Square tube is four times wall times outer side minus wall, times length. Rectangular tube is two times wall times the quantity outer width plus outer height minus twice the wall, times length.
Equal or unequal angle is two rectangles that share a square at the fillet, which simplifies to wall thickness times the sum of the legs minus that thickness, times length. After every linear quantity is expressed in metres, mass in kilograms is density times volume, and pounds follow from the international avoirdupois factor. The identities are exact for a perfect prism; they do not add mill tolerances, weld beads, coatings, or rolled fillets.
Mixed millimetre section sizes and metre cut lengths are converted separately so a 10 millimetre plate that is two metres long is not mistaken for a 10 metre slab.
Where a steel weight calculator earns its keep
Fabricators, steel stockholders, and warehouse teams reach for a steel weight calculator when a mixed cut list of plate, bar, tube, and angle must become a shipping mass or a hoist load before the truck is booked. Carbon steel is priced by the kilogram; converting mill sizes into mass is the step that turns a catalogue line into an invoice.
Structural and mechanical estimators comparing a solid round bar against a hollow tube of the same outer diameter need the steel-only mass of each, not a volume and a separate density lookup in another tab. This landing is intentionally not a multi-metal round-bar tool and not a generic pipe-weight tool that asks you for density: those are different searches. It is also not a sheet-metal gauge converter, which changes thickness units without weighing anything.
Curriculum authors and exam writers ask for the mass of a steel plate or hex bar from mill sizes at 7850 kilograms per cubic metre; a deterministic oracle marks those items without mixed-unit surprises. Invalid input is not billed. Pin the rounded weight fields in tests, keep requests small, and you get reproducible steel weights for takeoff spreadsheets, crane plans, and edge workers without standing up a materials database of your own.
What you can do with it
Cut lists to mill invoices
Turn plate, bar, hex, tube, and angle mill sizes into kilograms so a stockholder invoice or a job takeoff is booked against real carbon-steel mass at 7850 kg/m³, not a dog-eared table.
Shipping, hoist, and crane loads
Convert a mixed bundle of flats, rounds, and hollow sections into pounds and kilograms before the truck, forklift, or hoist is booked, using the same contract the shop tablet already ran.
FAQ
How is steel weight calculated from shape and mill sizes?
Each section has a closed-form volume: a plate is length × width × thickness, a round bar is π (D/2)² L, a hex bar is (√3/2) F² L, a round tube is π t (OD − t) L, and an angle is t (A + B − t) L. After converting millimetres and metres to SI, mass is that volume times 7850 kg/m³. The response reports kilograms, pounds, and mass per metre.
Which steel density does this calculator use?
The handbook carbon-steel density 7850 kilograms per cubic metre (7.85 g/cm³). That is the usual mill-certificate figure for mild and low-alloy plate, bar, tube, and angle. Stainless, aluminum, and copper are different materials and different searches.
What happens if a dimension is zero or negative?
Steel stock cannot have a zero or negative length, width, thickness, diameter, side, wall, or leg. Validation failures are not billed.
How do I weigh a hollow steel tube versus a solid bar?
Wall thickness must stay below half the outer size or the bore would vanish.
Which steel shapes can I weigh?
Plate, round bar, square bar, flat or rectangular bar, hex bar measured across flats, round, square and rectangular tube, and equal or unequal angle. Each shape asks only for the sizes that define it, plus the length.
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/build/steel-weight \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"shape":"plate","length":2}'const res = await fetch("https://api.kit.forhosting.com/build/steel-weight", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"shape": "plate",
"length": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/build/steel-weight",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"shape": "plate",
"length": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/build/steel-weight", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"shape":"plate","length":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"shape":"plate","length":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/build/steel-weight", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"shape": "plate",
"length": 2
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "build.steel_weight",
"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
Every dimension must be a strictly positive number: a zero or negative thickness is not a piece of steel, and the task fails with invalid_input instead of a silent zero.
Input contract, units, and the positive-dimension rule
Hollow tubes have a second geometric rule: wall thickness must stay strictly below half the outer size, otherwise the bore vanishes and the piece is not a tube. Angle thickness must stay below both legs. Unused dimensions for the chosen shape are ignored, never required. A worked check: a plate two metres long, one thousand millimetres wide, and ten millimetres thick is 0.02 cubic metres and 157 kilograms, about 346 pounds. Send a shape name and the mill dimensions that belong to that shape. shape is required and must be one of plate, round_bar, square_bar, rectangular_bar, hex_bar, round_tube, square_tube, rectangular_tube, or angle. length is always required and is the cut or sheet length. plate and rectangular_bar also need width and thickness. round_bar needs diameter. square_bar needs side. hex_bar needs across_flats. round_tube needs diameter and wall_thickness. square_tube needs side and wall_thickness. rectangular_tube needs width, height, and wall_thickness. angle needs leg_a, leg_b, and thickness. Every one of those numbers must be a strictly positive finite value: zero, negative, NaN, and empty strings fail with invalid_input and a message that names the field. Optional dimension_unit applies to every cross-section size and accepts m, cm, mm, in, or ft, defaulting to millimetres because that is how metric mills quote plate, bar, and tube. Optional length_unit accepts the same five tokens and defaults to metres. Aliases such as sheet, rod, flat_bar, hex, tube, shs, rhs, od, and L are accepted on the wire so a spreadsheet column does not have to be renamed. On success the body echoes the cleaned shape, length, units, and the dimensions that actually entered the formula, restates length in metres, and returns volume_m3, weight_kg, weight_lb, weight_per_m_kg, and weight_per_ft_lb, plus the formula string and a short message. Successful API calls use the published base of $0.002 per item; validation failures are not billed.
Where a steel weight calculator earns its keep
Shop-floor tablets can run the same contract in the browser with no account, then an ERP plugin can call the API on the same numbers and get the same kilograms.
Integration use cases
Exam items and fabrication scripts
Mark steel-weight homework that asks for plate or hex mass from mill sizes, or drive an ERP plugin with the same deterministic kilograms the public widget shows.
Technical questions
What does a steel-weight calculation cost on the API?
The in-browser tool does not charge. Each successful API task deducts $0.002 from prepaid KIT balance. A rejected dimension or unknown shape is not billed.