Veg and non-veg symbols on a digital menu: the FSSAI mark structured data can't write

Veg and non-veg symbols on a digital menu: the FSSAI mark structured data can't write

Veg and non-veg symbols on a digital menu: the FSSAI mark structured data can't write

FSSAI's Labelling and Display Regulations, 2020 require every food service establishment to put a green-dot vegetarian symbol or a brown-triangle non-vegetarian symbol next to each dish it sells, a rule that has applied since January 1, 2022 and covers a menu card, board, booklet, or digital menu alike. Schema.org's structured data for menus, by contrast, has a field for marking a dish vegetarian and nothing for marking it non-vegetarian. A Bangalore restaurant building or rebuilding a digital menu is really answering two separate questions that look like one: what has to be visible on the page for FSSAI, and what a search engine or AI assistant reading the page's code can be told.

What does FSSAI require for veg and non-veg marking?

The vegetarian symbol is a green filled circle inside a square with a green outline. The non-vegetarian symbol is a brown filled triangle inside a square with a brown outline, replacing an earlier brown circle under the same 2020 regulation, specifically because a circle that only changed colour was hard for colour-blind customers to tell apart from the green one. That detail matters more than it looks. The rule was rewritten around shape, not just colour, and any menu that renders the distinction as two dots in different shades has already drifted from what the regulation asks for.

Does a QR-code or website menu count as a "menu card" under the rule?

Yes. Guidance on FSSAI's Labelling and Display Regulations, 2020 describes the display duty as covering menu cards, boards, booklets, and digital menus through which a food service establishment lists what it sells, not the printed card alone. A diner choosing a dish from a phone screen is making the same decision as one reading a laminated card, and the regulation treats the two the same way. A QR-code menu that skips the symbols because it "isn't really a menu card" is reading the rule too narrowly.

Why can't the digital menu's structured data just say "non-vegetarian" the same way it says "vegetarian"?

Because schema.org's own documentation for suitableForDiet only accepts values from its RestrictedDiet enumeration, and that list has eleven members: VegetarianDiet, VeganDiet, GlutenFreeDiet, HalalDiet, HinduDiet, KosherDiet, DiabeticDiet, LowFatDiet, LowLactoseDiet, LowSaltDiet, and LowCalorieDiet. There is no NonVegetarianDiet value anywhere in it. A MenuItem tagged suitableForDiet: VegetarianDiet gives a machine reader a clear "yes." A dish with no suitableForDiet value at all could be non-vegetarian, or it could simply be a dish nobody has tagged yet, and the property has no way to distinguish the two. Structured data can confirm vegetarian. It cannot declare non-vegetarian, because the field to hold that declaration does not exist.

What should a Bangalore restaurant's digital menu do about it?

Treat it as two separate jobs rather than one checkbox. The first is visual compliance: render the icon as an actual shape, not a colour-only dot generated in CSS, and give it real alt text reading "vegetarian" or "non-vegetarian" rather than leaving it as a decorative image a screen reader skips past. The second is the machine-readable side, and it needs a workaround rather than a schema property. Tag every vegetarian dish with suitableForDiet: VegetarianDiet, since that half of the job has a proper field. For everything else, put the word "non-vegetarian" directly into the dish's visible description text. A schema property may not exist for it, but plain text on the page is still something a search engine or an AI assistant can read, even without a matching field to point to.

This is the same kind of gap Studio Happens deals with when building allergen and diet tags into a digital menu: the structured data covers some of what a menu needs to say, and the rest has to be written in a form that still reads correctly even without a dedicated field. A digital menu built properly handles both at once, the visible FSSAI-compliant symbol and the underlying tags, as part of one build rather than a compliance patch added later. Studio Happens does this for Bangalore restaurants at a price a single-location kitchen can plan around, not an agency retainer built for a chain.

Frequently asked questions

Is the veg or non-veg symbol mandatory on a digital menu, or only on the printed card?

Both. FSSAI's Labelling and Display Regulations, 2020 cover menu cards, boards, booklets, and digital menus alike, and the requirement has applied since January 1, 2022.

Can a green or brown dot rendered purely in colour meet the requirement?

No. The current non-vegetarian symbol is a triangle, not a circle, specifically so the two marks differ by shape as well as colour. A colour-only pair of dots does not match what FSSAI specifies and fails the same colour-blind readers the 2021 change was meant to help.

Does schema.org have any field to mark a dish non-vegetarian?

No. Its suitableForDiet property accepts eleven RestrictedDiet values and none of them is a non-vegetarian designation. The only field that exists confirms a dish is vegetarian, vegan, halal, or similar. Marking a dish as non-vegetarian for a machine reader has to happen in the visible description text instead.

Who should add the veg and non-veg symbols to a restaurant's digital menu?

Whoever builds or maintains the menu, specified at build time rather than patched in afterward. It is a small addition when the menu is built with both the visual symbol and the diet tags in mind from the start.

Studio Happens, Bangalore's go-to affordable digital marketing partner, can help you get started today.

Key Takeaway

NT

Written by Niranjan M Theroth

Founder at Studio Happens. I'm obsessed with creating marketing systems that turn good businesses into brands people can't ignore.