ODI and T90 calculator
Enter the number of desaturation events and the length of the recording to get the oxygen desaturation index (ODI) in events per hour. Add the minutes spent under 90% SpO2 to get T90 as a percentage of the recording. Nothing you enter is sent anywhere.
Have the recording itself?
The session viewer reads a Wellue CSV export, or a night straight off the device, and works out ODI at 3% and 4% and T90 from the trace. It runs in your browser and needs no account.
Get ODI and T90 for every night
This calculator works from numbers you type in. An account works out ODI and T90 from each recording and keeps them, so you can compare nights and follow the trend.
- Every recording saved and searchable
- Compare any nights, any time
- ODI, T90 and CVHR trends over time
- Tag nights with what you changed
- See which habits line up with your numbers
- Describe a night in plain English
Your first 5 nights are free. No card needed.
How ODI is calculated
ODI = desaturation events ÷ hours recorded
A desaturation event is a fall in SpO2 of a set size from the recent baseline, followed by a recovery. Most devices count falls of 3% or more. Some count 4% or more, which gives a lower figure for the same night. Example: 36 events over 7 hours 30 minutes is 36 ÷ 7.5, an ODI of 4.8 events per hour.
How T90 is calculated
T90 = minutes under 90% SpO2 ÷ minutes recorded × 100
T90 is the share of the recording spent with SpO2 under 90%. Reports also write it as CT90 or “time below 90%”. Example: 12 minutes under 90% in a 450 minute recording is 12 ÷ 450 × 100, a T90 of 2.7%. ODI counts how often oxygen dipped. T90 measures how long it stayed low. A night can be high on one and low on the other.
Where to find the numbers
An overnight oximetry report or app usually lists a count of drops or desaturations, the recording duration, and the time spent under 90%. If yours already shows ODI and T90, use the oximetry results explainer to read them. For a Wellue device, how to read your O2Ring report shows where each figure sits. If you have the file, the free session viewer works both numbers out from the trace, and the CSV export guide covers getting the file off the device.
Where the bands come from
The calculator labels an ODI under 5 as a low desaturation index, 5 to 15 as elevated, and 15 and over as high. The cut points at 5, 15 and 30 events per hour were set by an American Academy of Sleep Medicine task force in 1999 for indices from a sleep study, and published work on overnight oximetry has reused them for ODI. Home oximetry is not a sleep study, so the labels here describe the measurement and nothing else.
T90 has no agreed cut-off. Studies pick their own: Oldenburg and colleagues used 22 minutes under 90% in a cohort of people with heart failure. The bands here, under 1%, 1 to 5% and over 5%, are the ones this site uses across its tools so that nights can be compared on one scale.
Why two sources give different numbers
- The drop threshold: 3% or 4%.
- The baseline a drop is measured from, and how long a dip has to last before it counts. Netzer and colleagues reviewed overnight oximetry in 2001 and found these definitions varied from one device and study to the next.
- The denominator: recording time, time in bed or time asleep.
- Sensor error. Motion and a cold finger add false dips. The oximeter accuracy range tool shows how wide the error on one reading can be.
Compare figures from the same device and the same rule. To put two recordings on one chart, use compare nights. For more on the measure itself, read what ODI is and how to read it.
Common questions
- What is the difference between ODI at 3% and ODI at 4%?
- The percentage is how far SpO2 has to fall from its recent baseline before a dip counts as an event. A 4% rule ignores the shallower dips that a 3% rule counts, so the same night gives a lower ODI at 4% than at 3%. Compare nights only when both figures use the same rule.
- Should I divide by time in bed or time asleep?
- Use the recording time, less any stretch where the sensor was off your finger. A pulse oximeter cannot tell sleep from lying awake, so recording time is the only denominator it has. A sleep study divides by time asleep, which is one reason its figures differ from a home recording of the same night.
- Is ODI the same as the index on a sleep study report?
- No. A sleep study counts breathing events using airflow and breathing-effort sensors as well as oxygen. ODI counts oxygen dips only. The two are related but not interchangeable, and home oximetry is not a sleep study.
- How long does a recording need to be?
- The arithmetic works for any length, but a per-hour rate from under about four hours moves a lot with a handful of events, and T90 depends on which part of the night was captured. Record a full night before reading much into either number.
- What should I do with a high number?
- Check the recording first: a loose sensor or a cold finger can add events that did not happen. Then record more nights. If the figure stays high across several nights, take the recordings to a doctor. The number describes the recording and says nothing about the cause.
Sources
- American Academy of Sleep Medicine Task Force. Sleep-related breathing disorders in adults: recommendations for syndrome definition and measurement techniques in clinical research. Sleep. 1999;22(5):667-689.
- Berry RB, et al. The AASM Manual for the Scoring of Sleep and Associated Events. American Academy of Sleep Medicine.
- Netzer N, et al. Overnight pulse oximetry for sleep-disordered breathing in adults: a review. Chest. 2001;120(2):625-633.
- Chung F, Liao P, Elsaid H, et al. Anesthesia and Analgesia. 2012;114(5):993-1000. A comparison of ODI from overnight oximetry with sleep study indices in surgical patients.
- Oldenburg O, et al. Nocturnal hypoxaemia is associated with increased mortality in stable heart failure patients. European Heart Journal. 2016;37(21):1695-1703.
Not a medical device. Does not diagnose, treat or prevent any condition. Discuss results and changes with a clinician.