Rewrite Menu Descriptions With AI, Safely
A prompt that rewrites menu descriptions without inventing allergens or sourcing claims, by making the model list every factual claim for checking.
To rewrite menu descriptions with AI without creating a food safety problem, give the model the exact ingredient list for each dish and forbid it from adding any ingredient, cooking method or sourcing claim that is not in that list. The writing is the easy part. The dangerous part is that a model asked to make food sound appealing will reach for "locally sourced", "free range" and "hand-rolled" on its own, and those are claims your kitchen has to be able to defend.
Here is a workflow that produces better copy and cannot invent an allergen.
Start with a source of truth, not the old menu
The instinct is to paste the current menu and ask for a better version. That is the wrong input, because the current menu is already a summary, and the model will embellish a summary rather than describe a dish.
Build a short line per dish first, straight from the kitchen:
Dish: Chicken and leek pie
Components: chicken thigh, leeks, double cream, white wine, butter, wheat flour pastry
Allergens: wheat (gluten), milk, sulphites
Method: slow-cooked filling, shortcrust lid, baked to order
Not true: not free range, not organic, pastry is bought in
Price: 16.50That "Not true" line is the one that does the work. You are pre-empting the specific flourishes the model would otherwise add.
The prompt
You are writing menu descriptions for a neighbourhood restaurant.
For each dish I give you, write one description of 18 to 28 words.
Hard rules:
- Use only ingredients, methods and facts from the dish data provided.
- Never add a sourcing, welfare, origin or dietary claim that is not stated.
- Never mention an ingredient that is not listed, including garnishes.
- Do not use the words artisan, authentic, hand-crafted, locally sourced,
farm-to-table, or elevated.
- If the data is too thin to write 18 words, say THIN DATA and list what
you would need. Do not invent filler.
Style: plain, specific, confident. Lead with the thing someone orders it
for. No exclamation marks.
Output a table: dish name, description, and a column listing every factual
claim you made, so I can check each one against the dish data.The last instruction is the whole safety mechanism. Making the model list its own claims turns a prose check into a line-by-line check, and it takes about fifteen seconds per dish to verify. It is the same discipline as prompting AI to check its own work, applied where a mistake has legal weight.
Why allergens are the hard constraint
In the UK and the EU, allergen information for non-prepacked food must be accurate and available, and a menu description that omits or contradicts it is a real problem rather than a copywriting one. The UK Food Standards Agency sets out the allergen rules for food businesses, including the 14 regulated allergens.
Two specific ways AI copy goes wrong here:
Invented garnishes. The model adds "finished with toasted almonds" because it reads well. Nuts were not in the dish. Someone with a nut allergy reads the menu and orders.
Dropped ingredients. Rewriting for brevity, the model drops the word "cream" from a dish because it already said "rich". The dairy is still in the pan.
Never let the model produce the allergen line. Write allergens by hand, from the recipe, and paste them in. The model writes the sentence that sells the dish and nothing else.
Work in small batches and read them together
Run six to eight dishes at a time, not the whole menu. Two reasons.
The first is checking: eight descriptions and their claim lists is a verification pass you will actually complete. Forty is a pass you will skim.
The second is voice. Ask for forty descriptions at once and they arrive with the same rhythm, every one of them a three-clause sentence with a participle in the middle. A menu where every line has the same shape reads like a machine wrote it, because one did. Break it up, and tell the model which of the previous batch you liked, since the reusable prompt library idea applies here: keep the version that produced the voice you wanted.
Check these five things before it goes to print
Every claim traced. Each entry in the claims column maps to a line in the dish data. No exceptions.
Allergens untouched. The allergen line is exactly what the kitchen wrote.
No welfare or origin words you cannot evidence. If it says free range, you need the invoice.
Dietary labels verified. Vegan, vegetarian and gluten-free are claims about the whole supply chain, including the stock and the fryer oil.
Read aloud. A member of staff has to say these to a table. Anything they would be embarrassed to read is wrong, whatever it looks like on the page.
Once the descriptions are settled, the same dish data feeds other jobs: a QR code menu and a weekly specials plan both want structured dishes rather than prose. Building the data once pays for itself. For the wider picture of what to automate in a restaurant, we keep a list of AI tools for restaurants.
FAQ
Can AI write allergen information for a menu?
No. Allergen information should come from the recipe, verified by the kitchen, and be pasted in unchanged. A model restating allergens from a description is a step where an error can enter, and this is not a place to accept errors.
How long should a menu description be?
Eighteen to twenty-eight words suits most dishes. Long enough to name the thing someone orders it for, short enough to scan. Keep signature dishes at the upper end and simple sides at the lower.
How do I stop AI menu copy sounding generic?
Ban the stock vocabulary explicitly in the prompt, work in small batches so the sentence shapes vary, and give the model two of your existing descriptions you actually like as examples of the voice. Generic output is usually an under-specified prompt rather than a model limit.
Does this work for a drinks list?
Yes, with the same structure. The equivalent of the allergen line is ABV, measure size and any allergen in a mixer or garnish, and the equivalent of the "not true" line is provenance, since spirits attract origin claims the same way meat does.
How did this land?
About the author

Developer Advocate
Steve builds something with Swarmz every week and writes up what worked, what broke, and what he'd do differently. Tutorials and hands-on guides are his lane.


