Specific volume converter
1 m³/kg is 1000 L/kg. Convert volume per unit mass between cubic metres per kilogram, litres per kilogram and cubic feet per pound when a steam-property note, an HVAC load sheet and a textbook mix units. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Value
- 1
- Source unit
- m3/kg
- Target unit
- L/kg
- Result
- 1,000
- From label
- cubic meters per kilogram
- To label
- liters per kilogram
- M3 per kg
- 1
A specific volume converter turns a quantity written as volume per unit mass into another unit pair without hunting steam tables, thermodynamics handouts, or spreadsheet factor rows.
Supported units and how the conversion is computed
The converter accepts three specific-volume families under stable canonical codes: m3/kg for cubic meters per kilogram, L/kg for liters per kilogram, and ft3/lb for cubic feet per avoirdupois pound.
Factors follow SI definitions and exact international foot and avoirdupois pound constants: one liter is one thousandth of a cubic meter so one L/kg equals zero point zero zero one m3/kg, and one cubic foot per pound uses the foot of exactly zero point three zero four eight meters cubed divided by the pound of exactly zero point four five three five nine two three seven kilograms.
Because the intermediate is always m3/kg, converting A to B and B to A is consistent up to the published rounding of twelve decimal places, and there is no pairwise matrix that can drift out of sync. Density inversion and multi-step unit chains outside this set are intentionally out of scope so thermodynamics students, HVAC technicians, and process engineers who search specifically for specific volume get predictable results without a general unit switchboard.
Where specific volume conversions come up
Use the free in-browser specific volume converter when you need a quick m3/kg-to-L/kg or ft3/lb check while reading a thermodynamics problem set, a steam-property note, an HVAC load sheet, or a process data sheet. Open the page, enter the number and units, and copy the result without installing a unit library, a desktop engineering pack, or a spreadsheet with fragile factor cells. Source inputs follow the same retention rules as other KIT parse items, and results are safe to cache because the algorithm is fully deterministic.
Authors shipping mobile apps or chatbots can map the result and formula fields directly into cards that show both the number and the conversion path students and operators expect on paper.
What you can do with it
HVAC and process data sheets
Technicians normalize vendor sheets that list specific volume in mixed units before entering values into load calculations or equipment selection tools.
FAQ
Which specific volume units does this converter support?
Cubic meters per kilogram (m3/kg), liters per kilogram (L/kg), and cubic feet per pound (ft3/lb).
How is specific volume different from volume?
Specific volume is volume per unit mass (for example m³/kg). Plain volume converters handle liters and gallons alone; this tool always uses a volume/mass pair.
What happens if I send an unknown unit?
The message names the field and lists supported units. Validation failures are not charged.
Is the specific volume converter free?
The browser tool runs free on your device.
Can it turn a density into specific volume?
No. Specific volume is the inverse of density, but this converter only moves a volume-per-mass figure between m³/kg, L/kg and ft³/lb. Inverting a density is deliberately left out so every result follows one clear rule.
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/specific-volume \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":1,"from":"m3/kg","to":"L/kg"}'const res = await fetch("https://api.kit.forhosting.com/conv/specific-volume", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": 1,
"from": "m3/kg",
"to": "L/kg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/conv/specific-volume",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": 1,
"from": "m3/kg",
"to": "L/kg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/conv/specific-volume", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":1,"from":"m3/kg","to":"L/kg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":1,"from":"m3/kg","to":"L/kg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/conv/specific-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
{
"value": 1,
"from": "m3/kg",
"to": "L/kg"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "conv.specific_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
The browser tool runs free on your device; the prepaid API charges $0.002 per successful item when pipelines need the same contract from servers and automation.
Supported units and how the conversion is computed
Friendly aliases such as cubic meters per kilogram, liters per kilogram, cubic feet per pound, m³/kg, L/kg, ft³/lb, m^3/kg, and ft^3/lb are normalized case-insensitively so forms and APIs can pass either short codes or full names. Every request multiplies the input value by the exact cubic-meters-per-kilogram factor for the source, then divides by the factor for the target.
Request shape, response fields, and unknown-unit errors
The error message names the bad field and lists the supported set so clients can correct forms without guessing. Negative values are allowed when you need signed specific-volume deltas in engineering pipelines; zero converts cleanly to zero in every target unit. Send a JSON body with three required fields: value as a finite number, from as the source unit string, and to as the target unit string. Aliases amount and quantity are accepted for value; unit_from and source for from; unit_to and target for to. On success the response echoes the canonical from and to codes, human-readable from_label and to_label strings, the converted result, the intermediate m3_per_kg quantity, the dimensionless factor from source to target, a short formula line suitable for UI display, the method tag specific_volume_si_imperial, and the fixed list of units_supported. Missing value, non-finite numbers such as NaN or Infinity, missing unit fields, and any token that does not map to a supported unit fail with invalid_input and are not charged after the engine rejects the request. Identical inputs always yield identical JSON because the path is pure arithmetic with no randomness, no remote lookup, and no dependence on the wall clock, which makes the endpoint safe to pin in continuous-integration goldens and SDK contract tests.
Browser use, API pricing, and everyday workflows
Switch to the prepaid API when a lab notebook app, process historian, educational platform, or simulation pre-processor must convert specific volume at scale under a stable KIT contract at $0.002 per successful item; validation failures that raise invalid_input do not consume balance after rejection. Pair this endpoint with density or mass-flow tools when a pipeline needs several related measure families, or call it alone when search traffic is specifically for specific volume conversion—cubic meters per kilogram, liters per kilogram, and cubic feet per pound—rather than plain volume or flow rate.
Integration use cases
Thermodynamics homework and exams
Students convert specific volume between SI m³/kg or L/kg and US customary ft³/lb when textbook tables mix unit systems, and get a clear invalid_input error on unknown tokens.
Simulation and historian pipelines
Automation scripts convert logged or configured specific-volume values to a single SI base with a prepaid, deterministic API contract.
Technical questions
How do I convert 1 m³/kg to L/kg?
Send JSON with value: 1, from: "m3/kg", to: "L/kg". The response result field is 1000, plus the m3_per_kg intermediate and a readable formula.