Recipe Food Cost Calculator
Calculate recipe cost per serving from pack prices and usable yields, then compare a current selling price with your food-cost target.{{ resultsReady ? 'Food cost per serving' : 'Check recipe inputs' }}
{{ summaryLine }}
{{ summaryAnnouncement }}
{{ exportStatus.cost_card }}
{{ computation.normalizedInputs.recipe_name }}
{{ computation.normalizedInputs.servings }} servings · {{ percent(computation.normalizedInputs.target_percent) }} target food cost · {{ percent(computation.normalizedInputs.waste_percent) }} extra cost allowance.
How this cost is built
Each line uses pack price × usable recipe quantity ÷ (pack quantity × yield fraction), in matching units. Ingredient costs are added, then the extra waste allowance is applied. Divide by finished servings for portion cost, then by the target fraction for a selling-price estimate.
Food only: excludes labor, packaging, overhead, sales tax and profit requirements. The amount left after food is not net profit. No yield byproduct credits or mass-to-volume density assumptions are included. Money is displayed to cents; CSV keeps calculation precision. A zero-cost recipe has no meaningful target margin.
Method: BC Cook Articulation Committee, BCcampus (2015, CC BY 4.0). Reviewed September 9, 2026.
Yield testing and edible-portion costStandard recipe and portion costing{{ exportStatus.ingredientLedger }}
| Ingredient | Pack price (USD) | Pack quantity | Usable quantity | Unit | Yield (%) | Purchased quantity needed | Trim quantity | Line cost (USD) | Yield uplift (USD) | Cost share (%) | Copy |
|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ row.name }} | {{ money(row.pack_price) }} | {{ number(row.pack) }} | {{ number(row.quantity) }} | {{ row.unit }} | {{ percent(row.yield_percent) }} | {{ number(row.purchased) }} | {{ number(row.trim) }} | {{ money(row.cost) }} | {{ money(row.yield_uplift) }} | {{ percent(row.share_percent) }} |
{{ exportStatus.priceComparison }}
| Scenario | Price (USD) | Food cost (%) | Left after food (USD) | Margin after food (%) | Copy |
|---|---|---|---|---|---|
| {{ row.name }} | {{ money(row.price) }} | {{ percent(row.food_cost_percent) }} | {{ money(row.after_food) }} | {{ percent(row.margin_percent) }} |
{{ exportStatus.ingredient_costs }}
Chart unavailable. The ingredient ledger still contains every cost.
Trimming a cheaper ingredient can erase its price advantage. Recipe food cost measures the cost of supplying the usable ingredients in a batch, then divides that cost among finished portions. It supports supplier comparisons, checks on portion size, and menu-price reviews when ingredient prices change.
The amount bought is the as-purchased quantity, often shortened to AP. The edible portion, or EP, is the usable amount left after the preparation being costed. Usable yield expresses how much of the purchased amount remains. An 80% yield means that 1 kg purchased provides 800 g usable, so the cost per usable kilogram is higher than the invoice price per kilogram.
For the same usable ingredient, these hypothetical purchases show why purchase price alone can give the wrong comparison.
| Purchase option | Price per purchased kg | Usable yield | Cost per usable kg |
|---|---|---|---|
| Produce requiring trim | $4.00 USD | 80% | $5.00 USD |
| Ready-prepared equivalent | $4.80 USD | 100% | $4.80 USD |
The ready-prepared option has a higher purchase price but a lower ingredient cost for the same usable weight. Preparation labor could change the full production-cost comparison further, but it is a separate expense. The yield assumption must describe the ingredient and preparation actually used, rather than a convenient percentage copied from another recipe.
Food consumed and cash spent on supplies are also different amounts. At full usable yield, half a pack used in a batch contributes half the pack's cost, even when a whole pack must be bought. The unused remainder is not automatically a cost of that recipe or a waste loss.
Ingredient yield is different from the number of finished servings. A batch divided into more equal portions has a lower cost per portion because each portion is smaller. Producing more portions of the original size requires more ingredients. A useful cost record therefore describes both the ingredient quantities and the portion count those quantities actually produce.
Complete dish costing includes accompaniments, sauces, cooking oil and garnishes as well as the main ingredient. A separate allowance can represent additional service waste or uncertainty, but losses already included in preparation yields should not be charged again.
Food cost percentage is the share of selling price assigned to food. It is not a markup percentage added to ingredient cost. For an unchanged portion cost, a lower target food cost percentage requires a higher selling price. That price remains a food-cost scenario, not proof of profitability: the money left after food must still cover non-food expenses and the business's profit requirements.
How to Use This Tool:
Gather current supplier prices and usable ingredient quantities for one batch. The opening Carrot soup recipe has illustrative prices. All money is in USD, with no currency conversion.
- Enter a Recipe name and the Finished servings made by your ingredient quantities. Changing servings divides the same batch; it does not scale ingredients.
- Open each ingredient or choose Add ingredient. Enter the whole purchase-pack price and quantity, the usable recipe quantity and its usable yield. Purchase and usable amounts must both measure mass, volume or item count.
Changing between compatible units converts the amount. Crossing mass, volume or count clears it. Enter the new quantity and match the other unit to the same measurement dimension.
- Choose Target food cost as the share of selling price assigned to food. The initial 25% is a scenario, not an industry recommendation. Under Advanced, add an Extra waste allowance only for loss not already covered by yield. Enter a before-tax Current selling price (USD) for comparison, or leave it blank.
- Check Food cost per serving and the quantities and costs in the Ingredient ledger against invoices and measured yields. Check recipe inputs means a required field needs correction; incomplete recipes produce no partial total. An invalid current selling price removes only its comparison and can be corrected or cleared. Load example recipe replaces an unreadable saved recipe and all settings with the soup example.
Interpreting Results:
Cost before yield loss values the usable quantities as though every ingredient had 100% yield. Yield-loss cost uplift is the extra cost caused by the entered preparation losses. That uplift is already included in the Usable ingredient subtotal; adding it to the subtotal again would double-count it.
A result can be available even when an ingredient has no assigned cost. New ingredient rows begin with zero price and zero usable quantity, and both values are allowed. Before relying on the total, check zero-cost lines and compare the largest costs with your invoices and measured yields.
Target selling price per serving is the price implied by your chosen food-cost share. In Price comparison, both Left after food and Margin after food subtract the allowance-adjusted portion cost, but neither is net profit. Labor, packaging, overhead, sales tax and profit requirements are not calculated. Use the comparison alongside a separate review of those expenses; these are planning estimates, not financial or accounting advice.
Ingredient cost shares and the chart use the yield-adjusted subtotal before extra waste. The chart combines costs beyond the ten largest as Remaining ingredients; the ledger keeps every ingredient for checking.
Technical Details:
Usable-ingredient cost follows an inverse-yield relationship. Supplying a fixed usable amount requires more purchased material as yield falls. The purchase price per unit is held constant, and all of that purchased cost is assigned to the usable ingredient without credits for recovered byproducts.
Usable ingredients and batch cost
For ingredient i, first calculate purchased quantity needed, Ri, then its line cost, Ci. Purchase-pack and usable quantities must be converted to matching units before division.
| Symbol | Meaning | Unit or basis |
|---|---|---|
| Pi | Purchase-pack price | USD for the stated pack |
| Ai | Purchase-pack quantity | kg, L or each after conversion |
| Qi | Usable recipe quantity | The same unit as the pack quantity |
| yi | Usable yield expressed as a fraction | Entered yield percentage divided by 100 |
The remaining ingredient calculations identify the quantity lost, the cost without yield loss and the yield-related cost uplift. Here Ti is trim quantity, C0,i is cost before yield loss, and Ui is yield uplift in USD.
Trim quantity represents all quantity lost under the entered yield assumption, including cooking loss when that is part of the yield. It is not necessarily recoverable solid trim. The batch's cost before yield loss is the sum of the full-yield line costs. Subtracting it from the usable ingredient subtotal gives the batch's yield-loss cost uplift.
For a hypothetical $8 pack containing 2 kg, a recipe needing 500 g usable at 50% yield requires 1 kg purchased. The line cost is $4, compared with $2 at full yield, giving $2 of yield uplift and 0.5 kg of quantity loss. A 50% yield therefore doubles this ingredient's cost for the same usable quantity; it does not merely add 50%.
Sum the yield-adjusted line costs, apply the extra cost allowance, then divide by servings and the target food-cost fraction. In these equations, S is the usable ingredient subtotal, W is the extra allowance in USD, B is total batch cost, c is cost per serving and pt is target selling price per serving.
N is Finished servings, w is the entered Extra waste allowance percentage, and t is the entered Target food cost percentage. Both percentages are divided by 100 before use. The extra allowance increases cost only: it does not increase the ledger's purchased quantities or reduce the serving count. A 10% allowance adds 10% to the subtotal; it is not a physical-loss calculation that divides by 90%.
For a positive ingredient subtotal, each ingredient's cost share, Hi, is its yield-adjusted line cost divided by that subtotal. The extra allowance is not part of this percentage.
Selling-price comparison
For a positive selling price p per serving, food cost percentage F compares portion cost with revenue. The amount left after food, L, is in USD per serving, and the margin after food, M, expresses that remainder as a percentage of price.
For a positive-cost batch, the target-price comparison reports the entered target percentage and a margin of 100% minus that percentage. At a 100% target, price equals portion cost and nothing remains after food. A valid current price below portion cost is still compared: food cost exceeds 100%, and both the dollar remainder and margin are negative.
An exactly zero-cost batch produces a $0 target price and dashes for the target food-cost and margin percentages, because that scenario has no positive selling-price denominator. All ingredient cost shares are then shown as 0%. A valid positive current price can still be compared with the zero cost, producing 0% food cost and 100% margin after food, without accounting for any excluded expenses.
Units and quantity basis
Each ingredient's purchase and recipe quantities must both measure mass, both measure volume, or both count items. Different ingredients may use different dimensions. Ledger quantities are expressed in kilograms, litres or individual items using the following factors.
| Input unit | Value of one unit | Ledger unit |
|---|---|---|
| g | 0.001 | kg |
| kg | 1 | kg |
| oz | 0.028349523125 | kg |
| lb | 0.45359237 | kg |
| mL | 0.001 | L |
| L | 1 | L |
| US tsp | 0.00492892159375 | L |
| US tbsp | 0.01478676478125 | L |
| US fl oz | 0.0295735295625 | L |
| US cup | 0.2365882365 | L |
| US pt | 0.473176473 | L |
| US qt | 0.946352946 | L |
| US gal | 3.785411784 | L |
| each | 1 | each |
| dozen | 12 | each |
The US volume measures use US customary liquid relationships, not Imperial measures or a different measuring-cup convention. Ounces by weight and fluid ounces are not interchangeable. No ingredient density or item weight is assumed, so a flour weight cannot be paired with a cup quantity, and an egg count cannot be paired with a weight.
Usable quantity and yield must refer to the same preparation stage. The accepted yield range describes unchanged quantity or a loss, not an increase above the purchased quantity. No expansion-yield calculation is provided.
Purchased requirements are proportional amounts, not rounded shopping quantities. They can exceed one pack or include fractions of a pack or an item. There is no whole-pack ceiling, inventory deduction or automatic bulk-price discount. Actual procurement spending may therefore differ from the ingredient cost allocated to the recipe.
Accepted values
All endpoints below are included. Numeric entries must be finite numbers; blank required fields are not treated as zero. Recipe names must contain 1 to 80 characters after surrounding spaces are removed, and ingredient names must contain 1 to 60.
| Input | Minimum | Maximum | Requirement |
|---|---|---|---|
| Ingredient rows | 1 | 30 | Every row must be valid |
| Finished servings | 1 | 10,000 | Whole number |
| Purchase-pack price (USD) | 0 | 1,000,000 | Decimals allowed |
| Purchase-pack quantity | 0.000001 | 1,000,000,000 | In the selected purchase unit |
| Usable recipe quantity | 0 | 1,000,000,000 | In the selected recipe unit |
| Usable yield (%) | 0.01 | 100 | Decimals allowed |
| Target food cost (%) | 1 | 100 | Decimals allowed |
| Extra waste allowance (%) | 0 | 100 | Decimals allowed |
| Current selling price (USD) | 0.01 | 1,000,000 | Optional; may be left blank |
Pack and usable quantities accept decimals even when the unit is each or dozen. A zero price or zero usable quantity gives a zero line cost, but does not waive the requirements for a valid name, positive pack quantity, compatible units and an allowed yield.
Precision and price rounding
Calculations use unrounded values for line costs, totals and pricing. Money is displayed to cents, while quantities and percentages show up to four decimal places. Rounded line amounts may therefore differ slightly from a displayed total when added by hand. Cent rounding is for display, not a pricing policy that always rounds up or selects a menu-price ending. Re-entering a cent-rounded price can produce a slightly different food-cost percentage. A displayed $0.00 may also represent a small positive cost; the zero-cost percentage rule applies only when the calculated batch cost is exactly zero.
Privacy Notes:
Recipe arithmetic runs in your browser. The page address can carry recipe names, ingredient details and pricing assumptions to restore them, so sharing it may disclose confidential recipe or supplier information. Chart support loads from an external provider when needed; local calculation does not imply a page with no network activity.
Worked Examples:
Carrot soup with a service allowance
The example recipe uses 800 g of usable carrots from a $5, 1 kg pack at 80% yield, 1 L of stock from a $4, 2 L pack, and 100 mL of oil from a $10, 1 L pack. Stock and oil both use 100% yield. Their line costs are $5, $2 and $1, making an $8 ingredient subtotal. Four finished servings with no extra allowance cost $2 each, and a 25% food-cost target gives an $8 target selling price. Adding a 10% Extra waste allowance adds $0.80 without changing the ingredient quantities. The batch becomes $8.80, the portion cost becomes $2.20 and the target price becomes $8.80. At a $10 Current selling price, food cost is 22%, leaving $7.80 per serving and a 78% margin after food. Those are assumed costs and prices to compare, not a recommendation to sell the soup for either amount.
References:
- Yield Testing, BC Cook Articulation Committee, BCcampus, 2015.
- Controlling Food Costs, BC Cook Articulation Committee, BCcampus, 2015.
- NIST Guide to the SI, Appendix B.8: Factors for Units Listed Alphabetically, National Institute of Standards and Technology, SP 811, 2008.