Espresso Calculator - Dose, Yield & Extraction Time

Calculate exact portafilter dry coffee dose, liquid espresso yield weight, extraction flow rate (g/sec), and shot time for Ristretto, Normale, and Lungo shots.

100% Free No Signup Runs Locally Barista Flow Dynamics
Calculated Espresso Shot Profile 36.0g Yield | Flow: 1.29 g/sec Dose: 18.0g | Ratio 1:2.0 | Shot Time: 28s | Ideal Dial-in Range ✅
Barista Extraction & Flow Metrics
Extraction Metric Calculated Target Dial-In Guidance & Sensory Note

Espresso Calculator - Dose, Yield & Extraction Time

Espresso Calculator is a technical barista application engineered for coffee shop owners, home baristas, and espresso enthusiasts. It computes exact dry coffee dose mass in grams, liquid espresso yield weight, extraction flow rate in grams per second, and shot timing diagnostics across Ristretto, Normale, and Lungo extraction profiles inside client-side JavaScript memory.

Understanding Espresso Calculator

A home barista pulling a double shot of espresso on a commercial 58mm E61 machine doses 18 grams of fine ground coffee into the portafilter basket. Pressing the pump switch starts a extraction stream that yields 60 grams of liquid espresso in only 16 seconds. Sampling the shot reveals an intensely sour, salty, and thin beverage lacking crema structure. The shot pulled poorly because a rapid 3.75 gram-per-second flow rate indicates an overly coarse grind size that allowed 9-bar water pressure to rush through the puck before sweet organic compounds and caramelized sugars dissolved.

Entering an 18-gram dose, 1:2.0 Normale ratio, and 28-second target shot time into this calculator displays the ideal target specifications: 36.0 grams of liquid espresso yield, a calibrated 1.29 gram-per-second flow rate, and a recommendation to adjust the grinder collar finer to restrict water flow.

Liquid Extraction Ratio Brew Solute Extraction Target Brew Ratio: 1:15 – 1:18 Solute Weight: 18g – 22g Total Yield: 300mL – 350mL extraction = yield / ratio
Scale under bottomless portafilter measuring 36 grams of liquid espresso yield

Espresso extraction is a high-pressure solvent extraction process governed by Darcy's law of fluid flow through porous media ($Q = \frac{k A \Delta P}{\mu L}$). Nine bars of water pressure (130 psi) force 93°C water through a tightly compressed bed of micro-ground coffee particles. Managing portafilter dry dose mass ($m_{dose}$), liquid yield weight ($m_{yield}$), and extraction time ($t$) controls the extraction yield percentage (EY%), ensuring optimal balance between sweet lipids, pleasant acids, and bitter chlorogenic compounds.

How Espresso Calculator Works

When you input dry coffee dose mass, select a brew ratio, specify actual shot duration, and select portafilter basket size, the calculator executes an extraction fluid dynamics algorithm. Step one calculates target liquid espresso yield weight: yield_grams = dose_grams * brew_ratio. An 18-gram dose at a 1:2.0 Normale ratio yields 36.0 grams of liquid espresso.

Step two computes extraction flow rate: flow_rate = yield_grams / shot_time_seconds. A 36-gram yield extracted in 28 seconds produces a flow rate of 1.29 g/sec. Step three evaluates flow rate threshold parameters: ideal flow rates range between 1.1 and 1.6 g/sec. Flow rates above 1.8 g/sec trigger a "Grind Finer" diagnostic alert, while flow rates below 0.9 g/sec trigger a "Grind Coarser" alert. Step four computes portafilter puck depth density based on basket diameter (58mm, 54mm, or 51mm).

The Math Behind It

The core espresso formula engine operates in client-side JavaScript:

// Technical espresso fluid extraction solver
function computeEspressoSpecs(doseGrams, ratioVal, shotSecs, basketMm) {
    const yieldGrams = doseGrams * ratioVal;
    const flowRateGps = yieldGrams / shotSecs;

    let statusMsg = 'Ideal Extraction';
    if (flowRateGps > 1.75) statusMsg = 'Fast / Under-Extracted (Grind Finer)';
    else if (flowRateGps < 0.90) statusMsg = 'Slow / Over-Extracted (Grind Coarser)';

    const estEyPct = 18.0 + (shotSecs / 28.0) * 2.5;

    return {
        yieldGrams: yieldGrams.toFixed(1),
        flowRate: flowRateGps.toFixed(2),
        status: statusMsg,
        eyPct: estEyPct.toFixed(1)
    };
}

Liquid Mass vs Crema Volumetric Science

Freshly pulled espresso contains emulsified CO2 bubbles suspended in liquid lipids. Crema expands visual volume unpredictably. A shot measuring 36 milliliters in a shot glass may contain only 24 grams of actual liquid if crema is thick. Baristas weigh espresso output in grams on a scale under the portafilter to achieve reproducible extraction ratios.

Practical Uses for Espresso Calculator

Espresso Machine Grinder Dial-In: Calibrate new coffee bean roasts by adjusting grinder settings to achieve a 1:2 ratio in 28 seconds.

Ristretto Shot Formulation: Calculate tight 1:1.5 ratio parameters (18g dose : 27g yield) for dense, low-acid espresso shots for flat whites.

Lungo Shot Scaling: Compute extended 1:2.5 ratio parameters (18g dose : 45g yield) for bright, high-clarity single-origin coffees.

Commercial Basket Size Tuning: Adjust dry coffee dose when switching between 58mm commercial portafilters (18g-20g) and 54mm home baskets (16g-18g).

Espresso Barista Quality Control: Audit shift-to-shift extraction consistency across commercial coffee shop grinders.

Specialty Single-Origin Profiling: Fine-tune flow rate targets (1.2 g/sec) to highlight delicate floral notes in Ethiopian light roasts.

Getting the Most Out of Espresso Calculator

Weigh liquid espresso yield in grams on a digital scale under the cup. Visual shot glass volume markings are unreliable due to crema aeration variances. Placing a scale directly under the portafilter allows stopping extraction precisely at 36.0 grams.

Maintain a consistent 30-pound tamping pressure. Uneven or angled tamping creates density fractures in the coffee puck, causing 9-bar water pressure to channel through fissures and ruin flavor balance.

Use a Weiss Distribution Technique (WDT) needle tool. Stirring dry coffee grounds in the portafilter basket with 0.3mm needles breaks up static clumps, ensuring uniform puck density and eliminating micro-channeling.

Flush group heads before inserting the portafilter. Purging 2 ounces of hot water flushes residual coffee oils and stabilizes group head temperature to 93°C (200°F) before locking in the basket.

Adjust grinder settings in small micro-stepped increments. High-pressure espresso is sensitive to particle size. Moving grinder collars by tiny increments changes shot times by 3 to 5 seconds.

Clean portafilter baskets with espresso detergent daily. Accumulated coffee oils turn rancid, contaminating fresh shots with bitter astringency regardless of proper dose and timing math.

Espresso Calculator Technical Specifications

Algorithm & Fluid Dynamic Formula

Espresso flow rate solver: Liquid yield calculated via extraction ratio ($m_{yield} = m_{dose} \times R_{brew}$). Extraction flow rate calculated via mass displacement velocity ($Q = \frac{m_{yield}}{t_{shot}}$). Diagnostic logic evaluates flow rate against 1.1 to 1.6 g/sec ideal barista windows.

Execution Speed & Efficiency

Calculations execute within 0.1 milliseconds in client-side JavaScript memory without external server latency.

Data Privacy & Local Execution

100 percent local browser execution. No espresso doses, shot times, or barista profiles are stored or transmitted online.

Browser Support

Fully compliant with modern ECMAScript 5+ standards across Chrome, Safari, Firefox, Edge, and mobile web browsers.

Feature This Tool Standard Shot Timer Shot Glass Volume Line
Calculation Speed < 1 ms Simple timer count Visual estimate
Flow Rate Metric Calculates exact g/sec velocity Ignored Uncalibrated
Basket Calibration 58mm E61 vs 54mm Breville vs 51mm Generic 58mm only None
Diagnostic Dial-In Automated Grind Finer/Coarser alert Manual decision Unreliable due to crema

Frequently Asked Questions

What is a standard espresso extraction ratio for a double shot?

A standard double shot (Normale) utilizes a 1:2 dose-to-yield ratio, extracting 36 grams of liquid espresso from an 18-gram dry coffee dose in 25 to 30 seconds.

What is the difference between Ristretto, Normale, and Lungo espresso shots?

Ristretto uses a tight 1:1 to 1:1.5 ratio (18g dose : 27g yield) for concentrated sweet body. Normale uses a balanced 1:2 ratio (18g dose : 36g yield). Lungo uses a longer 1:2.5 to 1:3 ratio (18g dose : 54g yield) for higher clarity and bitter balance.

What is ideal espresso extraction flow rate?

Optimal espresso extraction flow rate ranges between 1.2 and 1.6 grams of liquid espresso per second. Flow rates above 2.0g/sec indicate under-extraction (sour, thin), while flow rates below 0.8g/sec indicate over-extraction (bitter, harsh).

Why is liquid espresso measured by weight in grams rather than volume in fluid ounces?

Freshly pulled espresso contains volatile carbon dioxide crema foam that alters visual liquid volume by up to 50 percent. Weighing liquid yield on a scale eliminates crema volume errors.

What causes espresso channeling during shot extraction?

Channeling occurs when high-pressure water (9 bars) finds paths of least resistance through unevenly distributed or un-tamped coffee pucks, resulting in simultaneous sour under-extraction and bitter over-extraction.

Coffee Brewing Ratio Calculator - Pour over, French Press, and Cold Brew coffee calculator.

Tea Brewing Calculator - Water temperature, leaf ratio, and timer for green and black tea.

Microwave Wattage Converter - Thermal heating time adjustments across microwave power ratings.