Food Database
Search 9,349 foods from IFCT 2017, INDB, and USDA FoodData Central with 80+ nutrients.
MealStack includes India's most comprehensive food database — the only platform combining IFCT 2017, INDB (Indian Nutritional Database), and USDA FoodData Central.
Data sources
| Database | Foods | Coverage | Best for |
|---|---|---|---|
| IFCT 2017 | 542 | Indian foods — dal, roti, sabzi, regional dishes | Indian clients, regional cuisines |
| INDB | 1,014 | Indian Nutritional Database — expanded Indian foods | Broader Indian food coverage |
| USDA SR Legacy | 7,793 | International foods — global coverage | International foods, packaged items |
Each food includes up to 80+ nutrients: macros, 12 minerals, 15 vitamins, amino acids, fatty acids, sugars, phytate, oxalate, and more.
All three databases are included from day one on all plans, including Free. Search results show items from all three sources with a badge indicating the source (IFCT, INDB, or USDA).
Searching
The search bar supports multiple languages and fuzzy matching:
English — Type "chicken breast" → results show Chicken, breast, without skin, cooked (USDA) and Chicken, breast, raw (IFCT).
Hindi — Type "aloo" → Potato entries. Type "bhindi" → Okra / Lady's finger. Type "dahi" → Curd / Yogurt. Type "chana" → Chickpea / Bengal gram.
Regional — Type "batata" → Potato (Marathi). Type "vendakkai" → Okra (Tamil). Type "baingan" → Eggplant / Brinjal. Type "palak" → Spinach.
Search uses full-text matching with fuzzy support — typos and partial matches work. Searching "chiken" will still find "chicken". Search aliases are built in, so "cottage cheese" finds "Paneer".
Food detail view
Click any food to open the detail panel showing:
- Macro donut chart — visual ring showing protein/fat/carb calorie ratio with total kcal centered
- Nutrient highlights — auto-generated "Rich in" chips showing nutrients exceeding 10% of daily value (e.g., "Vit K 5×", "Calcium 90%", "Iron 40%")
- Portion selector — choose from pre-configured portions or enter a custom gram amount
- Full nutrient breakdown — all 80+ nutrients grouped by type (Proximates, Minerals, Vitamins, Lipids, Amino Acids, Sugars) with RDA percentage bars
- Regional names — Hindi and regional language names for the food
The nutrient values scale automatically when you change the portion size. Select "1 katori (150g)" and all values update to show the nutrients for that serving.
Portion sizes
IFCT foods come with Indian-friendly portion sizes pre-configured:
| Portion | Approximate weight | Common for |
|---|---|---|
| Katori (small bowl) | ~150g | Dal, sabzi, rice, curd |
| Roti / Chapati | ~30g | Wheat roti, chapati |
| Paratha | ~60g | Stuffed paratha |
| Idli | ~40g | Idli |
| Dosa | ~50g | Plain dosa |
| Glass | ~200ml | Milk, buttermilk, lassi |
| Cup | ~240ml | Beverages |
| Tablespoon | ~15g | Oil, ghee, sugar |
| Teaspoon | ~5g | Spices, honey |
Select a portion when adding food to a meal plan, and the nutrients auto-calculate based on the weight.
Categories
Browse foods by category using the visual category grid. Each category has an emoji icon for quick scanning:
| Category | Icon | Examples |
|---|---|---|
| Cereals and Millets | 🌾 | Rice, wheat, bajra, ragi, jowar |
| Grain Legumes | 🫘 | Moong dal, chana, masoor, toor |
| Green Leafy Vegetables | 🥬 | Palak, methi, amaranth, bathua |
| Fruits | 🍎 | Banana, mango, guava, papaya |
| Milk and Milk Products | 🥛 | Milk, curd, paneer, ghee |
| Nuts and Oil Seeds | 🥜 | Almonds, cashews, groundnuts |
| Poultry | 🍗 | Chicken, eggs |
| Fish | 🐟 | Rohu, pomfret, mackerel, prawns |
| Edible Oils and Fats | 🫒 | Mustard oil, coconut oil, ghee |
Use the category browser when you want to explore options — e.g., browsing "Green Leafy Vegetables" to find iron-rich greens for an anemic client.
Custom foods
Add foods that aren't in the database — branded products, regional specialties, or client-specific items.
Open custom food form
Click Add Custom Food on the food database page.
Enter details
Fill in the food name, category, and nutrient values per 100g. You can also add:
- Photo — upload a food image for visual reference
- Local/regional names — for Hindi and regional language search
- Search aliases — alternate names (e.g., "cottage cheese tikka" for "Paneer Tikka")
- Dietary type — Veg, Non-Veg, Eggetarian, or Vegan classification
- Brand name — for packaged foods (e.g., "Amul", "Britannia", "MuscleBlaze")
- Edible factor — for foods with waste (e.g., banana = 0.64 means 36% peel)
- Tags — like "high-protein", "gluten-free", "keto-friendly"
- Portion sizes — add custom portions with gram weights (quick-add presets for katori, roti, idli, etc.)
Example — adding a local protein bar:
| Field | Value |
|---|---|
| Name | FitBite Protein Bar |
| Category | Snacks |
| Calories | 180 kcal |
| Protein | 20g |
| Carbs | 15g |
| Fat | 6g |
| Fiber | 3g |
| Tags | high-protein, gluten-free |
Use in plans
Your custom food now appears in search results and can be added to any meal plan.
Custom foods are scoped to your practice — only your team sees them. They won't appear for other MealStack users. You can edit or delete custom foods anytime from the food detail panel.
Clone from existing
Found a USDA or IFCT food that's close to what you need? Clone it instead of creating from scratch:
- Open any food's detail panel
- Click Clone — this opens the custom food form pre-filled with all the nutrient values
- Modify the name, adjust any nutrients, and save
This is much faster than entering 80+ nutrient values manually.
Clone is especially useful for cooked versions of raw foods. Clone "Rice, raw" → rename to "Rice, cooked (home style)" → adjust calories from 356 to 130 kcal and update other nutrients.
Quick food creator
When you're in the middle of building a meal plan or recipe and need a food that doesn't exist, you don't have to leave your workflow. A Quick Add Custom Food sheet is available inline from three places:
- Meal plan builder — when food search returns no results, a "Create custom food" button appears. It's also always visible as a footer link while searching.
- Recipe builder — same pattern in the ingredient search dropdown.
- AI day preview — when AI suggests a food that can't be matched to the database, a "Create" button appears next to each unmatched item.
The quick creator is a lightweight form with just the essentials:
| Field | Required | Notes |
|---|---|---|
| Food name | Yes | Pre-filled from your search query |
| Dietary type | No | Veg, Non-Veg, Eggetarian, Vegan |
| Category | No | Select from platform categories |
| Calories (kcal/100g) | No | Per 100g edible portion |
| Protein (g/100g) | No | |
| Carbs (g/100g) | No | |
| Fat (g/100g) | No | |
| Fiber (g/100g) | No | |
| Portion sizes | No | Quick-add presets or custom |
After creating, the food is automatically added to the meal slot or recipe ingredient you were working on — no need to search again.
Need more fields like scientific name, edible factor, or 80+ nutrients? Click "Need more fields? Open full custom food form" at the bottom of the quick creator to switch to the full form with your data carried over.
AI nutrient estimation
Don't know the exact nutrient values? Click Estimate with AI in either the quick creator or the full custom food form. Enter just the food name and AI estimates:
- 16 commonly measured nutrients per 100g — macros (energy, protein, carbs, fat, fiber, sugars) plus minerals (calcium, iron, potassium, sodium, zinc) and vitamins (A, B9, B12, C, D)
- Common portion sizes with gram weights
- Dietary type classification
- Confidence level — shown as a colored badge (green = high, amber = medium, red = low)
- Source note — e.g., "Based on IFCT 2017 values for paneer tikka"
The AI handles cooked vs raw disambiguation automatically — "Rice" estimates cooked rice (~130 kcal), "Rice, raw" estimates raw (~356 kcal). For branded foods, it uses known product ranges. For homemade dishes, it estimates based on standard Indian recipes.
AI-estimated values are approximations. Always verify against the nutrition label or a trusted database before using in client plans. The confidence badge helps you judge — "Low confidence" items need extra scrutiny.
AI nutrient estimation is free — it doesn't consume any AI credits. This encourages creating complete custom foods rather than leaving nutrient fields empty.
Nutrition label input
For packaged foods, switch to label input mode by clicking the "From label" toggle in the nutrition section. This mode matches what you see on a food package:
- Enter the serving size in grams (as printed on the label)
- Enter nutrient values per serving (exactly as printed)
- MealStack auto-converts everything to per-100g for storage
A real-time conversion indicator shows the per-100g value next to each field (e.g., "→ 12.5/100g") so you can verify the math.
The label serving size is automatically added as a portion size on the food, so you can select "1 serving" when adding it to meal plans.
Label mode is ideal for branded products like protein bars, cereals, packaged snacks, and supplements where the nutrition panel is per-serving, not per-100g.
Verification
Custom foods start as unverified. The food detail panel shows a badge:
- 🟢 Verified — nutrient data has been reviewed and confirmed
- 🟡 Unverified — not yet reviewed (default for new custom foods)
- 🔵 Recipe-derived — nutrients were auto-calculated from a recipe's ingredients
Click the Verify button in the food detail footer to mark a custom food as verified after reviewing its nutrient data.
Your dashboard shows a notice when you have unverified custom foods: "X custom foods pending verification — Review nutrient data for accuracy before using in client plans." Click it to go to your food database filtered to custom foods.
Duplicate detection
When creating a custom food, MealStack checks for similar names in the database and shows a warning if a match is found. This prevents accidentally creating duplicates.
Favorites
Star frequently-used foods for quick access:
- Search for a food or open its detail panel
- Click the ★ star icon
- Use the Favorites filter to see only your starred items
Star the 20–30 foods you use most often — dal, rice, roti, chicken, paneer, oats, eggs, milk, common vegetables. This makes meal plan building significantly faster.
Calorie density badges
Every food in the list shows a calorie density badge — a quick visual indicator of how calorie-dense the food is per 100g:
| Badge | Density | kcal/100g | Examples |
|---|---|---|---|
| VL (very low) | Very low | Under 60 | Cucumber, lettuce, tomato, buttermilk |
| L (low) | Low | 60–149 | Most fruits, dal, curd, moong sprouts |
| M (medium) | Medium | 150–399 | Rice, roti, chicken, paneer, poha |
| H (high) | High | 400+ | Ghee, oil, nuts, dried fruits, cheese |
Use density badges for weight management plans. Look for VL and L foods to build volume-rich, low-calorie meals. For weight gain clients, include more M and H foods.
Macro visualization
Search results and the food list show visual macro bars for protein, carbs, and fat — colored progress indicators that give you an instant sense of the food's macro profile without reading numbers.
- Green bar — Protein
- Yellow bar — Carbs
- Orange bar — Fat
The bar length is proportional to the value, making it easy to visually compare foods as you scroll.
Inline actions
Hover over any food row to reveal quick action buttons:
| Action | Icon | What it does |
|---|---|---|
| Favorite | ⭐ | Toggle favorite status without opening the detail panel |
| Compare | ↔ | Add to the compare tray (select 2 foods to compare) |
| Copy | 📋 | Copy nutrient summary to clipboard (name, kcal, P, C, F) |
| Clone | 📄 | Clone as a custom food — opens the form pre-filled with all nutrients |
These actions save time by eliminating the need to open the detail panel for common operations.
Food comparison
Compare any two foods side-by-side to make informed substitution decisions:
Select foods to compare
Click the ↔ compare icon on any two food rows. A sticky tray appears at the bottom showing your selections.
Open the comparison
Click Compare in the tray. A side-by-side panel opens showing:
- Macro donuts — visual calorie ratio (protein/fat/carbs) for each food
- Nutrient highlights — "Rich in" chips showing standout nutrients
- Macronutrient table — calories, protein, fat, carbs, fiber with opposing bars
- Vitamin & mineral table — all micronutrients with visual bars showing which food has more
Read the results
The food with the higher value for each nutrient is highlighted in your primary color. Opposing bars grow from the center outward, making differences immediately visible.
Use comparison when a client asks "should I eat brown rice or quinoa?" or when you need to find a higher-protein alternative to a food in their plan. The visual bars make the answer obvious at a glance.
Nutrient details
Each food includes up to 80+ nutrients, organized by type:
| Type | Nutrients |
|---|---|
| Proximates | Energy, Protein, Carbohydrate, Total Fat, Fiber (total, soluble, insoluble), Water, Ash |
| Minerals | Calcium, Iron, Magnesium, Phosphorus, Potassium, Sodium, Zinc, Copper, Manganese, Selenium, Chromium, Iodine |
| Vitamins | Vitamin A, B1, B2, B3, B5, B6, B9 (Folate), B12, C, D, E, K, Biotin, Choline, Beta-Carotene |
| Lipids | Saturated Fat, Monounsaturated, Polyunsaturated, Trans Fat, Cholesterol, Omega-3, Omega-6, EPA, DHA |
| Amino Acids | All 19 amino acids including essential amino acids |
| Sugars | Total Sugars, Sucrose, Glucose, Fructose, Lactose, Maltose, Galactose |
| Other | Caffeine, Theobromine, Alcohol, Phytate, Oxalate |
The "Rich in" highlights in the food detail panel automatically flag nutrients that exceed 10% of the recommended daily allowance. Green chips indicate excellent sources (over 50% RDA), making it easy to spot nutrient-dense foods at a glance.