Nutrition labels and food-tracking apps do not always use the same units.

A carton may describe a food in millilitres, while your tracking app asks for grams. A recipe may call for 200 ml, while a database entry gives nutrition per 100 g.

The important point is that millilitres measure volume and grams measure mass. They are different quantities, and there is no universal conversion that works for every food.

For water, 1 ml is approximately 1 g. For many other foods, density changes the relationship.

The basic relationship

To convert volume into mass, you need the food's density:

grams = millilitres × density in g/ml

For example, if a liquid has a density of 1.03 g/ml:

200 ml × 1.03 = 206 g

If another food has a density of 0.90 g/ml:

200 ml × 0.90 = 180 g

The same 200 ml volume can therefore represent different weights depending on the food.

When is 1 ml approximately 1 g?

For water:

100 ml ≈ 100 g

This approximation is useful because water has a density close to 1 g/ml under ordinary kitchen conditions.

Some water-based foods and drinks may also be close enough to 1 g/ml that the difference is small for everyday tracking.

But this should not become a universal rule.

Foods such as:

  • oils;
  • syrups;
  • honey;
  • cream;
  • concentrated sauces;
  • nut butters;

can differ substantially from water.

If accurate product information is available, use it instead of assuming 1 ml = 1 g.

Why density matters

Imagine two foods, both measured as 100 ml.

Food A has a density of 0.92 g/ml:

100 × 0.92 = 92 g

Food B has a density of 1.25 g/ml:

100 × 1.25 = 125 g

If your database gives calories per 100 g, entering both as 100 g would introduce different errors.

Density is therefore not a technical detail when converting between volume and weight. It is the factor that connects the two units.

Use the package before searching for a conversion

Before looking up density, inspect the product label.

A package may already give enough information to avoid conversion entirely.

For example, it may state:

  • 250 ml per serving;
  • 260 g net weight;
  • nutrition per 100 ml;
  • nutrition per 100 g;
  • both volume and weight for one serving.

If nutrition is given per 100 ml and you know how many millilitres you consumed, you do not need to convert to grams just to calculate calories.

Suppose a drink contains 64 kcal per 100 ml and you consume 180 ml:

180 × 64 ÷ 100 = 115.2 kcal

You can calculate the nutrition directly from volume.

For more on using labels, see How to Read a Nutrition Label for Calorie and Macro Tracking.

If your app accepts only grams

Sometimes the label uses millilitres but the app entry accepts only grams.

Use this order of preference:

  1. Look for an equivalent database entry that uses millilitres.
  2. Check whether the package gives both volume and weight.
  3. Use a reliable product-specific density or conversion.
  4. Use a reasonable approximation only when better information is unavailable.

Do not invent an exact conversion from volume to weight without knowing something about the food.

Converting from package volume and weight

If a package provides both total volume and total weight, you can calculate an effective conversion for that product.

Suppose a container states:

500 ml = 515 g

Density:

515 ÷ 500 = 1.03 g/ml

If you consume 180 ml:

180 × 1.03 = 185.4 g

You can log approximately 185 g in an app that requires grams.

This is often more useful than using a generic conversion because it comes from the actual product.

Milk example

Milk is close to water in density, but it is not exactly identical.

Suppose the product information indicates approximately 1.03 g/ml.

For 250 ml:

250 × 1.03 = 257.5 g

If you simply entered 250 g, the difference would be around 7.5 g.

For many everyday tracking situations, that difference may have little practical effect. But if the exact product label already gives nutrition per 100 ml, calculating directly from millilitres is simpler and avoids unnecessary conversion.

Cooking oil example

Oil illustrates why 1 ml = 1 g cannot be used universally.

A typical cooking oil has a density below 1 g/ml.

If an oil has a density of approximately 0.92 g/ml:

15 ml × 0.92 = 13.8 g

Entering 15 ml as 15 g would slightly overstate the weight.

The difference becomes larger as the amount increases.

For 100 ml:

100 × 0.92 = 92 g

Use the nutrition label and product information when available because density can vary between oils and with temperature.

Honey and syrups

Honey and dense syrups can weigh considerably more than water for the same volume.

If a product has a density of 1.40 g/ml:

20 ml × 1.40 = 28 g

Treating 20 ml as 20 g would underestimate the amount by 8 g.

This is why spoon measurements can become misleading when they are converted directly into grams without considering the ingredient.

If you can weigh the ingredient directly, weighing is usually simpler than calculating density.

The easiest solution at home: use a scale

When you physically have the food, you often do not need to convert anything.

Place the container on a kitchen scale, tare it, and pour the amount you intend to use.

The scale gives you the grams directly.

This works particularly well for:

  • milk;
  • yoghurt;
  • sauces;
  • oils;
  • syrups;
  • liquid ingredients used in recipes.

If your app accepts grams, the scale removes the need to estimate density.

Weighing what you actually consumed

You can also use subtraction.

Suppose a bottle weighs 780 g before use and 642 g afterward.

Amount used:

780 − 642 = 138 g

You can log 138 g directly if your nutrition entry is weight-based.

This approach is useful for foods poured from a larger container because it measures the amount actually removed.

What about tablespoons and teaspoons?

Spoons are volume measurements, not weight measurements.

A tablespoon is commonly standardized at 15 ml in many nutrition and recipe contexts, although kitchen conventions can vary by country.

Even when the spoon volume is known, its weight depends on what is inside it.

For example:

15 ml water ≈ 15 g

but 15 ml of oil weighs less, while 15 ml of a dense syrup can weigh more.

Therefore:

tablespoons → millilitres → grams

requires a density or product-specific conversion at the final step.

Do not assume one tablespoon equals the same number of grams for every ingredient.

Cups have the same problem

A cup measures volume.

The weight of one cup depends on:

  • the ingredient;
  • how densely it is packed;
  • whether it contains air spaces;
  • the cup standard being used.

This becomes especially important for dry foods such as flour, oats, sugar or grated ingredients.

If a recipe provides both cups and grams, use grams when you want repeatable nutrition calculations.

If only volume is provided, use a reliable conversion for that specific ingredient rather than a generic cup-to-gram rule.

Liquids versus dry foods measured by volume

The same principle applies to both, but dry foods can be even more variable.

For a liquid, density may be relatively consistent.

For dry foods, a measuring cup can contain different weights depending on:

  • particle size;
  • packing;
  • settling;
  • preparation;
  • whether the ingredient is chopped, whole or powdered.

For example, one cup of whole nuts and one cup of finely ground nuts do not necessarily represent the same weight.

When a recipe's nutrition matters, direct weighing is usually preferable.

Do not convert if you do not need to

Unit conversion can create unnecessary complexity.

Suppose a yoghurt label gives:

72 kcal per 100 g

and your scale shows 165 g.

Use:

165 × 72 ÷ 100 = 118.8 kcal

There is no reason to convert the yoghurt into millilitres.

Likewise, if a drink label gives nutrition per 100 ml and you consume 250 ml, calculate directly from millilitres.

Use conversion only when your source unit and tracking unit genuinely differ.

What if the database entry uses the wrong unit?

First look for a better matching entry.

A product-specific entry using the correct unit is usually preferable to converting a generic food unnecessarily.

If no suitable entry exists:

  1. identify the food precisely;
  2. determine the amount in the unit you actually measured;
  3. find a reliable conversion for that specific food;
  4. convert once;
  5. save the resulting custom entry if your app allows it.

This reduces repeated conversions and helps keep future entries consistent.

Avoid false precision

Density can change slightly with temperature, formulation and product composition.

For normal food tracking, you rarely need laboratory-level precision.

If a conversion gives 185.37 g, logging 185 g is usually more meaningful than pretending the hundredths of a gram are exact.

The goal is a reasonable representation of what you consumed.

A reliable approximate conversion is useful. A highly precise-looking number based on an uncertain assumption is not.

Quick decision guide

Situation Best approach
Label gives kcal per 100 ml and you know ml consumed Calculate directly from ml
Label gives kcal per 100 g and you can weigh the food Use the scale
Package gives both ml and g Derive the product-specific conversion
App requires grams but you know only ml Use reliable density
Food is water or very close to water 1 ml ≈ 1 g may be a practical approximation
Oil, syrup, honey or another dense/light liquid Do not assume 1 ml = 1 g
Dry food measured in cups Use ingredient-specific conversion or weigh it
Exact conversion is unavailable Use a reasonable estimate and avoid false precision

A practical rule for food tracking

When units do not match, ask three questions:

  1. Can I use the nutrition information in the unit I already have?
  2. Can I weigh the food directly?
  3. If not, do I have a reliable density or product-specific conversion?

Only convert when the answer to the first two questions is no.

This keeps tracking simpler and avoids one of the most common unit mistakes: treating millilitres and grams as interchangeable for every food.

Sources