A free barcode calorie scanner you can use in a browser
Scanning a barcode is the one step that makes logging food fast enough to keep doing. It is also the step that several popular trackers have moved behind a subscription, which leaves people searching for a scanner that still works without one. This page explains what a barcode scan actually does, how to do it for free in the browser you already have, and how to tell a scanner worth trusting from one that will hold your history hostage later.
What a barcode scan actually gets you
A food barcode is a product number and nothing else. There are no calories inside it. Scanning does two separate things: a decoder turns the bars into digits, and then something looks those digits up in a food database.
That split matters, because the two halves have very different costs. Decoding is free — your phone can do it without asking anyone. The lookup depends on which database is behind the app, and open food databases are free to read. So an app that charges for scanning is not passing on a bill; it has chosen the scanner as the thing to put behind a paywall because it is the feature people use most.
Scanning without installing anything
A modern browser can open the camera and decode a barcode on the page, with no app store in the middle. Open the scanner, allow the camera when the browser asks, and hold the barcode inside the window on screen.
Two practical notes. First, a browser will only ask for the camera over a secure (https) connection, so a page served any other way will not be able to scan at all. Second, Chromium-based browsers have a built-in barcode reader the page can use; Safari does not, so a web scanner needs its own WebAssembly decoder to work on an iPhone. Both routes decode on the device — no picture of your kitchen is uploaded to make a scan work.
Where the numbers come from, and how to check one
Most free scanners read Open Food Facts, a volunteer-edited database of packaged food. Its database is published under the Open Database License, the product contents under the Database Contents License and the images under Creative Commons Attribution-ShareAlike, and reusing any of it requires attribution on screen. A fair number of paid apps read the same database.
Volunteer-edited means both good and bad: coverage is wide and corrections are fast, and a figure can also be plain wrong. Two checks catch most of it. Nothing edible exceeds 900 kcal per 100 g, because fat — the densest of the three macronutrients at 9 kcal per gram — tops out there; a higher number is almost always kilojoules typed into the kilocalorie field. And protein, carbohydrate and fat cannot add up to more than 100 g inside 100 g of food. A scanner that shows you where a number came from and when the record was last edited lets you make those checks; one that just prints a figure does not.
Food with no barcode, and barcodes with no food
Generic food — a boiled potato, a chicken thigh, milk out of a jug — has no barcode at all. That belongs to a different kind of database: USDA FoodData Central, published by the United States Department of Agriculture and in the public domain, whose Foundation Foods and SR Legacy sets cover exactly these.
The opposite case is more common and more annoying: a real barcode that no database has yet, which happens constantly with supermarket own brands. The fix is not a better app, it is a good manual-entry screen. European labels are required to give a per-100 g column, so the four numbers you need are already printed on the pack; copying them takes about ten seconds. If you also add the product to Open Food Facts — on their site, with an account of their own — the next person to scan it gets it for nothing.
Four questions worth asking before you start logging
Can you export? A log you cannot get out as a file is a log you will lose. Check for CSV or JSON export, and check it is not itself a paid feature.
Is there a cap? "Free" sometimes means a handful of scans a day, which is a trial with no end date.
Where does your history live? On a server behind an account, or on your own device? Both are defensible, but only one of them keeps what you ate out of a company's database — and if it is on your device only, you are the backup, so export regularly. On an iPhone this is not optional advice: WebKit deletes a site's script-writable storage after seven days without interaction.
Does it tell you what to eat? Arithmetic against a figure you chose is a calculator. Everything beyond that is advice, and the person treating you is better placed to give it than an app is.
Frequently asked questions
Is there a barcode calorie scanner that is actually free?
Yes. Decoding happens on your own phone and the main food databases — Open Food Facts and USDA FoodData Central — are free to read, so a scanner has no per-scan cost to pass on. kcalkeep is free for that reason, with no account and no scan cap.
Do I need to install an app to scan a barcode?
No. A browser can open the camera and decode the barcode on the page over a secure connection. On Android and desktop Chrome the browser has its own barcode reader; on an iPhone the page brings its own decoder, which also runs on the device.
Why does the scanner sometimes find nothing?
Either the bars did not decode — more light, a flatter angle and filling the window usually fix it — or the number decoded fine and no database has that product yet. Own-brand and local products are missing most often. Typing the per-100 g numbers off the label takes about ten seconds.
More guides
Other things we made
Also in English, made by the same people.
Also in English, made by the same people.
Also in English, made by the same people.
Also in English, made by the same people.