Skip to content
Decisions Free · Private

What Should I Eat — Random Meal Picker

Random meal from your saved list.

Built and maintained by Paul Clark, Redmoon Software · Last checked

The What Should I Eat meal picker ends the nightly "I don't know, what do you want?" by choosing dinner from a list you save once. Tag meals as quick, healthy, or takeout and filter at pick time, and turn on "Avoid last N days" so you don't eat the same thing twice in a row. It's a simple fix for decision fatigue at dinnertime.

Save. Add your meals, with optional #tags, and save the list.

0 items

Click What's for dinner? to see a result.

Options
Recent results
  • No history yet.

How it works

  1. Save. Add your meals, with optional #tags, and save the list.
  2. Filter. Optionally choose a tag or set "Avoid last N days" in the Options.
  3. Pick. Click What's for dinner? to get a meal.
  4. Re-roll. Not feeling it? Click again for another suggestion.

About the What Should I Eat — Random Meal Picker

Tags are the whole point

Write each meal on its own line and add tags with a hash: Chicken curry #quick #spicy. Tags are what make this more than a list shuffler — they let you say "something quick, but not spicy" and draw only from what qualifies.

The two filters behave differently and the difference matters. Include requires every tag you list, so entering "quick, vegetarian" matches only meals tagged both. Exclude rejects a meal if it has any of the tags you list. Include is an AND, exclude is an OR, and that asymmetry is what most people get wrong on their first attempt.

Tags are matched case-insensitively, and the tag text is stripped from the meal name in the result, so your list stays readable.

The "avoid recent" window

Set Avoid days and the tool records what it picked and excludes anything drawn within that many days. Seven means you will not see the same meal twice in a week, which is the single feature that makes a meal picker survive contact with real life — without it, a fourteen-meal rotation still manages to suggest the same thing three nights running.

The record lives in this browser and is keyed by the meal name with tags removed. Renaming a meal, or adding a tag in a way that changes the name portion, makes it look like a new meal and it becomes eligible again immediately.

When nothing matches

If your filters exclude everything, the tool tells you rather than quietly widening the search. That is worth appreciating — a picker that silently falls back to the full list when a filter matches nothing is indistinguishable from one that is working, and you would never learn that your tag was misspelled.

So an error here almost always means one of three things: a typo in a tag, an include list that no single meal satisfies in full, or an avoid-days window that has eaten your whole rotation. All three are fixable, and all three are worth knowing about rather than being papered over.

Frequently asked questions

Does it track what we ate?

Yes. "Avoid last N days" hides recently chosen meals so the picker doesn't repeat them too soon.

How do tags work?

Add tags like #quick, #healthy, or #takeout after each meal, then filter by them at pick time to narrow the options.

Is the choice actually random?

Yes. Among the eligible meals, the pick is made with the Web Crypto API, so it's unbiased and not always the same favorites.

Is my saved meal list private?

Yes. Your meals stay in your browser and are never uploaded to a server, so the picker also works offline.

Related randomizers

Further reading

Send feedback

Found a bug, want a feature, or just say hi? Send it our way.