Raw Rice to Cooked Rice Weight Calculator

Raw Rice to Cooked Rice Weight Calculator | Professional Culinary & Cost Tool :root { –primary: #004a99; –primary-dark: #003377; –success: #28a745; –text-dark: #333333; –text-light: #666666; –bg-light: #f8f9fa; –border: #e0e0e0; –white: #ffffff; –shadow: 0 4px 6px rgba(0,0,0,0.05); –radius: 8px; } * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; background-color: var(–bg-light); color: var(–text-dark); line-height: 1.6; } /* Layout Container */ .container { max-width: 960px; margin: 0 auto; padding: 20px; width: 100%; } /* Header */ header { text-align: center; padding: 40px 0; margin-bottom: 20px; border-bottom: 1px solid var(–border); } h1 { color: var(–primary); font-size: 2.5rem; margin-bottom: 10px; font-weight: 700; } .subtitle { color: var(–text-light); font-size: 1.1rem; } /* Calculator Section */ .loan-calc-container { background: var(–white); padding: 30px; border-radius: var(–radius); box-shadow: var(–shadow); margin-bottom: 50px; border: 1px solid var(–border); } .calc-title { color: var(–primary); font-size: 1.5rem; margin-bottom: 25px; border-bottom: 2px solid var(–primary); padding-bottom: 10px; display: inline-block; } /* Inputs */ .input-group { margin-bottom: 20px; position: relative; } label { display: block; font-weight: 600; margin-bottom: 8px; color: var(–text-dark); } .input-wrapper { position: relative; } input[type="number"], select { width: 100%; padding: 12px 15px; border: 1px solid #ced4da; border-radius: 4px; font-size: 16px; transition: border-color 0.2s; appearance: none; -webkit-appearance: none; background-color: #fff; } input[type="number"]:focus, select:focus { outline: none; border-color: var(–primary); box-shadow: 0 0 0 3px rgba(0, 74, 153, 0.1); } .helper-text { font-size: 0.85rem; color: var(–text-light); margin-top: 5px; } .error-msg { color: #dc3545; font-size: 0.85rem; margin-top: 5px; display: none; } /* Buttons */ .btn-group { margin-top: 30px; display: flex; gap: 15px; } button { padding: 12px 24px; border: none; border-radius: 4px; font-size: 16px; font-weight: 600; cursor: pointer; transition: background 0.2s; } .btn-reset { background-color: #6c757d; color: white; } .btn-reset:hover { background-color: #5a6268; } .btn-copy { background-color: var(–primary); color: white; } .btn-copy:hover { background-color: var(–primary-dark); } /* Results */ .results-section { background-color: #f1f8ff; border: 1px solid #b8daff; padding: 25px; border-radius: var(–radius); margin-top: 30px; } .main-result { text-align: center; margin-bottom: 25px; } .main-result-label { font-size: 1.1rem; color: var(–text-dark); margin-bottom: 10px; } .main-result-value { font-size: 2.5rem; color: var(–primary); font-weight: 800; } .intermediate-grid { display: flex; flex-direction: column; gap: 15px; } .int-item { background: white; padding: 15px; border-radius: 6px; border: 1px solid var(–border); display: flex; justify-content: space-between; align-items: center; } .int-label { font-weight: 600; color: var(–text-light); } .int-value { font-weight: 700; color: var(–text-dark); font-size: 1.1rem; } .formula-box { margin-top: 20px; font-size: 0.9rem; color: var(–text-light); background: rgba(255,255,255,0.7); padding: 10px; border-radius: 4px; border-left: 3px solid var(–primary); } /* Charts & Tables */ .visuals-container { margin-top: 40px; } .chart-wrapper { background: white; padding: 20px; border-radius: var(–radius); border: 1px solid var(–border); margin-bottom: 30px; text-align: center; } canvas { max-width: 100%; height: auto; } .data-table { width: 100%; border-collapse: collapse; background: white; border-radius: var(–radius); overflow: hidden; box-shadow: var(–shadow); margin-top: 20px; } .data-table th, .data-table td { padding: 12px 15px; text-align: left; border-bottom: 1px solid var(–border); } .data-table th { background-color: var(–primary); color: white; font-weight: 600; } .data-table tr:hover { background-color: #f1f1f1; } .caption { text-align: center; font-size: 0.9rem; color: var(–text-light); margin-top: 10px; font-style: italic; } /* Article Content */ .content-section { background: var(–white); padding: 40px; border-radius: var(–radius); box-shadow: var(–shadow); margin-top: 40px; } .content-section h2 { color: var(–primary); font-size: 1.8rem; margin-top: 30px; margin-bottom: 15px; border-bottom: 1px solid #eee; padding-bottom: 8px; } .content-section h3 { color: var(–text-dark); font-size: 1.4rem; margin-top: 25px; margin-bottom: 12px; } .content-section p { margin-bottom: 18px; font-size: 1.05rem; } .content-section ul, .content-section ol { margin-bottom: 20px; padding-left: 25px; } .content-section li { margin-bottom: 10px; } /* Footer */ footer { text-align: center; padding: 40px 0; color: var(–text-light); font-size: 0.9rem; margin-top: 40px; border-top: 1px solid var(–border); } /* Responsive */ @media (max-width: 768px) { .container { padding: 15px; } h1 { font-size: 1.8rem; } .main-result-value { font-size: 2rem; } .content-section { padding: 20px; } }

Raw Rice to Cooked Rice Weight Calculator

Precision culinary tool for chefs, meal preppers, and food cost analysis

Calculator

White Rice (Long Grain) – Yield 3.0x White Rice (Short Grain) – Yield 2.5x Basmati Rice – Yield 2.5x Jasmine Rice – Yield 2.8x Brown Rice – Yield 2.6x Wild Rice – Yield 3.5x Sushi Rice – Yield 2.4x Custom Yield Factor…
Different varieties absorb water at different rates.
Enter the multiplier (e.g., 3.0 means 100g raw becomes 300g cooked).
Please enter a valid positive number.
Cups (US Standard) Grams (g) Kilograms (kg) Ounces (oz) Pounds (lbs)
Total cost for the quantity entered above (for cost analysis).
Estimated Cooked Weight
3.00 Cups
Total Water Absorbed 2.00 Cups
Est. Servings (150g/0.75cup cooked) 4 Servings
Cost per Cooked Serving $0.00
Formula Used: Cooked Weight = Raw Weight × Yield Factor.
Water Absorbed = Cooked Weight – Raw Weight.
Figure 1: Weight distribution of the final cooked product.
Table 1: Quick Reference Conversion (Based on selected variety)
Raw Amount Est. Cooked Weight Water Required Servings

What is a Raw Rice to Cooked Rice Weight Calculator?

A raw rice to cooked rice weight calculator is an essential kitchen utility for chefs, home cooks, and nutritionists. It solves a common culinary problem: predicting exactly how much cooked food will result from a specific amount of dry grain. Because rice expands significantly during the cooking process by absorbing water, the final weight and volume are often 2.5 to 3.5 times greater than the starting raw ingredients.

This tool is primarily used for meal planning, inventory management in restaurants, and macronutrient tracking. Misjudging the expansion ratio can lead to significant food waste or insufficient portions. Whether you are cooking Basmati, Jasmine, or Short-Grain Sushi rice, understanding the uncooked to cooked rice conversion is critical for consistency.

Rice Yield Formula and Mathematical Explanation

The calculation relies on a "Yield Factor" or "Expansion Ratio." While different cooking methods (steaming, boiling, pilaf) affect the final weight, the standard formula used in professional kitchens is:

Cooked Weight = Raw Weight × Yield Factor

Water Absorbed = Raw Weight × (Yield Factor – 1)

Variables Table

Variable Meaning Typical Range
Raw Weight Mass or volume of dry rice before washing Any
Yield Factor Multiplier representing expansion 2.4x (Sushi) – 3.5x (Wild)
Water Absorbed Mass of water retained in the final grain 1.4x – 2.5x of raw weight

Practical Examples (Real-World Use Cases)

Example 1: Meal Prepping for the Week

Scenario: You need to prepare 10 lunches, each requiring 150 grams of cooked white rice. You need to know how much dry rice to buy and cook.
Target Output: 150g × 10 = 1,500g cooked rice.
Rice Type: Long Grain White (Yield Factor ~3.0).
Calculation: Raw Weight = Target Cooked Weight / Yield Factor.
Math: 1,500g / 3.0 = 500g.
Result: You need to cook exactly 500g of dry rice.

Example 2: Restaurant Food Costing

Scenario: A restaurant buys Basmati rice at $4.00 per kilogram. A serving size is 200g of cooked rice. The chef needs to know the cost per serving.
Rice Type: Basmati (Yield Factor ~2.5).
Conversion: 1kg (1000g) raw becomes 2,500g cooked.
Servings per kg: 2,500g / 200g = 12.5 servings.
Cost Calculation: $4.00 / 12.5 servings.
Result: The rice cost per plate is $0.32.

How to Use This Raw Rice to Cooked Rice Weight Calculator

  1. Select Rice Variety: Choose the specific type of grain (e.g., Brown, Jasmine). This automatically adjusts the Yield Factor based on standard culinary data.
  2. Enter Quantity: Input the amount of dry rice you have or plan to use.
  3. Select Unit: Toggle between grams, cups, ounces, or pounds. The calculator handles all unit conversions internally.
  4. Review Results: The tool instantly displays the total cooked weight, the amount of water required, and estimated servings.
  5. Optional Costing: Enter the price of your raw bag to see the cost per cooked serving.

Key Factors That Affect Rice Yield Results

While the raw rice to cooked rice weight calculator provides a highly accurate estimate, several physical and financial factors can influence the exact outcome:

  • Rice Variety: Short-grain rice tends to be starchier and stickier, often holding less volume but more density than fluffy long-grain varieties like Basmati.
  • Age of the Grain: "Old crop" rice is drier and harder, requiring more water and expanding more than "new crop" rice, which has higher moisture content.
  • Washing/Rinsing: Rinsing rice removes surface starch. While this prevents clumping, it also hydrates the grain slightly before cooking, affecting the precise water absorption ratio.
  • Cooking Method: The absorption method (pot with tight lid) retains more weight than the boil-and-drain method (pasta style), where excess starch and water are discarded.
  • Evaporation Rate: Rice cookers are sealed and minimize evaporation compared to stove-top cooking, usually resulting in a higher yield percentage.
  • Resting Time: Letting rice "steam" off-heat for 10 minutes allows moisture to redistribute, making the yield appear fluffier and more voluminous.

Frequently Asked Questions (FAQ)

1. What is the standard ratio of raw to cooked rice?

The general rule of thumb is the 1:3 rule for volume. 1 cup of raw white rice typically yields about 3 cups of cooked rice. By weight, the ratio is closer to 1:2.5 or 1:3 depending on water usage.

2. Does brown rice weigh more after cooking than white rice?

Not necessarily. Brown rice absorbs water more slowly due to the bran layer. However, because it requires more water to cook, the final weight expansion is comparable, often around 2.6x to 2.8x.

3. How do I calculate dry rice for 50 people?

If you assume a standard serving of 150g cooked rice per person, you need 7.5kg of cooked rice. Using a yield factor of 3.0, you would need 2.5kg of dry rice.

4. Why did my rice yield less than the calculator predicted?

This usually happens if the heat was too high (excessive evaporation) or the lid was loose. It can also occur if the raw rice was very old and dry.

5. How many grams of raw rice make 100g cooked?

Using a 3x yield factor: 100g cooked / 3 = approximately 33.3g of raw rice.

6. Does rinsing rice change the weight?

Technically, yes. Rinsed rice absorbs a small amount of water (approx 3-5%) during the washing process, but for general cooking calculations, this is negligible.

7. What is the calorie difference between raw and cooked rice?

Calories do not change during cooking; only the density changes. 100g of raw rice has ~360 calories. Those 360 calories might turn into 300g of cooked rice. Therefore, 100g of cooked rice has only ~120 calories.

8. Can I use this calculator for quinoa or other grains?

While the logic is similar, the yield factors differ. Quinoa typically expands by 2.8x. You can use the "Custom Yield Factor" option in the calculator and set it to 2.8 for accurate results.

Related Tools and Internal Resources

Expand your kitchen mathematics toolkit with these related resources:

© 2023 Culinary Financial Tools. All rights reserved.
Disclaimer: Yields are approximations based on standard cooking methods.

// — Data & State — var riceData = { "white_long": { factor: 3.0, label: "White Long Grain" }, "white_short": { factor: 2.5, label: "White Short Grain" }, "basmati": { factor: 2.5, label: "Basmati" }, "jasmine": { factor: 2.8, label: "Jasmine" }, "brown": { factor: 2.6, label: "Brown Rice" }, "wild": { factor: 3.5, label: "Wild Rice" }, "sushi": { factor: 2.4, label: "Sushi Rice" }, "custom": { factor: 3.0, label: "Custom" } }; // Standard serving size in grams (cooked) var SERVING_SIZE_GRAMS = 150; // Cup to Grams (approx for Rice) var CUP_TO_GRAMS_RAW = 185; var CUP_TO_GRAMS_COOKED = 185; // This varies, but for volume conversion logic we use expansion // — Main Calculation Function — function calculateRice() { // 1. Get Inputs var riceTypeSelect = document.getElementById("riceType"); var selectedType = riceTypeSelect.value; var rawAmountInput = document.getElementById("rawAmount"); var rawVal = parseFloat(rawAmountInput.value); var unitType = document.getElementById("unitType").value; var costInput = document.getElementById("costRaw"); var costVal = parseFloat(costInput.value) || 0; var customYieldInput = document.getElementById("customYield"); // Toggle custom input var customGroup = document.getElementById("customYieldGroup"); if (selectedType === "custom") { customGroup.style.display = "block"; riceData["custom"].factor = parseFloat(customYieldInput.value) || 3.0; } else { customGroup.style.display = "none"; } // Validation var errorMsg = document.getElementById("rawAmountError"); if (isNaN(rawVal) || rawVal 0 && costVal > 0) { costPerServing = costVal / servings; } // 3. Format Output based on selected Unit var displayCooked = 0; var displayWater = 0; var unitLabel = ""; if (unitType === "grams") { displayCooked = cookedWeightGrams; displayWater = waterAbsorbedGrams; unitLabel = "g"; } else if (unitType === "kg") { displayCooked = cookedWeightGrams / 1000; displayWater = waterAbsorbedGrams / 1000; unitLabel = "kg"; } else if (unitType === "oz") { displayCooked = cookedWeightGrams / 28.3495; displayWater = waterAbsorbedGrams / 28.3495; unitLabel = "oz"; } else if (unitType === "lbs") { displayCooked = cookedWeightGrams / 453.592; displayWater = waterAbsorbedGrams / 453.592; unitLabel = "lbs"; } else if (unitType === "cups") { // Volume logic: Raw Cups * Yield Factor (Volume expansion matches weight expansion roughly for rice) displayCooked = rawVal * yieldFactor; displayWater = displayCooked – rawVal; unitLabel = "Cups"; } // Update DOM document.getElementById("resultCooked").innerHTML = displayCooked.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}) + " " + unitLabel; document.getElementById("resultWater").innerHTML = displayWater.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}) + " " + unitLabel; document.getElementById("resultServings").innerHTML = servings.toFixed(1) + " Servings"; document.getElementById("resultCost").innerHTML = "$" + costPerServing.toFixed(2); // Update Chart updateChart(rawWeightGrams, waterAbsorbedGrams); // Update Table updateTable(selectedType, unitType, yieldFactor); } // — Chart Drawing (Canvas) — function updateChart(rawGrams, waterGrams) { var canvas = document.getElementById("riceChart"); var ctx = canvas.getContext("2d"); var width = canvas.width; var height = canvas.height; // Clear ctx.clearRect(0, 0, width, height); var total = rawGrams + waterGrams; if (total === 0) return; var rawPct = rawGrams / total; var waterPct = waterGrams / total; // Dimensions for bars var barWidth = 100; var spacing = 50; var startX = (width – (barWidth * 2 + spacing)) / 2; var chartBottom = height – 40; var maxBarHeight = height – 60; // Colors var colorRaw = "#6c757d"; // Grey for dry var colorWater = "#004a99"; // Blue for water // Draw Raw Bar var rawHeight = maxBarHeight * rawPct; var waterHeight = maxBarHeight * waterPct; // We want to show a stacked bar to represent the total composition? // Or two separate bars? // Let's do a Stacked Bar: [Raw][Water] = Total // New Strategy: Single Stacked Bar in center var stackWidth = 120; var stackX = (width – stackWidth) / 2; // Raw Segment (Bottom) ctx.fillStyle = colorRaw; var h1 = maxBarHeight * rawPct; var y1 = chartBottom – h1; ctx.fillRect(stackX, y1, stackWidth, h1); // Water Segment (Top) ctx.fillStyle = colorWater; var h2 = maxBarHeight * waterPct; var y2 = y1 – h2; ctx.fillRect(stackX, y2, stackWidth, h2); // Labels ctx.fillStyle = "#333"; ctx.font = "bold 14px sans-serif"; ctx.textAlign = "center"; // Label Raw ctx.fillText("Raw Grain", stackX + stackWidth/2, y1 + h1/2 + 5); ctx.fillStyle = "#fff"; ctx.fillText(Math.round(rawPct*100) + "%", stackX + stackWidth/2, y1 + h1/2 + 20); // Label Water ctx.fillStyle = "#fff"; ctx.font = "bold 14px sans-serif"; ctx.fillText("Absorbed Water", stackX + stackWidth/2, y2 + h2/2 + 5); ctx.fillText(Math.round(waterPct*100) + "%", stackX + stackWidth/2, y2 + h2/2 + 20); // Axis Line ctx.beginPath(); ctx.moveTo(50, chartBottom); ctx.lineTo(width – 50, chartBottom); ctx.strokeStyle = "#ccc"; ctx.stroke(); // Title ctx.fillStyle = "#004a99"; ctx.font = "16px sans-serif"; ctx.fillText("Composition of Cooked Product", width/2, 25); } // — Table Population — function updateTable(type, unit, factor) { var tbody = document.getElementById("conversionTableBody"); tbody.innerHTML = ""; var increments = [1, 2, 5, 10]; if (unit === "grams") increments = [100, 250, 500, 1000]; if (unit === "oz") increments = [5, 10, 20, 50]; for (var i = 0; i < increments.length; i++) { var val = increments[i]; var cooked = val * factor; var water = cooked – val; var servings = 0; // Calc servings roughly if (unit === "grams") servings = cooked / 150; else if (unit === "cups") servings = (cooked * 185) / 150; // crude conversion else servings = (cooked * (unit === "kg" ? 1000 : 28.35)) / 150; var row = "" + "" + val + " " + unit + "" + "" + cooked.toFixed(2) + " " + unit + "" + "" + water.toFixed(2) + " " + unit + "" + "" + servings.toFixed(1) + "" + ""; tbody.innerHTML += row; } } function resetCalculator() { document.getElementById("riceType").value = "white_long"; document.getElementById("rawAmount").value = "1"; document.getElementById("unitType").value = "cups"; document.getElementById("costRaw").value = ""; document.getElementById("customYield").value = "3.0"; calculateRice(); } function copyResults() { var cooked = document.getElementById("resultCooked").innerText; var water = document.getElementById("resultWater").innerText; var servings = document.getElementById("resultServings").innerText; var text = "Rice Calculation Results:\n" + "Cooked Weight: " + cooked + "\n" + "Water Absorbed: " + water + "\n" + "Est. Servings: " + servings; // Create temp input to copy var tempInput = document.createElement("textarea"); tempInput.value = text; document.body.appendChild(tempInput); tempInput.select(); document.execCommand("copy"); document.body.removeChild(tempInput); var btn = document.querySelector(".btn-copy"); var originalText = btn.innerText; btn.innerText = "Copied!"; setTimeout(function() { btn.innerText = originalText; }, 2000); } // Initialize window.onload = function() { calculateRice(); };

Leave a Comment