Home, travel & daily life

Weekly Meal Planner

Turn your pantry and its expiry dates into a 7-day dinner plan and a shopping list.

Default: today.

min
Pantry and fridge

Leave the quantity empty if you are not sure (counted as enough). Best-before dates make the planner use those items first.

Pantry and fridge
#ItemQuantityUnitBest before
1
2
3
4
5
6

One per line, e.g. mushrooms or feta. Recipes containing them are skipped.

Try an example: Use up spinach, eggs and chicken this week · Vegan, 5 days, max 30 minutes

How it works

List what is in your fridge and cupboards (with quantities and best-before dates) and your preferences (vegetarian, vegan, pescatarian, maximum cooking time, ingredients to avoid). The planner picks one dinner per day from about 60 simple home-cooking recipes, using food that expires soonest first, and adds up a shopping list of everything still missing.

  • Recipes come from a bundled editorial dataset of about 60 simple home-cooking dinners with ingredient quantities, cooking time and diet. Quantities are scaled linearly to the number of people.
  • Recipes are filtered by diet (vegan ⊂ vegetarian ⊂ pescatarian ⊂ everything), maximum cooking time and the ingredients to avoid.
  • Pantry names are matched to recipe ingredients after normalising plurals and common synonyms (e.g. eggs → egg, courgette → zucchini, spaghetti → pasta). kg and l are converted to g and ml.
  • Day by day, every remaining recipe gets a score: for each ingredient, the share covered by the pantry × an urgency weight (expires within 1 day: 6, 3 days: 4, 7 days: 2, later: 1, no date: 0.5) × 10, plus the share of that pantry item used up × urgency × 5, minus 3 for every ingredient that must be bought. The highest score wins (ties: dataset order); the pantry is then reduced by what the recipe uses.
  • Items past their best-before date on the cooking day are not used. A recipe is repeated only when every eligible recipe has already been planned.
  • The shopping list adds up all missing amounts per ingredient (pieces rounded up to whole pieces). Salt, pepper, cooking oil and water are assumed to be at home.

Sources

  • usefulweb.site recipe dataset (editorial, generic home cooking)

For scripts and AI agents

  • JSON API: POST https://weeklymealplanner.usefulweb.site/api/v1/calculate (same calculation as this page)
  • Interface description: OpenAPI 3.1 · AI guide: llms.txt
  • MCP server (Streamable HTTP): https://weeklymealplanner.usefulweb.site/mcp · tool name weekly_meal_planner
Example request
curl -s -X POST https://weeklymealplanner.usefulweb.site/api/v1/calculate \
  -H 'content-type: application/json' \
  -d '{"startDate":"2026-10-19","days":7,"servings":2,"diet":"any","maxMinutes":45,"pantry":[{"item":"Spinach","quantity":250,"unit":"g","expires":"2026-10-20"},{"item":"Eggs","quantity":6,"unit":"pcs","expires":"2026-10-28"},{"item":"Chicken breast","quantity":300,"unit":"g","expires":"2026-10-21"},{"item":"Rice","quantity":1,"unit":"kg"},{"item":"Onions","quantity":4,"unit":"pcs"},{"item":"Canned tomatoes","quantity":800,"unit":"g"},{"item":"Feta","quantity":200,"unit":"g","expires":"2026-10-23"},{"item":"Pasta","quantity":500,"unit":"g"}]}'
Feedback