Nutrition Label Generator from Recipe

Enter your recipe ingredients with weights and nutrient values. Get an FDA Nutrition Facts, EU Nutrition Declaration, or Japanese format label as a print-ready PDF — all calculated in your browser. No data leaves your device.

1 · Recipe & Serving Size

2 · Ingredients & Nutrient Values

Enter each ingredient, its weight per entire recipe, and its nutrient values per 100 g. Leave blank for 0. Allergen tags are flagged automatically from the ingredient name.

Ingredient Wt (g) Cal /100g Fat /100g SatFat /100g Carb /100g Sugar /100g Fiber /100g Protein /100g Sodium /100g
(mg)

3 · Calculated Per-Serving Summary

Updates live as you type. Based on total recipe weight ÷ number of servings.

Calories
Total Fat (g)
Sat. Fat (g)
Carbohydrate (g)
Sugars (g)
Dietary Fiber (g)
Protein (g)
Sodium (mg)
Serving weight (g)

4 · Download PDF Label

The PDF is generated entirely in your browser using pdf-lib. Print at actual size (no scaling) for a standard label.

Preview appears here after generating.

How it works

1
Enter ingredients
Add each ingredient, its total weight in the recipe, and its nutritional values per 100 g — available from packaging or a database like USDA FoodData Central.
2
Automatic calculation
Per-serving nutrients = Σ (nutrient per 100 g × ingredient weight g) / 100, then divided by number of servings. Per-100 g values scale proportionally.
3
Allergen detection
Ingredient names are scanned for the top-9 FDA allergens (milk, eggs, fish, shellfish, tree nuts, peanuts, wheat, soybeans, sesame) and 14 EU allergens, and flagged automatically.
4
PDF generation
pdf-lib draws the label directly — rectangles, lines, and text — in your browser. The FDA format matches the 2020 label rules (bold calories, updated %DVs). No upload, no server.

Nutrient math (FDA example): If a recipe has 500 g total and 12 servings, each serving is 41.7 g. If flour (300 g in recipe, 364 cal/100 g) contributes: 300 × 364 / 100 / 12 = 91 calories per serving from flour alone. Repeat for each ingredient and sum.

Frequently asked questions

Where do I find the nutrient values per 100 g for each ingredient?
The best free source is USDA FoodData Central (fdc.nal.usda.gov) — search any ingredient and the values are shown per 100 g. Commercial packaging also lists per-100 g values in the EU or per-serving in the US (convert by dividing by serving weight and multiplying by 100). Apps like Cronometer and MyFitnessPal also expose per-100 g data.
Is this tool accurate enough for commercial food labeling?
This generator gives a solid starting point but laboratory analysis is legally required for regulated food products sold in the US, EU, and Japan. Nutrient database values have inherent variability. Use this tool for recipe planning, home labeling, menu boards, and nutrition tracking — and commission an accredited lab for retail products where accuracy is legally mandated.
What are the FDA %Daily Values used?
The tool uses 2020 FDA %DV reference amounts: Total Fat 78 g, Saturated Fat 20 g, Sodium 2300 mg, Total Carbohydrate 275 g, Dietary Fiber 28 g. Protein %DV is not required on most labels and is omitted. These values are based on a 2000-calorie diet as per 21 CFR 101.9.
What is the difference between FDA, EU, and Japanese label formats?
The FDA format (US) displays bold calories prominently and uses %Daily Values in a vertical column. The EU format (EU Regulation 1169/2011) requires a tabular layout with values per 100 g and per portion side by side, using kJ alongside kcal. The Japanese format (食品表示基準) lists energy in kcal per 100 g or per serving in a vertical table without %DV. Select your target market above and the PDF layout changes accordingly.
Does my recipe data get sent to a server?
No. Everything runs locally in your browser. The pdf-lib library generates the PDF file directly in JavaScript — no data is uploaded anywhere. This means your proprietary recipes stay private.
How do I calculate the number of servings?
Weigh the finished recipe (or calculate total ingredient weight accounting for cooking losses like evaporation — typically 10–20% for baked goods). Divide by your intended serving weight. For example: 480 g finished cookies ÷ 30 g per cookie = 16 servings. Enter both the number of servings and a human-readable serving size label like "1 cookie (30g)".