Skip to content
Global School Meals Atlas
EN

Nutritional composition of school meals

Connect agroecological production, food and menus →

From contract to plate: explore official menus, portions, published nutrient values and enrollment context.

Documentary selection5 documentary references · 3 countriesSources accessed: 2026-09-28
ContractAccepted deliveryRecipe and portionMeal servedMeasured consumption

Each stage requires its own evidence. A published menu documents planning; a procurement record documents contracting. This selection based on availability does not define the typical meal in a municipality or country.

Menus and evidence

Compare what the sources can tell us
Locality and referenceTarget populationPeriod or dateEvidenceQuantitiesNutrients
National research reference
Kenya
Pre-primary · ages 4–52024Modeled menuPublished; check the measurement basisNot imported
National guidance reference
Indonesia
SMP/MTs and SMA/MA · ages 13–182024Recommended menuPublished; check the measurement basisNot imported
Curitiba
Brazil
Full-time schools · age not specified2025-02-24Planned menuPublished; check the measurement basisAverage for the period
Goiânia
Brazil
CMEIs; table for children aged 12 months to 5 years · ages 4 to 52025-05-08Planned menuPublished; check the measurement basisAverage for the period
Belo Horizonte
Brazil
Programa de Atendimento Educacional Integrado — PAEI unit · ages 6 to 15 years and 11 months2025-10-02Planned menuNot foundAverage for the period
Kenya · Modeled menu

Menu 269(5) — pré-primário

2024 · Pre-primary · ages 4–5

Maize, grain, dry; Amaranthus (Terere); Milk (cow at collection point); Vegetable cooking fat; Salt

Examine portions, nutrients and limitations
Quantities transcribed from the reference
Food or dishgMeasurement basisPurchase quantity (g), where different
Maize, grain, dry107,9Edible portion before preparation107,9
Amaranthus (Terere)63,5Edible portion before preparation107,6
Milk (cow at collection point)67,7Edible portion before preparation67,7
Vegetable cooking fat5Edible portion before preparation5
Salt2Edible portion before preparation2

Nutrient values have not been imported for this reference. A food list and its weights alone do not constitute a complete quantified recipe.

Limits of interpretation: Model output; not evidence of distribution or intake. amount_g is the edible portion before preparation; purchase_amount_g is an alternative measurement basis, not an additional quantity. The printed total differs from the sum of the items; do not import the total. Cooked yield and dish identification are missing. Whether the milk is pasteurized is not stated.

The Cost of a Nutritious School Meal in Kenya ↗
Tabela 5.1, p. 13; base de peso p. 16 (PDF 22 e 25)

Accessed: 2026-09-28

Open country dossier →

Indonesia · Recommended menu

Arroz branco, peixe em caldo amarelo, folhas de mandioca refogadas e banana

2024 · SMP/MTs and SMA/MA · ages 13–18

Nasi Putih; Ikan Kuah Kuning / Ikan Tongkol; Tumis Daun Singkong; Pisang

Examine portions, nutrients and limitations
Quantities transcribed from the reference
Food or dishgMeasurement basisPurchase quantity (g), where different
Nasi Putih200Cooked rice—
Ikan Kuah Kuning / Ikan Tongkol60Fish flesh only; state at weighing not specified—
Tumis Daun Singkong50Prepared dish; state at weighing not specified—
Pisang75Whole fruit with peel—

Nutrient values have not been imported for this reference. A food list and its weights alone do not constitute a complete quantified recipe.

Limits of interpretation: Portioning guide, not a record of a meal served or consumed. The fish alternatives presented by the source were not added to the selected menu. Do not convert the whole banana to an edible portion without a documented factor. Do not use the sum of the weights as the total meal mass: broth and other components are missing, and measurement bases differ. Do not automatically apply the 100-portion recipe or nutrient values to this menu without further validation.

Buku Menu Sarapan Aksi Bergizi: 10 Resep Sarapan Bergizi Seimbang bagi Remaja ↗
Menu 3, p. 49 (PDF 57); Tabela 1, p. 4; idades p. 3

Accessed: 2026-09-28

Open country dossier →

Brazil · Planned menu

Almoço A1 — Curitiba

2025-02-24 · Full-time schools · age not specified

Arroz integral; Feijão preto; Almôndegas de carne assadas ao sugo; Aipim AF (orgânico) sauté; Salada de couve-flor; Banana

Examine portions, nutrients and limitations
Quantities transcribed from the reference
Food or dishgMeasurement basisPurchase quantity (g), where different
Arroz integral100Weights associated with the dishes; the PDF does not specify the weighing method, gross/net weight or cooking factors.—
Feijão preto90Weights associated with the dishes; the PDF does not specify the weighing method, gross/net weight or cooking factors.—
Almôndegas de carne assadas ao sugo100Weights associated with the dishes; the PDF does not specify the weighing method, gross/net weight or cooking factors.—
Aipim AF (orgânico) sauté85Weights associated with the dishes; the PDF does not specify the weighing method, gross/net weight or cooking factors.—
Salada de couve-flor30Weights associated with the dishes; the PDF does not specify the weighing method, gross/net weight or cooking factors.—
Banana120Weights associated with the dishes; the PDF does not specify the weighing method, gross/net weight or cooking factors.—

Nutrient values published by the school system

Média semanal · 2025-02-24 / 2025-02-28

Values for the published period, not for the dish on the selected date.

Values published for the indicated period
NutrientValueUnit
Energy717kcal
Protein39,46g
Lipids16,69g
Carbohydrates104,05g

Not recalculated by the Atlas. The published vitamin A unit has not been converted to RAE. The periods, ages and meals covered differ across sources.

Limits of interpretation: The full composition of the meatballs, sauce and sautéed dish is missing. The weight of a dish is not the mass of each ingredient. This table contains no vitamins, minerals or fiber. There are no nutrient values specific to lunch on 24/02. Age and education stage are not specified.

Cardápio Integral 1 — Fevereiro 2025 ↗
PDF p. 1: Terceiro bloco semanal; coluna segunda-feira 24/02; linha Almoço A1; última faixa amarela de cálculos.

Accessed: 2026-09-28

Open country dossier →

Brazil · Planned menu

Almoço — Goiânia

2025-05-08 · CMEIs; table for children aged 12 months to 5 years · ages 4 to 5

Salada de tomate em fatias; Ovos mexidos com abobrinha; Arroz; Feijão

Examine portions, nutrients and limitations
Quantities transcribed from the reference
Food or dishgMeasurement basisPurchase quantity (g), where different
arroz30Ingredient quantity per person; raw/cooked state not specified; p. 9—
feijão15Ingredient quantity per person; raw/cooked state not specified; p. 9—
abobrinha30Ingredient quantity per person; raw/cooked state not specified; p. 11—
tomate30Ingredient quantity per person; raw/cooked state not specified; p. 12—
ovos50Ingredient quantity per person; raw/cooked state not specified; p. 12—

Nutrient values published by the school system

Informações nutricionais (média mensal) · 2025-05-01 / 2025-05-31

Values for the published period, not for the dish on the selected date. Page 3 does not explicitly define the time denominator of the average or which meals are included in the calculation. Preserve the monthly label; do not call it a lunch total or a value for 08/05.

Values published for the indicated period
NutrientValueUnit
Energy1.065,7kcal
Protein43,6g
Carbohydrates161,5g
Lipids27,3g
Dietary fiber14,6g
Calcium462mg
Iron5,4mg
Zinc4,1mg
Magnesium164,2mg
Sodium1.186,5mg
Vitamin A (published unit)760,7µg
Vitamin C88,2mg

Not recalculated by the Atlas. The published vitamin A unit has not been converted to RAE. The periods, ages and meals covered differ across sources.

Limits of interpretation: The per-person quantities come from a reference table in the document, not from weighing the finished meal. Oil, salt, water and other seasonings were not imputed to the dishes. The monthly composition was not attributed to lunch. The document allows substitutions with a recorded justification; actual implementation was not verified.

Cardápios CMEIS — Maio/2025 ↗
PDF p. 6: Coluna 5ª feira; linha Almoço 11:00; semanas 1 e 3.; PDF p. 3: Tabela de composição nutricional, linha 4–5 anos.; PDF p. 9, 11, 12: Coluna quantidade per capita 4 a 5 anos; linhas arroz, feijão, abobrinha, tomate e ovos.

Accessed: 2026-09-28

Open country dossier →

Brazil · Planned menu

Almoço — Belo Horizonte

2025-10-02 · Programa de Atendimento Educacional Integrado — PAEI unit · ages 6 to 15 years and 11 months

Filé de frango oriental (pimentão, cenoura e repolho); Salada de tomate; Arroz simples; Feijão simples

Examine portions, nutrients and limitations

Portions in grams were not found in this reference.

Nutrient values published by the school system

Média diária da composição nutricional referente ao período de 01-10-2025 a 31-10-2025 · 2025-10-01 / 2025-10-31

Values for the published period, not for the dish on the selected date.

Values published for the indicated period
NutrientValueUnit
Energy458,79kcal
Carbohydrates70,94g
Protein18,28g
Lipids11,09g
Dietary fiber7,76g
Vitamin A (published unit)5,5µg
Vitamin B10,27mg
Vitamin C28,52mg
Calcium55mg
Iron1,57mg
Magnesium44,32mg
Sodium597,11mg
Zinc2mg

Not recalculated by the Atlas. The published vitamin A unit has not been converted to RAE. The periods, ages and meals covered differ across sources.

Limits of interpretation: Portions and a quantified recipe are absent from all five pages. Nutrient values are the monthly lunch average, not the composition specific to the dish on 02/10. The source warns that the menu may change.

Cardápio Outubro 2025 — Unidade de Programa de Atendimento Educacional Integrado — PAEI ↗
PDF p. 1: Coluna quinta-feira 02-10-2025; linha almoço.; PDF p. 5: Tabela nutricional; coluna ALMOÇO, não CONSOLIDADO / DIA.

Accessed: 2026-09-28

Open country dossier →

What municipal procurement adds

The country and municipality filters also apply here. The procurement processes below are documented examples, not the school system's complete food basket. A geographic association with a menu does not identify the batch used in that meal.

Selection of original contracts; amendments and implementation have not been consolidated
Municipality / yearContract subjectContracted quantityUnit price (R$)Analytical classificationSource and limitation
São Paulo
2026
Arroz Polido Longo Fino Orgânico, tipo 1476.745 kg9,31Unprocessed or minimally processedSão Paulo — Contrato nº 19/SME/CODAE/2026 ↗
pp. 1–4; item A

Contracted grain weight. Delivery records, cooking yield, recipe and portions by age group are missing.

São Paulo
2026
Arroz Parboilizado Polido Longo Fino Orgânico, tipo 1245.640 kg8,81Unprocessed or minimally processedSão Paulo — Contrato nº 19/SME/CODAE/2026 ↗
pp. 1–4; item B

Not equivalent to cooked type 1 rice in TACO. Delivery records and the recipe are missing.

São Paulo
2026
Bolacha de Arroz Integral Orgânica15.300 kg95,97Classification pendingSão Paulo — Contrato nº 19/SME/CODAE/2026 ↗
pp. 1–4; item C

The name and organic status do not define the group: check ingredients and specifications before classifying.

São Paulo
2026
Banana In Natura Climatizada809.200 un0,84Unprocessed or minimally processedSão Paulo — Contrato nº 29/SME/CODAE/2026 ↗
pp. 1 e 4; item A

An item count is not a weight in grams. Variety, weight without peel and proof of delivery are missing.

Curitiba
2021
Fornecimento e preparo de refeições e merendas— —Food serviceCuritiba — Pregão Eletrônico 135/2021, protocolo 01-096096/2020 ↗
Dados e itens do processo; vigência informada até 20/12/2026

Integrated service covering food, preparation and logistics. The administrative unit of the lot is not a meal; its value cannot be converted into mass or nutrients.

Basis of the diet

The Guidelines recommend prioritizing unprocessed or minimally processed foods and culinary preparations.

Ingredients and processing

Culinary ingredients, processed foods and ultra-processed foods are distinct groups. When the description does not specify the formulation, classification remains pending.

Agricultural origin and nutrients

Organic, local or family-farmed status does not define the degree of processing or demonstrate higher micronutrient levels. The effect of regenerative production requires comparable data by crop, soil and preparation method.

Ministério da Saúde — Guia Alimentar para a População Brasileira, 2ª edição ↗ · Chapter 2, pp. 25–51. Summary applied to descriptions of contract subjects, without a review of product labels.

Explore the national procurement analysis → · Schools, seeds and farming families →

School Census: target population and infrastructure

The Census describes schools and enrollments. It helps define the study population, but does not record ingredients, portions or consumption. The year, school system, area and population served must match before calculating any per-student quantity.

View fields and rules for linking datasets
Official fields and potential uses in linking datasets
FieldWhat it describesUse and limitation
NU_ANO_CENSOAno do CensoObservation year; include in all keys.

2025 is the census year; 2026 is the publication/revision year, not the enrollment year.

Tabela_de_Escola, linha 10; Tabela_de_Matrícula, linha 10
CO_MUNICIPIOCódigo do Município7-digit IBGE geographic key for municipal data integration; normalize as a string.

The school municipality; not the student residence, nor sufficient on its own to identify the purchasing authority.

Tabela_de_Escola, linha 17; Tabela_de_Matrícula, linha 17
CO_ENTIDADECódigo da Escola8-digit INEP code; join school/enrollment records on NU_ANO_CENSO + CO_ENTIDADE.

Identifies the establishment, not the student; normalize as a string; check uniqueness in each edition.

Tabela_de_Escola, linha 33; Tabela_de_Matrícula, linha 27
TP_DEPENDENCIADependência AdministrativaDistinguish federal=1, state=2, municipal=3 and private=4.

A school located in the municipality does not necessarily belong to the municipal school system. Partner private schools require a separate grouping.

Tabela_de_Escola, linha 35; Tabela_de_Matrícula, linha 29
TP_SITUACAO_FUNCIONAMENTOSituação de funcionamentoFilter active schools: value 1.

Active status does not guarantee a matching row in the enrollment table; exclusions are recorded.

Tabela_de_Escola, linha 48
IN_AGUA_POTAVELFornece água potável para o consumo humanoReported drinking water supply: 0 no, 1 yes.

Not a laboratory report or continuous quality measurement.

Tabela_de_Escola, linha 108
IN_COZINHADependências físicas existentes e utilizadas na escola - CozinhaPhysical infrastructure present and in use: 0 no, 1 yes.

Does not indicate capacity, sanitary conditions, equipment, on-site food preparation or number of meals.

Tabela_de_Escola, linha 152
IN_REFEITORIODependências físicas existentes e utilizadas na escola - RefeitórioPhysical infrastructure present and in use: 0 no, 1 yes.

Does not indicate capacity, sanitary conditions, equipment, on-site food preparation or number of meals.

Tabela_de_Escola, linha 166
IN_ALIMENTACAOAlimentação escolar para os alunos - PNAE/FNDEReported school food provision: 0 not provided, 1 provided; a school-level indicator.

The dictionary specifies PNAE/FNDE; question 49 on the form refers to school food provision. It does not measure participation, meals or nutrients, nor prove that funds were transferred.

Tabela_de_Escola, linha 285
QT_MAT_BASNúmero de Matrículas da Educação Básica Sum enrollment records in the selected population, preserving the education stage or age group specified by the field name.

Enrollments are not unique people, daily attendance, meals or consumers. Marginal counts do not allow cross-tabulation of age × education stage × full-time attendance. Excludes classes exclusively for complementary activities or AEE.

Tabela_de_Matrícula, linha 35
QT_MAT_INF_CRENúmero de Matrículas da Educação Infantil - CrecheSum enrollment records in the selected population, preserving the education stage or age group specified by the field name.

Enrollments are not unique people, daily attendance, meals or consumers. Marginal counts do not allow cross-tabulation of age × education stage × full-time attendance.

Tabela_de_Matrícula, linha 37
QT_MAT_INF_PRENúmero de Matrículas da Educação Infantil - Pré-EscolaSum enrollment records in the selected population, preserving the education stage or age group specified by the field name.

Enrollments are not unique people, daily attendance, meals or consumers. Marginal counts do not allow cross-tabulation of age × education stage × full-time attendance.

Tabela_de_Matrícula, linha 38
QT_MAT_FUND_AINúmero de Matrículas do Ensino Fundamental - Anos IniciaisSum enrollment records in the selected population, preserving the education stage or age group specified by the field name.

Enrollments are not unique people, daily attendance, meals or consumers. Marginal counts do not allow cross-tabulation of age × education stage × full-time attendance.

Tabela_de_Matrícula, linha 40
QT_MAT_FUND_AFNúmero de Matrículas do Ensino Fundamental - Anos FinaisSum enrollment records in the selected population, preserving the education stage or age group specified by the field name.

Enrollments are not unique people, daily attendance, meals or consumers. Marginal counts do not allow cross-tabulation of age × education stage × full-time attendance.

Tabela_de_Matrícula, linha 46
QT_MAT_MEDNúmero de Matrículas do Ensino Médio RegularSum enrollment records in the selected population, preserving the education stage or age group specified by the field name.

Enrollments are not unique people, daily attendance, meals or consumers. Marginal counts do not allow cross-tabulation of age × education stage × full-time attendance.

Tabela_de_Matrícula, linha 51
QT_MAT_BAS_4_5Número de Matrículas da Educação Básica - Entre 4 e 5 anos de idade na data de referência do Censo Escolar (última quarta-feira do mês de maio de 2025)Sum enrollment records in the selected population, preserving the education stage or age group specified by the field name.

Enrollments are not unique people, daily attendance, meals or consumers. Marginal counts do not allow cross-tabulation of age × education stage × full-time attendance.

Tabela_de_Matrícula, linha 173
QT_MAT_BAS_6_10Número de Matrículas da Educação Básica - Entre 6 e 10 anos de idade na data de referência do Censo Escolar (última quarta-feira do mês de maio de 2025)Sum enrollment records in the selected population, preserving the education stage or age group specified by the field name.

Enrollments are not unique people, daily attendance, meals or consumers. Marginal counts do not allow cross-tabulation of age × education stage × full-time attendance.

Tabela_de_Matrícula, linha 174
QT_MAT_BAS_11_14Número de Matrículas da Educação Básica - Entre 11 e 14 anos de idade na data de referência do Censo Escolar (última quarta-feira do mês de maio de 2025)Sum enrollment records in the selected population, preserving the education stage or age group specified by the field name.

Enrollments are not unique people, daily attendance, meals or consumers. Marginal counts do not allow cross-tabulation of age × education stage × full-time attendance.

Tabela_de_Matrícula, linha 175
QT_MAT_BAS_INTNúmero de Matrículas da Educação Básica - Tempo IntegralCount full-time enrollments, overall or by education stage.

Enrollments are not unique people, daily attendance, meals or consumers. Marginal counts do not allow cross-tabulation of age × education stage × full-time attendance. The 35 hours/week criterion may include complementary activities, AEE and a learning pathway in another school system; it does not measure meals at this school.

Tabela_de_Matrícula, linha 254

INEP — School Census microdata ↗

School Census 2025, version 2, July/2026 ↗

Compare municipal context

Indicators cover directly administered municipal schools in 2025: active schools with positive basic education enrollment and a matching enrollment record. Unmatched schools are excluded and counted separately. The percentages describe enrollment and infrastructure.

Country and municipality filter this comparison. Other menu and procurement filters do not change the documentary availability shown here.

Same school system and year; documents retain their own periods
Municipality and populationIndicadorMenus in the archiveProcurement documents in the archive
Curitiba

Census: 2025 · Directly administered municipal schools

13 unmatched active schools, excluded

—

Goiânia

Census: 2025 · Directly administered municipal schools

2 unmatched active schools, excluded

—

Belo Horizonte

Census: 2025 · Directly administered municipal schools

0 unmatched active schools, excluded

—

São Paulo

Census: 2025 · Directly administered municipal schools

101 unmatched active schools, excluded

—

Documentary availability does not measure meal quality. Linking by municipality provides context: years, target populations and contract coverage may differ. It does not turn purchased volumes into portions or consumption.

View original counts and exclusions
School Census 2025 — aggregation by municipality
MunicipalitySchoolsBasic education enrollmentsFull-time educationSchools reporting food provisionSchools with a kitchenSchools with a dining hallUnmatched active schools, excluded
Curitiba426116.70960.40742640735113
Goiânia307101.46229.9493073071672
Belo Horizonte321160.18667.8443213213210
São Paulo1.588702.936142.6521.5881.5691.364101

Age, education stage and full-time attendance are different groupings. Do not add overlapping categories or reconstruct suppressed cells. A school's location in a municipality does not prove that it is served by the selected municipal contract.

Simulate composition per portion

Build an exploratory scenario using foods from TACO. Enter grams of the edible portion in the indicated state. The selection starts empty and is not populated from contracts or incomplete menus.

The results are estimates for the specified combination. They do not represent measured intake, bioavailability, age-specific nutritional adequacy or a menu recommendation.

Filtering the list does not remove foods already selected for the scenario.

TACO selection — reference values per 100 g of edible portion
Food and codeStateEdible portion (g)

TACO 1
State: cooked

TACO 3
State: cooked

TACO 4
State: raw

TACO 64
State: cooked

TACO 91
State: cooked

TACO 109
State: cooked

TACO 129
State: cooked

TACO 182
State: raw

TACO 214
State: raw

TACO 408
State: cooked

TACO 409
State: raw

TACO 458
State: liquid

TACO 488
State: cooked

TACO 561
State: cooked

TACO 562
State: raw

TACO 567
State: cooked

TACO 568
State: raw

Scenario estimate, with data completeness by nutrient
NutrientEstimable totalKnown subtotalFoods with a value / selected foodsMissing values
Energy (kcal)——0 / 0—
Protein (g)——0 / 0—
Lipids (g)——0 / 0—
Carbohydrates (g)——0 / 0—
Dietary fiber (g)——0 / 0—
Calcium (mg)——0 / 0—
Iron (mg)——0 / 0—
Sodium (mg)——0 / 0—
Zinc (mg)——0 / 0—
Vitamin A (RAE) (µg RAE)——0 / 0—
Vitamin C (mg)——0 / 0—

Formula: sum of grams of edible portion × nutrient content per 100 g ÷ 100. Tr (trace), NA (not applicable), asterisks and empty cells are not treated as zero. If a nutrient value is missing, only the known subtotal is shown; it is not the meal total. Folate, iodine and vitamin B12 are not included in this selection.

NEPA/UNICAMP — TACO, 4ª edição, 2011; planilha oficial ↗ · Accessed: 2026-09-28 · Table documentation ↗

From documentary references to a comparable analysis

Define the scope

Choose the school system, age, school shift, meal and period. Sample days and schools; record substitutions and frequency. An available publication is not enough to represent the country.

Complete the recipe

Obtain the standardized recipe, gross and net weights, cooked yield, oil, salt and losses. Link delivered and accepted items to schools and preparation dates.

Compare requirements

Select a nutritional reference appropriate to the age, unit and meals covered. A monthly or weekly average must not be interpreted as a single meal.

In Brazil, Resolução CD/FNDE nº 4/2026 provides for publication of menus, differentiation by age group and standardized recipes. Annex IV and Articles 17–18 guide assessment according to the service provided. The existence of the rule does not prove its implementation in every school.

FNDE — Resolução CD/FNDE nº 4/2026, arts. 17–18 e Anexo IV ↗

Download evidence and composition (JSON)

The template contains no invented observations. Use school codes and aggregate data; do not include student names, identity documents or individual student data.