Mass flow rate converter
Read a mass throughput in the unit your datasheet uses: 1 kg/s is 7936.641438655593 pounds per hour. Grams and kilograms per second, pounds per hour and tonnes per hour all go through kilograms per second, for P&IDs, boiler sheets and dosing skids. 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
- kg/s
- Target unit
- lb/h
- Result
- 7,936.6414386556
- From label
- kilograms per second
- To label
- pounds per hour
- Kgs
- 1
A mass flow rate converter turns a mass throughput figure written in one unit into another without hunting process datasheets, boiler specs, or mixed SI and customary factors.
Supported units and how the conversion is computed
The converter accepts four mass flow-rate families under stable canonical codes: kg/s for kilograms per second, g/s for grams per second, lb/h for pounds per hour using the international avoirdupois pound, and t/h for metric tonnes per hour.
Factors follow SI definitions and the CIPM avoirdupois pound: one gram per second is exactly one thousandth of a kilogram per second, one pound per hour is zero point four five three five nine two three seven kilograms divided by three thousand six hundred seconds, and one metric tonne per hour is one thousand kilograms divided by three thousand six hundred seconds.
Because the intermediate is always kilograms per second, 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. Short tons, long tons, and volumetric flow units such as liters per second are intentionally out of scope so process, chemical, and mechanical users who expect mass SI and avoirdupois rates get predictable results.
Where mass flow conversions come up
Use the free in-browser mass flow rate converter when you need a quick kilograms-per-second-to-pounds-per-hour, grams-per-second-to-tonnes-per-hour, or pounds-per-hour-to-kilograms-per-second check while reading a process P&ID, boiler feedwater sheet, powder conveyor label, chemical dosing skid, or homework problem. Open the page, enter the number and units, and copy the result without installing a spreadsheet, a unit library, or a desktop calculator pack. 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 operators, technicians, and students expect on paper.
What you can do with it
Process and chemical plants
Convert kilograms per second and tonnes per hour to pounds per hour so P&IDs, mass balances, and vendor datasheets share one mass-flow language.
Boilers and feed systems
Translate steam and feedwater mass rates between kg/s, lb/h, and t/h when OEM sheets mix SI and customary labels.
FAQ
Which mass flow-rate units does this converter support?
Kilograms per second (kg/s), grams per second (g/s), pounds per hour (lb/h or lb/hr, avoirdupois), and metric tonnes per hour (t/h or tonne/h).
Are tonnes metric or short tons?
Short tons and long tons are not supported so t/h results stay unambiguous for SI mass flow.
How do I convert 1 kg/s to pounds per hour?
The response result field is the equivalent mass flow in pounds per hour, plus a kgs intermediate and a readable formula.
What happens if I send an unknown unit?
The message names the field and lists supported units. Validation failures are not charged.
Is the mass flow rate converter free?
The browser tool runs free on your device.
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/mass-flow-rate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":1,"from":"kg/s","to":"lb/h"}'const res = await fetch("https://api.kit.forhosting.com/conv/mass-flow-rate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": 1,
"from": "kg/s",
"to": "lb/h"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/conv/mass-flow-rate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": 1,
"from": "kg/s",
"to": "lb/h"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/conv/mass-flow-rate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":1,"from":"kg/s","to":"lb/h"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":1,"from":"kg/s","to":"lb/h"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/conv/mass-flow-rate", 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": "kg/s",
"to": "lb/h"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "conv.mass_flow_rate",
"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 kilograms per second, grams per second, pounds per hour, lb/hr, tonnes per hour, tonne/h, metric tons per hour, kgs, gps, pph, and tph 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 kilograms-per-second factor for the source, then divides by the kilograms-per-second 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 mass-flow 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, quantity, rate, and flow 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 kgs quantity in kilograms per second, the dimensionless factor from source to target, a short formula line suitable for UI display, the method tag mass_flow_rate_si_avoirdupois, 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. Large industrial plant rates and small laboratory dosing streams share the same code path, so extreme magnitude pairs remain well-defined as long as IEEE double precision can represent the intermediate kilograms-per-second product.
Browser use, API pricing, and everyday workflows
Switch to the prepaid API when a SCADA bridge, plant historian dashboard, batch-recipe tool, lab automation script, or engineering homework checker must convert mass flow 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 the volumetric flow converter when a product pipeline needs both mass and volume rate families, or call it alone when search traffic is specifically for mass flow rate conversion—kilograms per second, grams per second, pounds per hour, and tonnes per hour—rather than a general unit switchboard.
Integration use cases
Automation and lab pipelines
Normalize powder conveyors, dosing pumps, and SCADA tags to kg/s or lb/h in scripts with a prepaid, deterministic API contract.