Spirometry and Flow-Volume Loop Simulator
Animate a forced breath to draw the flow-volume loop and volume-time curve, read FEV1, FVC and FEV1/FVC, and name the pattern by ATS/ERS rules.
Simulator
Focus the loop and use the arrow keys: up and down change the pattern, left and right the severity. Space plays and pauses.
Flow-volume loop of one forced breath with healthy lungs. Flow out rises to a peak of 8.74 L/s, then falls in a straight line to zero at 4.6 L. The breath back in peaks at 5.06 L/s. FEV1 3.98 L, FVC 4.6 L, FEV1/FVC 0.865, read as normal spirometry. The healthy loop for the same lungs is drawn dashed.
- FEV1/FVC FEV1 over FVC: 3.977 L / 4.596 L. ATS/ERS call it low below its lower limit of normal, set here to 0.7.
- 0.8652
- Reading FEV1/FVC, 0.865, is at or above its lower limit of 0.7, FVC is 100 percent of predicted, at or above 80 percent, and neither limb of the loop is flat.
- Normal
- Severity grade Nothing abnormal to grade.
- None
- FEV1 Volume out by 1 s after time zero, which a tangent at peak flow puts 0.0263 s into the blow. Predicted, from the same lungs healthy: 3.977 L.
- 3.977 L
- FVC Volume out when the blow ends: under 25 mL came out in the last second, or 15 s had passed since time zero. Predicted: 4.596 L.
- 4.596 L
- PEF Peak expiratory flow, 524.4 L/min. Predicted: 8.74 L/s.
- 8.74 L/s
- FEV1 % predicted 100 × FEV1 / predicted FEV1 = 100 × 3.977 / 3.977.
- 100 %
- FVC % predicted 100 × FVC / predicted FVC = 100 × 4.596 / 4.596.
- 100 %
- Forced expiratory time From time zero to the end of the blow. A healthy blow is over in a few seconds; an obstructed one can run to the 15 s limit.
- 3.535 s
- This blow
- Healthy, predicted
- FEV1, 1 s after time zero
Loop shape and the upper airway
- FEF50/FIF50 FEF50, 4.604 L/s, over FIF50, 5.056 L/s: the flows out and back in with half the FVC moved. Miller and Hyatt (1973) found about 0.85 with a fixed lesion, 2.2 with a variable extrathoracic one and 0.32 with a variable intrathoracic one.
- 0.9106
- FEV1/PEF FEV1 in mL over PEF in L/min: 3977 / 524.4. Above 10 suggests an upper airway lesion (Empey, 1972).
- 7.583 mL per L/min
- PIF Peak inspiratory flow, the deepest point of the breath back in. Predicted: 5.056 L/s.
- 5.056 L/s
- Flat limb A limb counts as flat when a lesion holds its flow level over at least a tenth of the FVC. Here 0 L of the blow out and 0 L of the breath in are flat.
- None
Citing this tool
Last updated . Add the date you accessed it as well, which a citation of a page that can change asks for. If a specific result matters, cite the permalink from the tool’s share row instead of this page: it reproduces the exact parameters.
The equation
ATS/ERS interpretive strategies: Pellegrino et al. (2005), Stanojevic et al. (2022)
What is a flow-volume loop?
A flow-volume loop is the graph a spirometer draws of one forced vital capacity manoeuvre: the
flow of air at the mouth plotted against the volume breathed out, while the person blows out as
hard and as fast as they can from full lungs and then breathes straight back in. Breathing out is
drawn above the axis and breathing in below it, so the two limbs close into a loop. The number
that matters most is the ratio of the volume out in the first second, FEV1, to the whole volume
out, the forced vital capacity or FVC, and the ATS/ERS definition of airflow obstruction is
FEV1/FVC < LLN, a ratio below its lower limit of normal.
The same blow drawn against time is the volume-time curve. The two graphs carry the same information and show different parts of it well. The loop shows shape: the sharp early peak, a straight or scooped fall, and a plateau where a narrow central airway caps the flow. The volume-time curve shows timing: where one second falls, when the curve levels off, and how long the blow lasts.
Using the simulator
Choose a pattern and press Play: the forced breath animates along the loop and the volume-time curve, and the sketch of the airway beside the loop, on a wide screen, shows where a lesion sits and how far each phase squeezes it. Severity moves the chosen pattern from its mildest form to its most severe. The healthy vital capacity sets every predicted value, and the two lower limits decide the reading, because real ones come from a reference equation for the person’s age, height and sex. With the loop focused, the arrow keys change the pattern and the severity.
The readouts give FEV1, FVC and their ratio, peak expiratory flow, FEV1 and FVC as percentages of predicted, and the forced expiratory time. The reading and its severity grade come from those numbers and the shape of the loop, by the ATS/ERS rules and Miller and Hyatt’s, never from the pattern you chose: the mildest asthma reads as normal once the lower limit of FEV1/FVC is set to 0.68. Under the plot, FEF50/FIF50, FEV1/PEF and the length of any flat limb are the signs of an upper airway lesion. The healthy loop for the same lungs is dashed on both graphs.
Worked example: a healthy 4.6 L lung
The simulator opens on healthy lungs with a vital capacity of 4.6 L, Guyton and Hall’s textbook figure for a young adult man. They empty like a single compartment with a time constant of 0.5 s, so flow is the volume left divided by 0.5 s.
- With all of it in the lungs, flow could be
VC/τ = 4.6 / 0.5 = 9.2 L/s. -
The blow accelerates until
0.05 × 4.6 = 0.23 Lis out and meets that line atPEF = 9.2 × 0.95 = 8.74 L/s, or 524.4 L/min. -
The rise takes
2 × 0.23 / 8.74 = 0.0526 s, so time zero, halfway through it, is 0.0263 s into the blow, with0.23 / 4 = 0.0575 Lalready out: 1.25 percent of the FVC, inside the ATS/ERS limit. -
After the peak the 4.37 L left empties exponentially. One second after time zero
4.37 × exp(−(1 − 0.0263) / 0.5) = 0.6234 Lremains, soFEV1 = 4.6 − 0.6234 = 3.977 L. -
Each second takes the remainder down by a factor of e² = 7.389, so the last second brings out
25 mL with
0.025 / (e² − 1) = 0.0039 Lleft. The blow ends there, after an FET of 3.535 s, andFVC = 4.6 − 0.0039 = 4.596 L. - The ratio is
FEV1/FVC = 3.9766 / 4.5961 = 0.8652, well above 0.70. -
The breath back in peaks halfway at
PIF = 1.1 × 4.596 = 5.056 L/sand lasts π / 2.2 = 1.428 s. Halfway out, with 2.302 L left, flow was2.302 / 0.5 = 4.604 L/s, soFEF50/FIF50 = 4.604 / 5.056 = 0.9106. - FEV1 in mL over PEF in L/min is
3976.6 / 524.4 = 7.583.
Every one of those is a readout at the opening settings, and the reading is normal spirometry: the ratio is above its limit, FVC is 100 percent of predicted and neither limb is flat.
Reading the volume-time curve
A real blow does not start crisply, so the ATS/ERS 2019 standard sets time zero by back extrapolation: a tangent drawn at peak flow, with a slope equal to PEF, crosses zero volume at time zero, and every timed volume is measured from there. The volume out before it, the back-extrapolated volume, must stay under 5 percent of the FVC or 0.100 L, whichever is greater, or the blow had a hesitant start. FEV1 is the volume out by one second after time zero, that early volume included.
The blow ends at a plateau, the first moment at which less than 0.025 L has come out over the last second, or once the forced expiratory time reaches 15 s. A healthy blow is over in a few seconds. An obstructed one creeps on: asthma at 50 percent severity runs for 12.20 s, and COPD at full severity reaches the 15 s limit with air still in the chest, which is one reason its FVC falls.
Obstructive vs restrictive spirometry
Obstruction means air comes out slowly, so FEV1 falls further than FVC and the ratio drops below its lower limit. The lower limit is the 5th percentile of healthy people of the same age, height and sex, a z-score of −1.645, from a reference equation such as GLI 2012. The GOLD strategy for COPD uses a fixed ratio of 0.70 instead, which is simpler but misclassifies people at both ends of adult life: the lower limit falls with age, and in Swanney and colleagues’ 2008 study it crossed 0.70 at a median age of 42 in men and 48 in women, so a fixed 0.70 calls some healthy older people obstructed. The mildest asthma here has a ratio of 0.6878: obstructive against 0.70, normal against a lower limit of 0.68.
Restriction means the lungs hold less, so FVC is low while the ratio is normal or high, because what air there is comes out quickly. Restriction at 50 percent severity gives an FVC of 61.55 percent of predicted with a ratio of 0.9215, a narrow, tall loop. Spirometry can only suggest it, though: a restrictive pattern is confirmed by a low total lung capacity, which needs a body box or gas dilution. Without that measurement, a low FVC with a normal ratio is reported as a possible restrictive pattern, and when FEV1 is low as well, as it is here, the 2022 ERS/ATS standard calls it preserved ratio impaired spirometry, PRISm. A low ratio with a low FVC can be obstruction with air trapping or a mixed defect, and only total lung capacity tells them apart.
ATS/ERS 2005 graded any abnormality by FEV1 percent predicted: mild at 70 percent or more, moderate at 60 to 69, moderately severe at 50 to 59, severe at 35 to 49 and very severe below 35. The 2022 standard grades by z-score instead: mild from −1.65 to −2.5, moderate from −2.5 to −4 and severe below −4. The simulator uses the 2005 bands, since a z-score needs a reference equation.
Asthma and COPD on the loop
Both scoop the expiratory limb into a concave curve: flow falls away quickly after the peak and then trickles. Asthma at 50 percent severity gives FEV1 2.397 L, 60.27 percent of predicted, and a ratio of 0.5738, which is moderate obstruction. COPD at 50 percent has a sharper early peak, a deeper scoop and a ratio of 0.5534, with FEV1 52.56 percent of predicted, moderately severe. At full severity COPD is still blowing at 15 s and its FVC is down to 70.80 percent of predicted, which the simulator reads as obstruction with a low FVC: the air trapping that a measured total lung capacity would show.
The loop cannot tell asthma from COPD. What separates them is the history and the response to a bronchodilator, which this model does not give. ATS/ERS 2005 counted a rise in FEV1 or FVC of at least 12 percent and 200 mL as a significant response; the 2022 standard counts a rise of more than 10 percent of the predicted value. Asthma often reverses well and COPD, by definition, does not fully. The two also differ in what happens to oxygen once it reaches the blood, which the oxygen dissociation curve simulator follows, and in gas exchange, which the A-a gradient calculator measures and spirometry cannot.
Upper airway obstruction: fixed, extrathoracic and intrathoracic
A narrowing of the larynx or trachea caps the flow through it, and the limb it caps runs flat. Where the lesion sits decides which limb. Outside the chest, above the thoracic inlet, the airway is surrounded by atmospheric pressure: breathing in hard drops the pressure inside below it and sucks a floppy lesion shut, while breathing out pushes it open, so a variable extrathoracic lesion, such as a paralysed vocal cord, flattens only the inspiratory limb. Inside the chest the airway is surrounded by pleural pressure, which a forced blow raises above the pressure inside, so a variable intrathoracic lesion, such as tracheomalacia, flattens only the expiratory limb. A rigid narrowing, such as a stricture after intubation, caps both at a similar flow.
Miller and Hyatt (1973) gave the classic ratios of mid-volume flow out to flow in, FEF50/FIF50: about 0.85 for fixed lesions, 2.2 for variable extrathoracic ones and 0.32 for variable intrathoracic ones. Empey (1972) found FEV1 in mL over PEF in L/min usually below 10 in healthy people, with a mean of 7.3, and above 10 in every one of his 18 patients with upper airway obstruction; ATS/ERS 2005 suggested a lower cut-off of 8. The simulator shows how both arise. A fixed lesion at 50 percent severity caps both limbs at 2.654 L/s, so FEF50/FIF50 is 1. Its plateau outlasts the first second, and on a plateau that does, FEV1 is the cap times one second, 2.654 L, which puts FEV1/PEF at 1000 / 60 = 16.67 and the ratio, 0.5775, below 0.70. A central lesion can mimic obstruction on the ratio alone, which is why the reading looks at the shape first. A variable extrathoracic lesion at 70 percent gives FEF50/FIF50 2.194, and a variable intrathoracic one at full severity 0.3457.
How the model works
The lungs empty along an envelope: with a volume VR still in them above residual
volume, the most flow they give is F = (VC/τ) (VR/VC)n. With
n = 1 that is a single compartment emptying through a resistance, and the volume left falls
exponentially; above 1 flow falls faster than the volume does, which scoops the curve; below 1 it
bows outward, as stiff lungs do. The equation separates for any n, so every instant of the blow is
a closed form. Flow first rises in proportion to time until 5 percent of the vital capacity is
out, a lesion caps it at a fixed flow, the breath back in follows a half ellipse, and the end of
the blow is found by halving an interval until it is settled to the limit of double precision.
Each pattern is a set of these settings chosen to show the textbook shape, not a fit to any
patient, and the predicted values are the same model with healthy lungs.
Reading a loop is pattern recognition, as reading a rhythm strip is, and the ECG rhythm simulator does for heart block what this does for airflow. The breath itself is driven by the diaphragm and the intercostal muscles, with the abdominal muscles joining in on a forced blow out, and the chest wall muscles explorer shows the diaphragm and all three intercostal layers in 3D.
What this model leaves out
- Reference equations. Predicted values are this model’s healthy lungs, whose FEV1/FVC is 0.8652 at 4.6 L and stays between 0.86 and 0.87 at every size, and the lower limits are inputs. GLI 2012 predicts each from age, height, sex and ethnicity.
- Effort and technique. Every blow here is maximal and perfectly started. A slow start, a cough, a leak or a blow stopped early changes the loop, and repeatability across at least three blows is part of a real test.
- Lung volumes and gas transfer. Spirometry cannot measure residual volume or total lung capacity, and neither can this; the sketch’s lung size is illustrative.
- Bronchodilators and variability. There is no reversibility test, and asthma that is normal between attacks is not modelled.
- Combined disease. Each pattern is one condition. Real patients can have COPD and a tracheal stenosis, or obstruction with restriction.
- Weak muscles and the chest wall. The restrictive pattern is stiff lungs. Neuromuscular weakness and chest wall disease restrict differently and change the loop in other ways.
Common mistakes
- Diagnosing obstruction from FEV1 alone. A low FEV1 with a normal ratio is not obstruction; restriction lowers FEV1 too.
- Using 0.70 at every age. It overcalls obstruction in older adults and misses it in some younger ones, whose lower limit is above 0.70.
- Calling restriction from spirometry. A low FVC with a normal ratio suggests it; only a low total lung capacity confirms it.
- Ignoring the inspiratory limb. A variable extrathoracic lesion can leave FEV1, FVC and PEF almost untouched and show only in the breath back in.
- Reading a flat top as obstruction. A plateau with a low ratio is a central lesion until shown otherwise.
- Stopping the blow early. An early stop cuts FVC and so raises FEV1/FVC, which can hide obstruction.
Model and assumptions
- Method
- Exact expression, no time stepping
- Repeatability
- Deterministic. The same link gives the same numbers on any machine.
What it assumes
- The lungs empty along a flow-volume envelope, flow equal to VC/τ times the share of the vital capacity still in them raised to a power n, which separates for any n, so every instant of the blow is an exact expression in time.
- Healthy lungs have n = 1 and a time constant of 0.5 s, emptying exponentially like a single compartment through a resistance; n above 1 scoops the curve as airflow obstruction does, and n below 1 bows it outward as stiff lungs do.
- Flow first rises in proportion to time until 5 percent of the vital capacity is out, and an upper airway lesion is a fixed cap on the flow of each limb it limits, held at its narrowest throughout that limb.
- The breath back in follows a half ellipse on the flow-volume plot, a half cosine in time, peaking at 1.1 L/s for every litre breathed in.
- Time zero, FEV1 and the end of the blow follow the ATS/ERS 2019 standard: back extrapolation from the tangent at peak flow, and an end at the first moment the last second brings out less than 0.025 L, or at 15 s.
- Each pattern is a set of these settings chosen to show its textbook shape, not a fit to any patient, and the predicted values are the same model’s healthy lungs rather than a reference equation.
Where it stops holding. Real blows vary with effort and technique, and spirometry says how fast air moves, not whether oxygen crosses into the blood, so breathlessness with a normal loop needs gas exchange measured. The A-a Gradient and Alveolar Gas Equation Calculator is the right tool there.
Numerical accuracy
No time stepping, so nothing accumulates. Peak flow, time zero, FEV1, every point on both limbs and the volume-time curve are closed forms, exact to rounding. The one number found by search is the end of the blow, the first moment the last second brings out less than 0.025 L, found by halving an interval until it is settled to the limit of double precision, far finer than the four figures FVC and the forced expiratory time are shown to. FVC, the ratio and the breath back in follow from it in closed form. The loop and the volume-time curve on screen are drawn as straight pieces joining exact points, with the peak and both ends of any flat run among them.
Common questions
What does a normal flow-volume loop look like?
Flow rises almost at once to a sharp peak, falls in a nearly straight line to zero as the lungs empty, and the breath back in draws a rounded, roughly symmetrical curve below the axis. On the volume-time curve the same blow climbs steeply and levels off within a few seconds. In the simulator’s healthy 4.6 L lungs the peak is 8.74 L/s, FEV1/FVC is 0.8652, the breath in peaks at 5.056 L/s halfway through it, and the blow ends after a forced expiratory time of 3.535 s.
What is a normal FEV1/FVC ratio?
There is no single normal value, because the ratio falls with age. ATS/ERS call it low only when it is below the lower limit of normal, the 5th percentile for the person’s age, height and sex from a reference equation such as GLI 2012. The GOLD strategy for COPD uses a fixed 0.70 instead, which is simpler but misclassifies: in Swanney and colleagues’ 2008 study the lower limit fell below 0.70 at a median age of 42 in men and 48 in women, so a fixed 0.70 calls some healthy older people obstructed. The simulator’s healthy lungs give 0.8652.
How do you tell obstructive from restrictive spirometry?
By the ratio first. Obstruction is FEV1/FVC below its lower limit of normal, usually with a scooped expiratory limb and a long blow. A restrictive pattern is a normal or high ratio with a low FVC and a narrow loop, but spirometry can only suggest restriction: a low total lung capacity, measured in a body box or by gas dilution, confirms it. In the simulator, asthma at 50 percent severity gives a ratio of 0.5738, while restriction at 50 percent gives 0.9215 with an FVC of 61.55 percent of predicted.
How does upper airway obstruction change the flow-volume loop?
It caps the flow through the narrowing, so a limb runs flat. A fixed lesion, such as a stricture after intubation, flattens both limbs at a similar flow; a variable extrathoracic one, such as a paralysed vocal cord, flattens only the breath in; a variable intrathoracic one, such as tracheomalacia, flattens only the blow out. Miller and Hyatt (1973) found FEF50/FIF50 about 0.85, 2.2 and 0.32 in the three, and FEV1 in mL over PEF in L/min above 10 suggests a lesion (Empey, 1972). A fixed lesion can pull FEV1/FVC below 0.70 too: at 50 percent severity here it gives 0.5775.
Why is FEV1 measured from a back-extrapolated time zero?
Because a blow never starts crisply, and timing from the first trickle of air would make FEV1 depend on how hesitantly someone began. The ATS/ERS 2019 standard draws a tangent to the volume-time curve at peak flow, with a slope equal to PEF, and puts time zero where it crosses zero volume. The volume out before then, the back-extrapolated volume, must be under 5 percent of the FVC or 0.100 L, whichever is greater, and it counts towards FEV1. In the simulator’s healthy blow time zero falls 0.0263 s in, with 0.0575 L out.
When does a forced expiration end?
The ATS/ERS 2019 standard accepts any of three ends: a plateau, with less than 0.025 L coming out over the last second; a forced expiratory time of 15 s; or, for someone who cannot reach a plateau, an FVC that matches or beats their largest earlier one. A healthy blow reaches its plateau quickly, 3.535 s after time zero in the simulator. Obstruction drags it out: asthma at 50 percent severity takes 12.20 s, and the most severe COPD is still breathing out at 15 s, which is one reason its FVC falls.