Molecular formula from empirical calculator
Enter 180.156 g/mol for the compound and 30.026 g/mol for the empirical formula, and the calculator returns the multiplier 6 that turns CH2O into C6H12O6. It also checks that the ratio really is a whole number. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Empirical formula mass
- 30.026
- Molar mass
- 180.156
- Ratio
- 6
- Multiplier
- 6
Once you know the empirical formula mass and the experimental molar mass of a compound, the remaining step in many general-chemistry problems is finding the whole-number multiplier that turns the empirical formula into the molecular formula. The relationship is simple and classical: n equals the molecular molar mass divided by the empirical formula mass, and n must be a positive integer within ordinary lab rounding. This calculator accepts those two masses in grams per mole, returns the integer multiplier together with the raw ratio for audit, and fails clearly when the empirical mass is zero so division by zero never leaks into a spreadsheet or grading pipeline.
How the molecular formula multiplier is defined
An empirical formula reports the simplest whole-number ratio of atoms in a compound, for example CH2O for a carbohydrate skeleton. The empirical formula mass is the molar mass of that simplest unit, often computed by summing standard atomic weights for each element count. The molecular formula is a whole-number multiple of the empirical formula: multiply every subscript by the same positive integer n.
Chemists obtain n from mass data alone when both masses are already known: n equals M_molecular divided by M_empirical. In exact arithmetic the quotient is an integer such as two, three, or six; in floating-point classroom data a small absolute tolerance absorbs rounding from atomic weights and instrument precision. If the ratio is not near a positive integer, the inputs are inconsistent with a single molecular formula at the stated precision and should be rechecked rather than silently rounded to a wrong n.
Empirically, zero mass is undefined for this ratio: dividing by zero would produce Infinity or NaN, neither of which is a valid multiplier for scaling subscripts. Non-positive molar mass is likewise rejected because real pure compounds have positive molar mass. The result includes both the cleaned raw ratio and the integer multiplier so teachers can show the intermediate division and the final n side by side.
Where mass-ratio multipliers show up in real work
General chemistry courses constantly assign two-step molecular formula problems: first find the empirical formula from percent composition, then divide experimental molar mass by empirical mass to obtain n and scale the formula. When students already computed both masses on paper, they still want a trusted oracle for the division and integer check before writing C6H12O6. Laboratory sections that measure molar mass by freezing-point depression, vapor density, or mass spectrometry often have M_emp from elemental analysis software and only need the multiplier step without re-parsing a formula string.
Tutoring sites and SEO landings for the query molecular formula from empirical calculator need a page dedicated to that search intent rather than a heavier tool that also parses element symbols. If you later need formula-string parsing, atomic-weight summation, percent-composition workflows, or full molecular formula construction from CH2O-style text, treat those as separate search intents and landings rather than overloading this mass-ratio calculator page.
What you can do with it
Homework multiplier checks
Confirm n = M / M_emp for textbook pairs such as 180.156 / 30.026 → 6 before students scale empirical subscripts to the molecular formula.
Lab molar-mass validation
When elemental analysis already gave empirical mass, use measured compound molar mass alone to recover the whole-number multiplier without re-entering a formula string.
FAQ
What is the molecular formula multiplier?
It is the positive whole number n such that the molecular formula equals n times the empirical formula. Numerically, n = M_molecular / M_empirical when both masses are in g/mol.
What happens if empirical mass is zero?
Division by zero is undefined; provide a positive empirical formula mass in g/mol.
Do I need to send a chemical formula string?
For parsing a formula like CH2O into a molecular formula string, use a dedicated molecular formula tool.
What if the mass ratio is not a whole number?
Recheck experimental molar mass, atomic weights, and rounding before forcing a multiplier.
What does it cost?
The browser tool is free and runs locally.
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/molecular-from-empirical \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"empirical_mass":30.026,"molar_mass":180.156}'const res = await fetch("https://api.kit.forhosting.com/chem/molecular-from-empirical", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"empirical_mass": 30.026,
"molar_mass": 180.156
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/molecular-from-empirical",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"empirical_mass": 30.026,
"molar_mass": 180.156
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/molecular-from-empirical", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"empirical_mass":30.026,"molar_mass":180.156}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"empirical_mass":30.026,"molar_mass":180.156}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/molecular-from-empirical", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"empirical_mass": 30.026,
"molar_mass": 180.156
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.molecular_from_empirical",
"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
Students checking glucose-style examples, lab techs validating mass-spectrometry molar masses, and curriculum authors wiring auto-graders all share one deterministic pure function in the free browser tool and the paid API, with no network calls, no random seeds, and no model drift between classroom demos and scripted bulk checks.
How the molecular formula multiplier is defined
The calculator therefore validates both fields as finite numbers, enforces empirical_mass greater than zero and molar_mass greater than zero, computes the ratio, rounds to the nearest integer, and accepts only when the absolute residual stays within the declared tolerance. Everything is pure deterministic arithmetic: identical masses always yield identical JSON with no timestamps, no network, and no external tables.
What you send and what you get back
Send two required numeric fields. Negative empirical mass or non-positive molar mass also fail. Classic checks include one hundred eighty point one five six over thirty point zero two six giving multiplier six, and sixty over thirty giving multiplier two for a simple dimer-style case. The field empirical_mass is the empirical formula mass in grams per mole, for example thirty point zero two six for CH2O using common textbook atomic weights. The field molar_mass is the molar mass of the molecular compound in the same units, for example one hundred eighty point one five six for glucose-class problems where n equals six. Both may arrive as JSON numbers or as numeric strings; empty strings, NaN, and Infinity fail with invalid_input and are not charged. When empirical_mass is exactly zero the request fails with a clear message that empirical mass cannot be zero, because the multiplier n equals M over M_emp is undefined. When the ratio is not a whole number within plus or minus zero point zero two, the request fails with a message that the molar mass is not a whole multiple of the empirical mass, quoting the computed ratio for debugging. On success the response echoes the cleaned empirical_mass and molar_mass, the floating-point ratio, the integer multiplier, unit labels for each field, a method tag mass_ratio_integer_multiplier, and a printable formula string stating n equals M_molecular over M_empirical. Pricing for successful API calls is the published base of $0.002 per item; validation failures do not consume prepaid balance.
Where mass-ratio multipliers show up in real work
Curriculum platforms and LMS plugins prefer a minimal JSON contract with two numbers so auto-graders can score only the mass-ratio skill in isolation. Research notebooks and inventory scripts that already store empirical_mass and molar_mass columns can call this capability in bulk and store multiplier for downstream formula builders. Because this capability is a pure parse engine, API pricing is the published base of $0.002 per successful item and failed validation does not consume balance.
Integration use cases
Auto-grader fixtures
Bulk-produce integer multipliers and hard-fail zero empirical mass or non-integer ratios so LMS pipelines never accept Infinity or silent wrong n.