CHEAPEST MEAL PLAN OPTIMIZER · RUNS IN YOUR BROWSER · NOTHING UPLOADED

What is the cheapest way to hit your protein and calories?

List the foods you can buy with a price and nutrition per serving, set your targets, and a linear-programming solver finds the lowest-cost servings per day that meet them. It also tells you what each extra target costs, so you can see where the money goes.

The starter list uses approximate generic nutrition and example prices: edit every price to what you pay. New to this? Read how to eat high-protein on a budget, with a worked example, a cheap vegan version, what a $2 to $5 daily budget buys, or what one more gram of protein costs.

1. Foods

Add common foods to the list

Tick foods and add them: approximate generic nutrition with example prices. Replace each price with what you pay.

2. Daily targets

Add your foods and targets, then click Find the cheapest plan.

Your food list, prices and targets are remembered on this device only (browser local storage), so you can update prices each week.

How it works

Model: choose servings x for each food to minimise the sum of price times servings, subject to each nutrient total staying within your bounds and each food staying under its serving cap. That is a linear program, solved with a two-phase simplex that cannot cycle.

Whole and half servings: a continuous answer can say 1.37 servings of oats, so when you pick a step the solver uses branch and bound to find the cheapest plan in that step, and shows how far it is from the continuous lower bound.

What each target costs: it re-solves with one minimum raised (by 100 kcal, 10 g of protein, 10 g of carbs or fat, or 5 g of fibre) and reports the extra cost. The rule-of-thumb comparison keeps adding the food that closes the most of the remaining shortfall per dollar.

Not modelled: vitamins and minerals, allergies, taste and variety beyond the serving caps, cooking time, waste, pack sizes and sales. The cheapest plan is often monotonous; lower the caps or drop foods to see what variety costs. Unverified against real shopping: checked against exhaustive search on 60 random small menus and by an independent verifier on every plan.

Common questions

How do I make the cheapest meal plan that still hits my protein and calories?

List the foods you can buy with the price of one serving and the nutrition in that serving, set a calorie range, a protein minimum and any fat, carb or fibre bounds, and the optimizer finds the servings per day with the lowest cost that meets all of them. It solves a linear program, the classic minimum-cost diet problem, then rounds to whole or half servings with branch and bound.

Are the prices and nutrition numbers real?

The starter foods carry approximate generic nutrition and example prices only. Prices vary by store, region and week, so edit the price on every line to what you pay, and check the nutrition against the label of what you actually buy. The result is only as good as the numbers you put in.

Why is the cheapest plan so repetitive?

Because a cost minimiser has no taste. If lentils and oats are the cheapest way to get calories and protein, it will use a lot of them. Lower the maximum servings per food, delete foods you will not eat, or add foods you like, and rerun it to see what variety costs.

What does 'extra cost per 10 g of protein' mean?

It is how much more the cheapest plan costs per day if you raise the protein minimum by 10 g, holding everything else. A target that adds nothing is not binding on this menu.

Why will it not build a plan under 1,200 calories?

A very low intake needs a clinician or registered dietitian, not an optimizer. The tool refuses to plan below 1,200 calories a day, and it is not suitable for children, pregnancy, eating disorders, diabetes or other medical conditions.

Is this nutrition or medical advice?

No. It does arithmetic on the numbers you give it. It does not know your health, allergies or needs, and it is not a substitute for a doctor or registered dietitian.

Is my food list uploaded or stored?

It is never uploaded. Everything runs in your browser, nothing is sent to a server and there are no accounts. So your prices are still there next week, your food list and targets are remembered on this device only (browser local storage); click Forget saved data to remove them. To send your list to someone else, use Copy share link (it puts the list in the address, which only your browser sees) or download the plan as a CSV.