How to calculate your car or bike's real mileage (km/l)
Published 9 July 2026 · Bharometer Guides
The short answer
Fill your tank to the brim and note the odometer. Drive normally. At your next visit, fill to the brim again and note the odometer and the litres the pump dispensed. Your real mileage is:
Mileage (km/l) = kilometres driven ÷ litres added at the second full fill
Example: 400 km driven, 10 litres to refill to full → 40 km/l. This is called the full-tank or tank-to-tank method, and it is the only accurate way to measure mileage without engine instrumentation.
Why you need two full tanks
The equation above quietly relies on one fact: the fuel you added at the second fill equals the fuel you burned since the first. That is only true if the tank was at the same level both times. A fuel gauge cannot verify "exactly half" or "about a quarter" — but the pump's auto-cutoff can reproduce "brim-full" precisely, every time. The brim is not special mathematically; it is simply the only tank level an ordinary driver can hit twice on purpose.
Note what this does not require: you don't need to burn through two whole tanks of fuel, and the two fills don't need to be large. If the tank was already 90% full and topping it up takes half a litre, that still counts as a full fill. "Full" describes the tank's end state, not the quantity poured.
Why one fill-up can never tell you your mileage
Suppose your tank is around half full, you drive 200 km, then put in ₹500 of petrol (5 litres at ₹100/l). It is tempting to compute 200 ÷ 5 = 40 km/l — but the 5 litres was decided by your wallet, not by your engine. If you actually burned 4 litres over those 200 km, your true mileage was 50 km/l; if you burned 7, it was about 29. The same logged numbers are consistent with wildly different answers, which means no formula can extract mileage from them. The missing information is the tank level, and a full tank is how you pin it down.
A worked example
A hatchback with a 63-litre tank, topped up to full at odometer 24,000 km:
- Drives to Goa — 500 km — arriving with the tank part-empty.
- Fills to full in Goa: the pump dispenses 45 litres, odometer 24,500 km.
- Mileage = 500 km ÷ 45 l = 11.1 km/l.
- Cost per km at ₹100/l = ₹4,500 ÷ 500 km = ₹9/km.
If the Goa fill had not been to full, no exact figure would be possible — only a range. This is why serious fuel-tracking marks each fill-up as "full tank" or "partial".
What about partial fill-ups?
Partial fills (a ₹200 top-up that doesn't reach the brim) don't break the method — they just don't produce their own reading. The correct handling is bridging: accumulate the litres and kilometres across all partial fills, and close the calculation at the next full tank:
Mileage = total km between two full tanks ÷ (all partial litres + litres at the closing full fill)
Someone who does ₹500 top-ups all month and fills to full once still gets one accurate reading covering the whole month.
Common mistakes that corrupt the number
- Forgetting to log a fill-up. Missing fuel makes the result read too high. If you know you missed one, discard that stretch rather than trusting a wrong number.
- Trusting the fuel gauge. A "half tank" on the needle can be off by several litres — never use gauge positions as measurement points.
- Mixing odometer sources. Use the same odometer (not a trip meter you sometimes reset) for both readings.
- Comparing against the dashboard's display. Onboard consumption displays are typically optimistic — see our guide to finding your true average.
Or let the app do all of this
Bharometer applies the full-tank method automatically: mark each fill-up full or partial, and it bridges partials, guards against missed fill-ups, and turns every full tank into an honest km/l reading with trends over time — for petrol, diesel, CNG (km/kg) and EV.