Gallon to tons converter
Find the mass of a tank of water: one US gallon of water weighs 3.785411784 kg, which is 0.003785411784 metric tons, using the exact gallon and a density of 1 kg/L. Handy for pools, tankers and utility estimates. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Gallons
- 1
- Result
- 0.0037854118 t
- Tons
- 0.0037854118
- Mass tons
- 0.0037854118
- Kg
- 3.785411784
A gallon-to-tons converter turns a volume of water measured in US liquid gallons into a mass in metric tons using the standard density of water. Tanker drivers, pool contractors, municipal utilities, laboratory technicians, and students all need the same identity: mass equals volume times density. This tool multiplies US gallons by the exact liter equivalent of the US liquid gallon, applies a water density of one thousand kilograms per cubic metre (one kilogram per litre), and divides by one thousand kilograms per metric ton.
Why gallons of water convert to metric tons at a fixed density
A US liquid gallon is a volume; a metric ton is a mass. Those two quantities are not interchangeable without density, and the identity that connects them is mass equals volume times density. This landing uses the standard reference density of water, one thousand kilograms per cubic metre, which is exactly one kilogram per litre—the textbook value near four degrees Celsius where liquid water is densest.
Combined with the exact SI definition of the US liquid gallon—two hundred thirty-one cubic inches with the international inch exactly equal to 2.54 centimetres, hence 3.785411784 litres—the conversion collapses to a single multiply: metric tons equals gallons times 3.785411784 divided by one thousand, or gallons times 0.003785411784. That factor is definitional for this standard-density path, not a weather-dependent survey estimate.
Searchers who type gallon to tons almost always mean a tank, drum, pool, or tanker of water on the US customary volume scale, not a pile of gravel and not an imperial gallon. This landing therefore stays on US liquid gallons of water only. It does not convert imperial (UK) gallons, which are larger at 4.54609 litres and would overstate mass for a US tank.
It does not convert dry gallons used for some bulk commodities, and it does not guess seawater, brine, or slurry density.
Practical tips, checks, and related searches
Round-trip sanity checks are easy: convert one gallon and confirm you receive 0.003785411784 metric tons and 3.785411784 kilograms after rounding, convert one thousand gallons and confirm 3.785411784 tons, or convert zero and confirm zero. When teaching, show that multiplying the published tons by one thousand recovers the kilogram mass, and that dividing those kilograms by 3.785411784 recovers the original gallons within the same twelve-decimal rounding used for published fields. Stay inside the absolute range so the multiply cannot overflow into a non-finite result the solver must reject.
This landing targets people searching for gallon to tons, gallons of water to metric tons, or a water-density calculator; it is not a general multi-unit mass hub, not a US-short-ton path, not an imperial gallon converter, and not a cubic-yards-to-tons gravel tool. Prefer this capability when the input is already US gallons of water and you only need metric tons; if you must convert among many mass units in one call, use a broader mass converter instead.
When comparing tanker tickets across countries, remember that this tool multiplies volume by the standard freshwater density only and does not convert price per gallon into price per ton. Pin the rounded tons in tests, keep the density visible next to the input, and document that temperature and dissolved solids change real density so a laboratory figure beats this textbook constant when legal custody transfer is on the line.
What you can do with it
Tanker and bulk-water logistics
Turn a US-gallon tank or tanker reading into metric tons for bills of lading, axle-load checks, and SI inventory systems that store water mass, not volume.
Pools, cisterns, and municipal tanks
Convert pool, cistern, or standpipe gallonage into metric tons of water for treatment-chemical dosing, structural load estimates, and emergency-supply reports.
FAQ
What formula converts gallons of water to metric tons?
Metric tons = gallons × 3.785411784 / 1000. One US liquid gallon is 3.785411784 L; at 1000 kg/m³ (1 kg/L) that mass is 3.785411784 kg, and one metric ton is 1000 kg.
What water density does the converter use?
The standard reference density 1000 kg/m³, which is 1 kg/L. That is the textbook freshwater value near 4 °C. Seawater, brine, and hot water need a different density and are outside this landing.
Does this convert imperial (UK) gallons or US short tons?
No. Input is US liquid gallons of water only. Output is metric tons (tonnes) of 1000 kg, not the US short ton of 2000 lb. An imperial gallon is 4.54609 L and is not accepted here.
Is the gallon to tons converter free?
The browser tool is free and runs locally.
How many metric tons is 1000 gallons of water?
Exactly 3.785411784 metric tons, because each US gallon of water is 3.785411784 kilograms and a metric ton is 1000 kilograms. That makes the answer for a thousand-gallon tank easy to check by hand.
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/gallon-to-tons \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"gallons":1}'const res = await fetch("https://api.kit.forhosting.com/conv/gallon-to-tons", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"gallons": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/conv/gallon-to-tons",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"gallons": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/conv/gallon-to-tons", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"gallons":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"gallons":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/conv/gallon-to-tons", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"gallons": 1
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "conv.gallon_to_tons",
"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
Enter a finite gallon volume; the response returns tons, kilograms, the fixed factor, a short formula, and ordered substitution steps you can paste into a notebook. Missing or non-finite volume fails with a clear invalid_input error instead of inventing a mass.
How to call the API and what comes back
Absolute values must stay within the published limit of one trillion. Prefer bare numbers when you control the client; string numbers are accepted only when they match a strict finite numeric pattern without unit symbols, thousand separators, or currency marks attached to the value. Send a JSON body with one required finite number field named gallons. Aliases volume, gal, gallon, value, us_gallons, and gallons_value are accepted so SDK clients and form posts can use the name that fits the product. On success the response echoes rounded gallons, sets tons, mass_tons, and result to the same rounded metric-ton magnitude, kg to the intermediate mass in kilograms, unit to the token t, from_unit to gal and to_unit to t, factor and tons_per_gallon to 0.003785411784, liters_per_gallon to 3.785411784, water_density_kg_per_m3 to 1000, kg_per_metric_ton to 1000, formula to the string tons equals gallons times 3.785411784 times 1 kg/L over 1000, message to a short English summary, and steps to an ordered array of substitution lines that show the US liquid definition, the water density, and the two-step apply. Failed validation—missing fields, non-finite numbers, bare plus or minus signs, non-numeric strings, values outside absolute limits, or a non-finite converted result—returns invalid_input and is never charged. Pricing is a flat $0.002 per successful request with unit item.
Practical tips, checks, and related searches
Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when learners deliberately omit gallons or pass text placeholders while debugging their client code.
Integration use cases
Homework and unit-test fixtures
Students and engineers convert classroom gallon volumes of water to metric tons and pin golden JSON so browser and API arithmetic never drift.
Technical questions
What happens on missing or non-numeric input?
The API returns invalid_input naming the problem (for example a missing gallons field or a volume that is not a finite number). Failed tasks are not charged.