Meal Planner
Plan your week's meals, build a recipe library, and generate a shopping list.
No meals planned for this week yet.
Add meals to the grid above to generate a shopping list.
How It Works
The weekly grid lets you assign meals to breakfast, lunch, dinner, and snack slots for each day. Build your meal library once — save any meal with its ingredients — then drag cards onto the grid or click a cell to pick from your library. Meals can appear in multiple slots across the week.
The shopping list aggregates all ingredients from planned meals, deduplicating by name and unit. For example, two recipes each calling for 1 cup of onion appear as "2 cup onion". Ingredients with mismatched units (e.g., "1 cup" and "200g" of the same item) are kept separate since they can't be summed reliably. Assign categories to ingredients — Produce, Dairy, Meat, Pantry, Frozen — to keep your shopping list organised by store section.
All data is stored locally in your browser using IndexedDB, so your meals and plans persist across sessions without any account or server. The planner keeps a separate plan for each week, so you can navigate back to past weeks to reference what you cooked.
Related Tools
Frequently Asked Questions
How do I start meal planning?
Start by building a library of 10–15 meals you regularly cook. Add them once with their ingredients. Each week, drag meals onto the planner grid — the shopping list generates automatically from what you've planned. Start with dinners only, then add lunches and breakfasts once the habit forms.
Will my meal plans save between visits?
Yes. All data is stored in your browser's IndexedDB — it persists across sessions automatically. Each week has its own saved plan so you can look back at previous weeks. Sign in with Google to sync across devices via your own Google Drive.
How does the shopping list work?
The shopping list aggregates ingredients from all planned meals in the current week. Items with the same name and unit are summed (e.g., two recipes calling for 1 cup onion become "2 cup onion"). Items with different units are listed separately. Assign categories to ingredients to group them by store section.