Show HN: OpenNutrition – A free, public nutrition database

opennutrition.app

311 points by joshdickson 8 days ago


Hi HN!

Today I’m excited to launch OpenNutrition: a free, ODbL-licenced nutrition database of everyday generic, branded, and restaurant foods, a search engine that can browse the web to import new foods, and a companion app that bundles the database and search as a free macro tracking app.

Consistently logging the foods you eat has been shown to support long-term health outcomes (1)(2), but doing so easily depends on having a large, accurate, and up-to-date nutrition database. Free, public databases are often out-of-date, hard to navigate, and missing critical coverage (like branded restaurant foods). User-generated databases can be unreliable or closed-source. Commercial databases come with ongoing, often per-seat licensing costs, and usage restrictions that limit innovation.

As an amateur powerlifter and long-term weight loss maintainer, helping others pursue their health goals is something I care about deeply. After exiting my previous startup last year, I wanted to investigate the possibility of using LLMs to create the database and infrastructure required to make a great food logging app that was cost engineered for free and accessible distribution, as I believe that the availability of these tools is a public good. That led to creating the dataset I’m releasing today; nutritional data is public record, and its organization and dissemination should be, too.

What’s in the database?

- 5,287 common everyday foods, 3,836 prepared and generic restaurant foods, and 4,182 distinct menu items from ~50 popular US restaurant chains; foods have standardized naming, consistent numeric serving sizes, estimated micronutrient profiles, descriptions, and citations/groundings to USDA, AUSNUT, FRIDA, CNF, etc, when possible.

- 313,442 of the most popular US branded grocery products with standardized naming, parsed serving sizes, and additive/allergen data, grounded in branded USDA data; the most popular 1% have estimated micronutrient data, with the goal of full coverage.

Even the largest commercial databases can be frustrating to work with when searching for foods or customizations without existing coverage. To solve this, I created a real-time version of the same approach used to build the core database that can browse the web to learn about new foods or food customizations if needed (e.g., a highly customized Starbucks order). There is a limited demo on the web, and in-app you can log foods with text search, via barcode scan, or by image, all of which can search the web to import foods for you if needed. Foods discovered via these searches are fed back into the database, and I plan to publish updated versions as coverage expands.

- Search & Explore: https://www.opennutrition.app/search

- Methodology/About: https://www.opennutrition.app/about

- Get the iOS App: https://apps.apple.com/us/app/opennutrition-macro-tracker/id...

- Download the dataset: https://www.opennutrition.app/download

OpenNutrition’s iOS app offers free essential logging and a limited number of agentic searches, plus expenditure tracking and ongoing diet recommendations like best-in-class paid apps. A paid tier ($49/year) unlocks additional searches and features (data backup, prioritized micronutrient coverage for logged foods), and helps fund further development and broader library coverage.

I’d love to hear your feedback, questions, and suggestions—whether it’s about the database itself, a really great/bad search result, or the app.

1. Burke et al., 2011, https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3268700/

2. Patel et al., 2019, https://mhealth.jmir.org/2019/2/e12209/

Cheer2171 - 8 days ago

> Final nutritional data is generated by providing a reasoning model with a large corpus of grounding data. The LLM is tasked with creating complete nutritional values, explicitly explaining the rationale behind each value it generates. Outputs undergo rigorous validation steps, including cross-checking with advanced auditing models such as OpenAI’s o1-pro, which has proven especially proficient at performing high-quality random audits. In practice, o1-pro frequently provided clearer and more substantive insights than manual audits alone.

This is not a dataset. This is an insult to the very idea of data. This is the most anti-scientific post I have ever seen voted to the top of HN. Truth about the world is not derived from three LLMs stacked on top of each other in a trenchcoat.

yamihere - 8 days ago

>> User-generated databases can be unreliable

>> Foods discovered via these searches are fed back into the database,

Aren’t LLMs also unreliable? How do you ensure the new content is from an authoritative, accurate source? How do you ensure the numbers that make it into the database are actually what the source provided?

According to the Methodology/About page

>> The LLM is tasked with creating complete nutritional values, explicitly explaining the rationale behind each value it generates. Outputs undergo rigorous validation steps,

Those rigorous validation steps were also created with LLMs, correct?

>> whose core innovations leveraged AI but didn’t explicitly market themselves as “AI products.”

Odd choice for an entirely AI based service. First thought I had after reading that was: must be because people don’t trust AI generated information. Seems disengenuous to minimize the AI aspect in marketing while this product only exists because of AI.

Great idea though, thanks for giving it a shot!

lm28469 - 8 days ago

The search is broken on safari, every time it refreshes you lose the focus on the text input, which means you have to click on the search bar after every single character you type. The filters are broken, type "chocolate", chose the M&M's brand, none of the labels return a result despite showing (xxx)

> I wanted to investigate the possibility of using LLMs

ah, yeah, I guess it makes sense then...

bhatfiel - 8 days ago

LLM generated nutrition for accuracy.

The first item I manually look up is has about double calories listed in the "dataset" versus reality. Honey bunches of oats honey roasted.

johnisgood - 8 days ago

Just at a quick glance...

How can a large egg (50 g) contain 147 g choline?

https://www.opennutrition.app/search/eggs-eeG7JQCQipwf

Additionally, on https://www.opennutrition.app/search/brown-lentils-VwKWF7CQq... it says:

> Unlike larger legumes, they require no pre-soaking and cook in 20-30 minutes, making them ideal for soups, stews, and salads

That is not necessarily true. Based on my experience, it does require pre-soaking, otherwise you will have to cook it for a long time, as opposed to red lentils (which is done under 15 minutes, no pre-soaking needed), although red lentils taste more like yellow peas.

In any case, I think this could be really useful, once accurate enough. One could even implement other features on top, such as a calorie tracker and so forth, but that is a huge project on its own.

I wish you luck!

diggan - 8 days ago

As this seems US focused, I'll share an alternative that works really well with European products (and a lot of US ones too, apparently): https://yuka.io/en/

Really easy to use (just scan the barcode and you get easily digested data about the product) has every product imaginable, also analyzes cosmetics and best of all, all the basic functionality is free.

Not affiliated, been using it for years at this point and now it's an essential partner when going shopping. That they let people decide their own premium pricing per year is just icing on the cake.

briandoll - 8 days ago

Real and open nutritional datasources exist: https://support.cronometer.com/hc/en-us/articles/36001823947...

adamas - 8 days ago

What's the main difference between this and OpenFoodFacts really ?

octotep - 8 days ago

Overall, very cool and seriously much needed! How does the micronutrient estimation work? Or is that part of the secret sauce?

I was looking at this page: https://www.opennutrition.app/search/original-shells-cheese-... and saw the amino acid, vitamin, and mineral sections; there are many things listed which aren't covered by the official nutritional data. These entries also have very precise numbers but I'm not sure where and how they're derived and if I could put any serious weight in them. I'd love to hear more if you're willing to share!

insane_dreamer - 8 days ago

A free public nutritional database is a great idea -- needed and useful.

But _not_ one generated by LLMs; at least not LLMs in their current state.

Rooster61 - 8 days ago

Does this have an API? Reason I ask, I would kill to have a dynamic recipe scanner that could plug into recipe databases (namely ones that can accurately scrape recipes from the web) and instantly give you a nutritional rundown of the ingredients, as well as any changes to the nutrition that could occur due to the cooking process. It would make tracking what I eat a breeze, and really give solid insight into the macros and micros I'm consuming.

Also, why the app focus? Having the main functionality exist in the Apple/Android store space rather than as a SaaS option seems like an interesting choice.

monkburger - 8 days ago

There’s an important caveat to keep in mind when it comes to food databases, especially those relying on branded or restaurant items:

U.S. law does not require food manufacturers to disclose everything that goes into their products. Under the Code of Federal Regulations (21 CFR § 101.100), there are exemptions to ingredient labeling... An example: flavorings, spices, and incidental additives (like processing aids or anti-caking agents) are not always listed explicitly. Also: proprietary blends and "natural flavors" can legally conceal dozens of chemicals (some synthetic), which consumers have no way of identifying.

Micronutrient data is often estimated or missing from labels and restaurant menus, which limits the accuracy of even the best-intentioned databases. Studies show that the nutritional information provided by restaurants and brands is frequently incomplete or inaccurate, especially when it comes to sodium, sugar, and actual serving sizes. (Urban et al. "The Energy Content of Restaurant Foods Without Stated Calorie Information" ; Labuza et al., 2008 and others)

IMO Food databases are only as accurate as the source data allows. Until food labeling laws mandate full disclosure and third-party verification, apps like this can support health awareness. Still, they shouldn't be treated as precise medical or dietary guidance—particularly for people with allergies, sensitivities, or chronic health conditions that require strict tracking.

kekub - 8 days ago

The Swiss Food Composition Database (https://naehrwertdaten.ch/en/) is an exceptional resource for detailed nutritional information on over 1,100 foods available in Switzerland but also around the world. It offers comprehensive data on macronutrients, micronutrients, and fat composition.

Maybe that would be a good source to challenge and validate the values provided by your LLM approach.

neilv - 8 days ago

Small objections to the licensing terms, and the name...

I've recently been considering making my own open source nutrition app, (since every single one I've looked at seems to either violate my privacy&security, or is designed/works very poorly), but the available "open" nutrition info databases for bootstrapping have seemed poor.

So I looked at the license of this database, and the idea of making it "open" is good and maybe appropriate. But the attribution requirements to promote this other, commercial, product are a little annoying. And could also be a little confusing in app store listings.

> Attribution Requirements: If you display or use any data from this dataset, you must provide clear attribution to "OpenNutrition" with a link to https://www.opennutrition.app in:

> * Every interface where data is displayed

> * Application store listings

> * Your website

> * Legal/about sections

Additionally, I've soured on single companies that call themselves "open". "Open" has a few-decades history in computers, as everyone realized the dangers and costs of proprietary lock-ins, and so created concepts such as "open systems" and "open standards". Appropriating the "open" term for a single company, for something more proprietary than open (like the very proprietary OpenAI that's mentioned many times in https://www.opennutrition.app/about ), rubs a bit the wrong way.

papa_bear - 8 days ago

This is neat. I've spent a lot of time thinking about implementing something similar for my company Eat This Much, but end up pushing it off in favor of focusing on our core meal planning features.

When something doesn't have a reference listed, and just says "sourced from a publicly available first-party datasource", what does that mean? Crawled from other sources and you'd prefer not to say? The wording does feel a little sketchy when contrasted with entries that do list sources.

When something does list references that don't seem super close to the actual food, what is the process like there for interpreting those values? Example, this Chicken Salad inheriting from Chicken Spread: https://www.opennutrition.app/search/chicken-salad-37mAX17YX...

The quality of the data might feel rough now, but I can see this being valuable for our users even if it's just an opt-in "show estimated micronutrients" or something. Would require labeling values as not being directly from a source of truth.

One thing that a lot of people are missing is that there is already a lot of inaccurate nutrition data out there. Even on information directly from the manufacturer, sometimes there are errors, or just old versions of the product that never get scrubbed from the internet (I imagine the latter case would be tricky for an LLM to deal with too). Just logging your dietary intake in any form will get you 80% of the benefit of tracking via some self awareness of your intake. Of course, it's an easy argument to point out that if you had the choice between verified data and fuzzy LLM data, you should go for the human verified data (for now).

ouroumov - 8 days ago

Thanks! I've got an error after scrolling the result page for "kidney beans" on Chrome, it blanks the display with the message: Application error: a client-side exception has occurred (see the browser console for more information).

Could you possibly add an option to see the nutrient content per 100g serving? This is way more usefull to Europeans than something like a cup as a unit.

reverendsteveii - 8 days ago

Took a minute to find things that are in the DB, but once I did this is pretty slick. If I can join the endless queue of feature requests, the ability to scale the portion size and update the nutrition facts would be great. I've been tracking my macros daily for about 18 months and for me to hit my protein and stay under my calories I do a lot of what I call speculative food tracking. Sitting on the couch, thinking about a snack, if I go into the kitchen without a plan I'm gonna eat a lot of unintentional things but if I can go "okay, I have about 300 calories to spare and I'm short 40g protein today, so I can put 5 oz chicken breast on a 60 calorie wheat pita with some hot sauce for (calorie) free flavor and I'll win today".

Also IDK where AI is wrt automated scraping but I've had some success feeding recipes into AI and getting the nutrition facts out. The ability to plop a URL in and get a scraped recipe with a name and nutrition facts would be immense.

hombre_fatal - 8 days ago

Pretty slick website. I also love how you using AI to generate all the food icons. It's so, so much nicer than just visually comparing text.

When I first found Cronometer and started using it daily, I did what every developer does and looked at what kind of data exists out there if I wanted to build my own app. The free data from the FDA was pretty bad/limited with massive holes and it would have taken a lot of effort to clean up.

Of course, Cronometer's best data comes from https://www.ncc.umn.edu/food-and-nutrient-database/.

Maybe you can sample your data and validate it against NCC's data via Cronometer to see if your LLM approach has legs when it comes to micronutrients and amino acids. And note that you have AIgen data that NCC's hand-measured database doesn't even have reliably, like choline, which seems like a red flag.

tjpnz - 8 days ago

I've been tracking my daily calorie intake on a spreadsheet for the past three months and have had some success losing weight through it. If you do it right it will shine a light on the seemingly inconsequential food items which are setting you back. For me it was the Japanese milk teas which I was able to quickly eliminate.

The big thing I've realized through this exercise is just how much of a creature of habit I am. Inputting what I've eaten over the previous day is mostly copying and pasting rows from previous days sheets, and I suspect I could simplify input even further. Most people would be in a similar position and should be able to build their own lists by reading the nutritional information already available. When that's not available It doesn't necessarily I found r/caloriecount to be a useful resource. It need not be perfect either, just as long as you're doing it consistently.

andy_ppp - 8 days ago

I think this is great and I was thinking about doing the same thing, you could use a few different LLMs to do a kind of adversarial check of calories for a thing and use a load of other techniques to improve the dataset over time. It's hardly as if the dataset in something like MyFitnessPal is completely perfect. You could probably figure out boundaries too so if we know 100g of a food does the protein/fat/carbs/sugar/fibre/water etc. content wildly exceed the boundaries/totals you could get it to review it's findings, ignore that LLM, fill in from a different food db etc. etc.

Incidentally o3-mini-high got the fried breakfast I added to a tracking app this morning within 50 calories!

probotect0r - 8 days ago

I have been looking for something like this! I really like the interface. I wish I could click on the picture to enlarge it, so I can confirm that what I am looking for is what I am looking at. For example, we use 3-4 types of lentils and I am not sure if "brown lentil" in the database is the same brown lentil I have at home. I also really liked that I was able to search for "masoor" and the results showed red lentils; often I don't know the English name for something so it's hard to search.

Also, there is an error on this page for me: https://www.opennutrition.app/search?search=Goya

jackblum - 7 days ago

If you’re into open food datasets, OpenNutrition is worth a look — it’s not as big as Open Food Facts, but the data is cleaner and more focused. This breakdown helped me get a sense of what it offers:

https://thedatabasesearch.com/trade_ad/opennutrition-food-da...

- 8 days ago
[deleted]
CartwheelLinux - 8 days ago

Very cool site, great implementation.

Calorie burn is dependent on weight and body fat. Individuals who are x+25kg will burn way more calories than x.

For users who come to this site to supplement their weight loss information might be misinformed in their journey, or worse,use it as a primary source and become discouraged because their idea of calorie loss is a little skewed due to the conservative numbers currently shown.

emillykkeg - 7 days ago

This is really nice. I will bookmark this project! One small thing is that the first letter I type gets deleted on the https://www.opennutrition.app/search page if I type fast. Like pancakes.

jsmo - 8 days ago

Tried searching for "Carrot", took about 4 seconds then displayed "Something went wrong". Dark mode is helpful!

ehaveman - 8 days ago

when i track nutrition i always get stuck on things like "are the values for a chicken thigh with the bone in or out? do i weigh the meat pre-cooked or after i cook it? do i weigh the bones after i'm done eating and subtract that from the initial weight?" im probably overthinking it.

love the look and i'll keep playing with it but right off the bat i ran into a couple issues:

when i start typing on the search box on the home page it eats the first character (so as i type chicken, what shows up in the next screen's search field is just 'hicken'). and when i search for chicken thigh i don't get any results - seems to just stop filtering? when i press enter in the search field when "chicken thigh" is entered i get a "something went wrong" error.

lippihom - 5 days ago

HN data bashing aside in this thread - very slick site. Quick, responsive, snappy, easy to use. Nice design through and through.

robertlagrant - 8 days ago

It looks good. Do you have a way to differentiate food in different locations? E.g. 500ml Coke in the UK vs US might be different.

(Also I type in Can of coke and it has no results, which is probably an annoying thing to have to map to 330ml Coke, but might be useful on the todo list!)

sputknick - 8 days ago

I like the concept, but I think a more reliable/less compute intensive way to implement it would be too use AI to call up non -AI data. I could just type in "some red beans and rice" and the LLM parses what I mean, and retrieves stored verified data.

Zealotux - 8 days ago

Congrats on the launch! Looks slick and reactive. Now I wish there was an app to analyse my meals from pictures and estimate the calories/macros, I guess it exists somewhere but I doubt the accuracy, honestly the only thing I really want from so-called AIs.

lijok - 8 days ago

I just spent too much time today arguing with ChatGPT that the nutritional information it gave me for pearl barley seemed off. It couldn’t reason whether it was for cooked pearl barley or not. Having had a look online, it’s no wonder.

8mobile - 8 days ago

I'm not going to discuss whether or not to use an LLM, I just want to thank you for opennutrition because it's very useful for checking the nutritional values of each food, especially for diabetics.

dudeabidez - 8 days ago

Very cool! Data needs some curation however. Search "Bacon" for example and you'll see raw bacon with 95kcal and 4g of protein while cooked bacon says 153kcal and 10g of protein.

chakintosh - 8 days ago

Can you make the app available outside the US ? Can't download it and I have active recurring subscriptions that will be canceled if I switch my Apple ID region.

sodality2 - 8 days ago

I have to say, irrespective of any concerns about the LLM-generated content, the actual app alone (goal-setting, macro tracking, etc) is the best free iOS-based nutrition-tracking app I've ever used, at first use. It's actually shockingly hard to find good, free (or even one time payment!) ones that don't constantly nag you to upgrade and paywall. I would pay a lot (once) for a nutrition/weight tracking app as slick as this, with all of the goal setting, data graphs, etc, that uses the OpenFoodFacts database, not your own. (Soliciting suggestions!) Please consider making the AI features optional and instead using the OFF database as the primary source.

Also, looks like the Apple Health option in Settings actually opens the start-of-week settings modal.

devmor - 8 days ago

I can't really test it out, given the hug of death it is currently receiving, but I am happy to see the project.

The USDA nutritional database is a nightmare to query.

johmue - 8 days ago

Let me type more than a letter maybe? On safari I get results after typing a single letter but I would like to spell out the entire word. Probably a bug

blendergeek - 8 days ago

How is this similar to and different from OpenFoodFacts?

DavidPP - 8 days ago

Are you using Typesense for the search server? If so, are you using hybrid search with embeddings, or just regular search?

- 8 days ago
[deleted]
KerryJones - 8 days ago

I typed in "Avocado" and got a list of 20+ items, none of them being avocado.

bl4ckm0r3 - 8 days ago

this is great thanks a lot! on a similar theme...would anyone happen to know a public db like this but for workout exercises (with images/videos)?

metalman - 8 days ago

"AI enhanced for acuracy" buh bye

morgengold - 8 days ago

Well done! How do you create the food images?

nelblu - 8 days ago

I am so glad there is another open data for nutrition. My favourite one so far is https://www.nutritionvalue.org/ which is awesome. As a fitness enthusiast/gym rat I really appreaciate having a pure facts only nutrition website (even if it is AI enhanced a bit), because these days if you ever google "Nutrition value of XXXX", you inevitably find useless search results giving "Benefits of eating XXXX". I have a feeling this might be true even if you substitute "XXXX" with "human poop". I hope this site doesn't start learning from those crappy articles.

volkk - 8 days ago

Super cool. Would you consider an API?

trupus - 8 days ago

is your backend down? Search doesn't seem to work for me. Requests fail with 521

rubing - 8 days ago

[dead]