Surface density converter
2.5 kg/m² is 73.733811704108 oz/yd². Convert mass per area between kg/m², gsm, g/cm², mg/m², and ounces or pounds per square yard or foot for coating sheets, paper and fabric weights, and floor loads. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Value
- 2.5
- From
- kg/m2
- To
- oz/yd2
- Result
- 73.7338117041 oz/yd2
- Converted
- 73.7338117041
- Value kgm2
- 2.5
- Factor
- 29.4935246816
A surface density converter turns one mass-per-area magnitude into another everyday unit without spreadsheet factors or mental decade tables. Enter a finite value plus a source unit and a target unit among kilograms per square metre, grams per square metre, grams per square centimetre, milligrams per square metre, ounces per square yard, ounces per square foot, pounds per square yard, and pounds per square foot; the tool returns the converted surface density, the SI intermediate in kg/m², the exact unit factor applied, and step-by-step substitution lines you can paste into a coating schedule, packaging brief, structural load note, or design review. Process engineers quoting kg/m² coating weight, textile and paper buyers comparing oz/yd² and gsm, packaging labs reading g/cm², and students converting homework areal density all need the same deterministic path.
Which surface-density units are supported and how conversion works
This capability converts among eight everyday surface mass-density units that dominate coating and film data sheets, packaging and paper gsm tickets, textile areal-weight notes, structural live-load tables, and undergraduate mechanics coursework. The kilogram per square metre (kg/m²) is the SI coherent unit of mass per unit area and the internal hub: every conversion multiplies the input by how many kilograms per square metre equal one source unit, then divides by how many kilograms per square metre equal one target unit.
Grams per square metre use the exact SI milli-to-kilo decade of one thousandth of a kilogram per square metre and appear as gsm on paper, nonwovens, and thin films. Grams per square centimetre equal exactly ten kilograms per square metre because one gram is one thousandth of a kilogram and one square centimetre is one ten-thousandth of a square metre. Milligrams per square metre equal one millionth of a kilogram per square metre and suit sparse deposition or contamination notes.
Ounces per square yard and ounces per square foot use the international avoirdupois ounce mass of zero point zero two eight three four nine five two three one two five kilograms divided by the exact international square yard of zero point eight three six one two seven three six square metres or square foot of zero point zero nine two nine zero three zero four square metres.
Pounds per square yard and pounds per square foot use the international avoirdupois pound mass of zero point four five three five nine two three seven kilograms over the same areas; pounds per square foot is often abbreviated psf in building and flooring contexts when mass loading is intended. Same-unit requests succeed and return the input magnitude with a short message that no change of unit was required.
Practical tips, limits, and when to use this landing
Prefer sending bare numbers for value when you control the client; string numbers are accepted only when they match a strict finite numeric pattern without currency symbols or thousand separators. Round-trip checks are straightforward: convert A to B and B back to A and confirm you recover the original within the published twelve-decimal rounding.
When teaching, pair classic examples such as one kilogram per square metre to one thousand grams per square metre, two point five kilograms per square metre into ounces per square yard for mixed packaging notes, and one gram per square centimetre into ten kilograms per square metre for the exact SI decade identity. Stay inside the absolute range so intermediate kg/m² values cannot overflow.
This landing targets people searching for a surface density converter, areal density converter, kg/m2 to oz/yd2, grams per square centimeter to kilograms per square meter, or pounds per square foot mass loading online; it is not a general multi-quantity unit converter, not a volumetric density (kg/m³) tool, not a linear density (kg/m) calculator, and not a fabric cut-yardage estimator.
What you can do with it
Coatings, films, and deposition schedules
Process engineers convert kg/m² coating weight to g/m² or oz/yd² so mixed SI–imperial data sheets and line setpoints share one surface-density figure.
Packaging, paper, and nonwoven gsm tickets
Packaging and paper labs convert gsm (g/m²) to oz/yd² or lb/ft² for buyer specs, export forms, and cross-plant quality exchange.
Homework and mechanics checks
Students convert kg/m², g/cm², and oz/yd² areal-density homework values with deterministic steps they can compare against hand calculations before submission.
FAQ
Is gsm the same as g/m²?
Yes. GSM is the common shorthand for grams per square metre; this converter accepts gsm and g/m2 as the same unit and routes both through the SI kg/m² hub.
Is the surface density converter free?
The browser tool is free and runs locally.
How many kg/m² is 1 g/cm²?
Exactly 10 kilograms per square metre, because a gram is a thousandth of a kilogram and a square centimetre is a ten-thousandth of a square metre.
Are pounds and ounces mass or force here?
Mass. Ounces and pounds per square yard or square foot use the international avoirdupois mass units, so psf here means mass loading per area, not pounds-force.
Can I enter a negative value?
Yes. Negative values are accepted for signed differences between two readings, and they convert with exactly the same factors as positive ones. Zero converts to zero in every unit.
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/conv/surface-density \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":2.5,"from":"kg/m2","to":"oz/yd2"}'const res = await fetch("https://api.kit.forhosting.com/conv/surface-density", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": 2.5,
"from": "kg/m2",
"to": "oz/yd2"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/conv/surface-density",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": 2.5,
"from": "kg/m2",
"to": "oz/yd2"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/conv/surface-density", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":2.5,"from":"kg/m2","to":"oz/yd2"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":2.5,"from":"kg/m2","to":"oz/yd2"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/conv/surface-density", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"value": 2.5,
"from": "kg/m2",
"to": "oz/yd2"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "conv.surface_density",
"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
Unknown unit names fail with a clear invalid_input error instead of silent wrong factors.
Which surface-density units are supported and how conversion works
Common aliases are accepted case-insensitively: kilograms per square meter and kg/m2 for the SI form, grams per square metre, gsm and g/m2, ounces per square yard and oz/yd2 or osy, pounds per square foot and lb/ft2 or psf, and similar full-word spellings for the rest. If the name is not on that list the solver rejects the request with invalid_input naming the bad field and listing supported units, so clients never guess whether a typo produced a wrong number. Negative values are allowed for signed difference contexts; absolute magnitude must stay within the published one-trillion limit so intermediate products remain finite in IEEE double precision on the Worker and in the browser.
How to call the API and read the response
Value must be a finite number or a strict numeric string within absolute limits of one trillion. Wire this into dashboards, mobile clients, or batch jobs that already hold a surface-density reading and only need a second unit for display, regulatory comparison, or mixed SI–imperial reports without shipping floating conversion tables in every app binary. Send a JSON body with three required fields: value (aliases amount, sigma, areal_density, surface_density, and rho_a), from (aliases from_unit, unit_from, and source), and to (aliases to_unit, unit_to, and target). From and to must resolve to supported unit names after alias normalization. On success the response echoes the rounded input value, canonical from and to labels, result and converted set to the same rounded target magnitude, value_kgm2 as the SI intermediate in kilograms per square metre, unit as the target label, factor as the from-to multiplier, formula as the short equation string, message as an English summary, steps as ordered substitution lines, and supported_units as the eight canonical identifiers. Failed validation—missing fields, non-finite numbers, values outside absolute limits, or an unknown unit name—returns invalid_input and is never charged. Pricing is a flat $0.002 per successful request with unit item and zero marginal unit price.
Practical tips, limits, and when to use this landing
Normalize display labels on your side if you need locale-specific spellings or superscripts—this API always returns the short canonical tokens kg/m2, g/m2, g/cm2, mg/m2, oz/yd2, oz/ft2, lb/yd2, and lb/ft2 so automated tests stay stable. Prefer this capability when both endpoints are among the eight supported mass-per-area units and you need deterministic factors and step strings; if you need bulk density or linear density, use the dedicated converters for those quantities instead. Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when clients deliberately probe unknown unit names.
Technical questions
Which surface-density units can I convert?
Kilograms per square metre (kg/m2), grams per square metre (g/m2 or gsm), grams per square centimetre (g/cm2), milligrams per square metre (mg/m2), ounces per square yard (oz/yd2), ounces per square foot (oz/ft2), pounds per square yard (lb/yd2), and pounds per square foot (lb/ft2 or psf), including common full-word aliases.
Are pounds and ounces mass or force?
Mass. Surface density is mass per area. Aliases accept lb, lbs, lbm, and oz per square foot or yard; pound-force (lbf) is not a supported unit name.
What happens if I send an unknown unit name?
The API returns invalid_input, names the bad field, and lists the supported units. The failed task is not charged.