Root-mean-square speed calculator
Oxygen at 32 g/mol and 298.15 K has a root-mean-square speed of 482.081135827716 m/s. Enter the molar mass in g/mol or kg/mol and the temperature in kelvin to get the rms speed with every substitution step. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- M
- 32
- T
- 298.15
- Molar mass
- 32
- Mass unit
- g/mol
- Molar mass kg per mol
- 0.032
- Creativity
- 298.15
Enter molar mass in grams per mole or kilograms per mole, temperature in kelvin, and optionally the gas constant; the tool converts mass to SI when needed, returns speed in metres per second, echoes inputs, and lists substitution steps you can paste into homework, lab notebooks, or automated tests. Non-positive kelvin is likewise rejected because absolute temperature must stay positive. Homework checks, exam prep, effusion comparisons, and coding kata expected values all need that same deterministic sqrt path without opening a computer-algebra system.
What root-mean-square molecular speed means
In the kinetic molecular theory of ideal gases, molecules move with a distribution of speeds at a fixed temperature. The root-mean-square speed is defined from the mean of the squared molecular speeds: it is the square root of the average of v squared, not the average of v itself.
Here R is the universal gas constant, T is absolute temperature on the kelvin scale, and M is the molar mass expressed in kilograms per mole when R is in joules per mole per kelvin so that the speed comes out in metres per second. Heavier gases at the same temperature have lower root-mean-square speeds; warmer samples of the same gas move faster.
Teachers and automated graders also care about domain checks: zero or negative molar mass cannot enter the denominator under the square root, and zero or negative kelvin is not a valid absolute temperature for this model. The check path recomputes three R T over M with the same fixed rounding used for published fields, so a successful response always ships with steps you can assert in tests or worksheets without floating surprises.
What you can do with it
Lab and process estimates
Quickly estimate typical molecular speeds at process temperature for effusion comparisons, vacuum design intuition, or pre-lab discussions without a spreadsheet.
FAQ
Should I enter molar mass in g/mol or kg/mol?
The solver converts g/mol to kg/mol before applying the formula.
Does this return average or most-probable speed?
Average speed uses √(8RT/πM) and most-probable speed uses √(2RT/M).
Is the root-mean-square speed calculator free?
The browser tool is free and runs locally.
How does temperature change the rms speed?
Warmer gas moves faster: the speed grows with the square root of absolute temperature. At the same temperature heavier gases are slower, because the molar mass sits in the denominator under the square root.
Which temperatures are accepted?
Only absolute temperatures above zero kelvin. Zero or negative kelvin is refused, and a Celsius reading must be converted to kelvin first, otherwise the speed would be meaningless.
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/chem/rms-speed \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"m":32,"t":298.15}'const res = await fetch("https://api.kit.forhosting.com/chem/rms-speed", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"m": 32,
"t": 298.15
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/rms-speed",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"m": 32,
"t": 298.15
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/rms-speed", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"m":32,"t":298.15}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"m":32,"t":298.15}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/rms-speed", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"m": 32,
"t": 298.15
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.rms_speed",
"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.
Limits
max_abs | 1000000000000 |
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
A root-mean-square speed calculator turns gas molar mass and absolute temperature into the kinetic-theory v_rms that textbooks write as the square root of three R T over M. When molar mass is zero or negative the formula is undefined or non-physical, so the API returns a clear invalid_input error instead of inventing a speed.
What root-mean-square molecular speed means
For an ideal gas that average connects directly to temperature and molar mass through the equipartition result three-halves R T per mole of translational kinetic energy, which rearranges to v_rms equals the square root of three R T divided by M. The quantity sits above the average speed and the most-probable speed in the Maxwell–Boltzmann ranking, which is why exam questions often ask specifically for v_rms rather than a vague “typical speed.”
How to call the API and what comes back
Molar mass must be strictly positive; zero and negative values are rejected. Temperature and the gas constant must also be strictly positive. Send a JSON body with two required finite numbers: m (aliases M, molar_mass, molarMass, mass, and molar_mass_g) for molar mass, and t (aliases T, temperature, temp, and kelvin) for absolute temperature in kelvin. Optionally include r (aliases R, gas_constant, and gasConstant); when omitted the solver uses 8.314462618 joules per mole per kelvin. Optionally set mass_unit (aliases molar_mass_unit, unit_m, and M_unit) to g/mol—the default, matching textbook values such as thirty-two for oxygen—or kg/mol for SI input. Absolute values must stay within the published limit of one trillion so intermediate products remain finite in IEEE double precision on the Worker and in the browser. On success the response echoes rounded m, t, and r, sets molar_mass, temperature, temperature_kelvin, and gas_constant mirrors, mass_unit, molar_mass_kg_per_mol after conversion, v_rms and rms_speed to the same rounded speed in m/s, unit_speed to the string m/s, formula to v_rms equals square root of three R T over M, law to kinetic_theory_rms, message to a short English summary, and steps to an ordered array of substitution lines including the g/mol to kg/mol conversion when that unit was used. Failed validation—missing fields, non-finite numbers, values outside absolute limits, zero or negative molar mass, non-positive kelvin or R, or a non-finite result—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, units, limits, and related searches
Convert Celsius to kelvin before calling the tool by adding two hundred seventy-three point one five, and never pass a temperature of zero or below on the absolute scale. Prefer the default R when you want metres per second; if you override R you must keep energy and mass units consistent with that choice. Prefer sending numbers rather than pre-formatted strings when you control the client; string numbers are accepted only when they match a strict finite numeric pattern. Keep molar mass positive: for oxygen use thirty-two with the default g/mol unit, or zero point zero three two with mass_unit set to kg/mol—do not mix the two conventions or the speed will be off by a factor of about thirty-one point six. When teaching, pair examples: oxygen at two hundred ninety-eight point one five kelvin with M equals thirty-two grams per mole yields a familiar few-hundred metres per second result; nitrogen near standard temperature with M equals twenty-eight grams per mole; hydrogen with a small molar mass shows a much larger v_rms at the same T; and m equals zero demonstrates the hard invalid_input path that guards division under the square root. This landing targets people searching for a root-mean-square speed calculator, v_rms from molar mass and temperature, or molecular RMS speed online; it is not an average-speed or most-probable-speed tool, not a mean-free-path calculator, and not a full Maxwell distribution plotter. Prefer this capability when you already have M and T in kelvin and only need v_rms; if your source gives Celsius, convert first. Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when learners deliberately set molar mass to zero. Round-trip checks are easy: convert M to kilograms per mole, recompute the square root of three R T over M by hand, and confirm it equals the published v_rms within the same twelve-decimal rounding.
Integration use cases
Homework checks for kinetic theory
Students enter molar mass and kelvin temperature from textbook problems and compare hand-written v_rms against a deterministic metres-per-second result before submitting.
Unit tests for gas-kinetics code
Generate known-good O2, N2, and H2 cases plus deliberate zero or negative molar-mass rejections for coding kata expected values.
Technical questions
What is the formula for root-mean-square speed?
For an ideal gas, v_rms = √(3RT/M), where R is the gas constant, T is absolute temperature in kelvin, and M is molar mass in kg/mol for SI (m/s when R is in J/(mol·K)).
What happens when molar mass is zero or negative?
The formula is undefined or non-physical. This tool returns invalid_input instead of computing a speed.