18 Oximeters Evaluated | Last Updated: 4/28/26

Continuous Oximeter Database

Rigorous accuracy data and hands-on reviews to help you find the perfect overnight oximeter for your health. This page contains affiliate links.


Sort:
Price
Price

Form Factor
All Forms
Form Factor

Health Platform
Health Platform

Additional Features
All features
Additional Features

Alarm Type
All features
Alarm Type

Export Format
All features
Export Format

FSA/HSA Eligible
FDA Cleared

Tracked Biometrics
All features
Tracked Biometrics
FSA/HSA Eligible
FDA Cleared
Vibration Alarm
Audible Alarm
Vibration & Audible Alarms
Code: TH31F230YT3W
EMAY_EMO-90
EMAY
EMO-90
$
18
72
1
no_alarm
96.6
0.0
99.8
95.8
88.4
40
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: spo2, heart_rate, perfusion_index, skin_temp, movement, respiration_rate, sleep_stages, pleth_waveform. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: apple_health, google_fit, fitbit. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: csv, pdf, jpeg_png, binary, asc, spo2. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc

$$
h Battery h Recording g Weight s Log
Evaluation Only
Fully evaluated for features and usability. Restricted raw data access prevents our rigorous benchmark accuracy testing.
Overall O2 Score
/10
Bias Accuracy
Signal Stability
ODI 3% Caught
ODI 4% Caught
Tracks
Syncs
Exports
Website
FSA/HSA Eligible
FDA Cleared
Vibration Alarm
Audible Alarm
Vibration & Audible Alarms
Code: TH31F230YT3W
A black wearable device with a screen and strap, next to a small rectangular sensor connected by a wire; the device has a green indicator light and a logo, set on a light gray background.
EMAY
SleepO2
$
10
48
1
no_alarm
96.5
-.1
99
84.1
100
36
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: spo2, heart_rate, perfusion_index, skin_temp, movement, respiration_rate, sleep_stages, pleth_waveform. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: apple_health, google_fit, fitbit. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: csv, pdf, jpeg_png, binary, asc, spo2. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc

$$
h Battery h Recording g Weight s Log
Evaluation Only
Fully evaluated for features and usability. Restricted raw data access prevents our rigorous benchmark accuracy testing.
Overall O2 Score
/10
Bias Accuracy
Signal Stability
ODI 3% Caught
ODI 4% Caught
Tracks
Syncs
Exports
Website Amazon
FSA/HSA Eligible
FDA Cleared
Vibration Alarm
Audible Alarm
Vibration & Audible Alarms
Code: OYB10
A small black and blue LOOKEE fingertip pulse oximeter displays oxygen saturation at 99% and a heart rate of 78 bpm on its screen.
LOOKEE
LOOKEE-SleepO2
$$$
16
10
4
vibration
93.0
-0.9
96.1
83.7
87.4
16
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: spo2, heart_rate, perfusion_index, skin_temp, movement, respiration_rate, sleep_stages, pleth_waveform. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: apple_health, google_fit, fitbit. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: csv, pdf, jpeg_png, binary, asc, spo2. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc

$$
h Battery h Recording g Weight s Log
Evaluation Only
Fully evaluated for features and usability. Restricted raw data access prevents our rigorous benchmark accuracy testing.
Overall O2 Score
/10
Bias Accuracy
Signal Stability
ODI 3% Caught
ODI 4% Caught
Tracks
Syncs
Exports
Website Amazon
FSA/HSA Eligible
FDA Cleared
Vibration Alarm
Audible Alarm
Vibration & Audible Alarms
Code:
A wearable medical device with a display showing SpO2 at 97% and a heart rate of 78, connected by a cable to a gray finger sensor. The device is used to monitor oxygen levels and heart rate.
Wellue
Checkme O2 Max
$$$$
72
40
2
vibe_and_audible
90.7
.2
99.6
80.9
78.5
56
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: spo2, heart_rate, perfusion_index, skin_temp, movement, respiration_rate, sleep_stages, pleth_waveform. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: apple_health, google_fit, fitbit. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: csv, pdf, jpeg_png, binary, asc, spo2. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc

$$
h Battery h Recording g Weight s Log
Evaluation Only
Fully evaluated for features and usability. Restricted raw data access prevents our rigorous benchmark accuracy testing.
Overall O2 Score
/10
Bias Accuracy
Signal Stability
ODI 3% Caught
ODI 4% Caught
Tracks
Syncs
Exports
Amazon
FSA/HSA Eligible
FDA Cleared
Vibration Alarm
Audible Alarm
Vibration & Audible Alarms
Code:
Vibeat_OxyU_v1
Vibeat
OxyU
$$$$
16
40
4
vibration
89.1
1.0
95.8
58.2
96.9
32
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: spo2, heart_rate, perfusion_index, skin_temp, movement, respiration_rate, sleep_stages, pleth_waveform. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: apple_health, google_fit, fitbit. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: csv, pdf, jpeg_png, binary, asc, spo2. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc

$$
h Battery h Recording g Weight s Log
Evaluation Only
Fully evaluated for features and usability. Restricted raw data access prevents our rigorous benchmark accuracy testing.
Overall O2 Score
/10
Bias Accuracy
Signal Stability
ODI 3% Caught
ODI 4% Caught
Tracks
Syncs
Exports
Website Amazon
FSA/HSA Eligible
FDA Cleared
Vibration Alarm
Audible Alarm
Vibration & Audible Alarms
Code:
Wellue_SleepU_v1
Wellue
SleepU
$$$
16
40
4
vibration
87.8
1.9
70.1
91.0
94.4
31
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: spo2, heart_rate, perfusion_index, skin_temp, movement, respiration_rate, sleep_stages, pleth_waveform. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: apple_health, google_fit, fitbit. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: csv, pdf, jpeg_png, binary, asc, spo2. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc

$$
h Battery h Recording g Weight s Log
Evaluation Only
Fully evaluated for features and usability. Restricted raw data access prevents our rigorous benchmark accuracy testing.
Overall O2 Score
/10
Bias Accuracy
Signal Stability
ODI 3% Caught
ODI 4% Caught
Tracks
Syncs
Exports
Website
FSA/HSA Eligible
FDA Cleared
Vibration Alarm
Audible Alarm
Vibration & Audible Alarms
Code:
CheckmeO2ultra
Wellue
Checkme 02 Ultra
$$$$
100
48
1
vibe_and_audible
87.3
0.2
99.0
59.2
80.5
64
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: spo2, heart_rate, perfusion_index, skin_temp, movement, respiration_rate, sleep_stages, pleth_waveform. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: apple_health, google_fit, fitbit. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: csv, pdf, jpeg_png, binary, asc, spo2. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc

$$
h Battery h Recording g Weight s Log
Evaluation Only
Fully evaluated for features and usability. Restricted raw data access prevents our rigorous benchmark accuracy testing.
Overall O2 Score
/10
Bias Accuracy
Signal Stability
ODI 3% Caught
ODI 4% Caught
Tracks
Syncs
Exports
Amazon
FSA/HSA Eligible
FDA Cleared
Vibration Alarm
Audible Alarm
Vibration & Audible Alarms
Code:
Vibeat_oxylink
Vibeat
OxyLink
$$$
12
40
4
audible
87.1
1.1
97.3
62.2
84.1
21
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: spo2, heart_rate, perfusion_index, skin_temp, movement, respiration_rate, sleep_stages, pleth_waveform. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: apple_health, google_fit, fitbit. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: csv, pdf, jpeg_png, binary, asc, spo2. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc

$$
h Battery h Recording g Weight s Log
Evaluation Only
Fully evaluated for features and usability. Restricted raw data access prevents our rigorous benchmark accuracy testing.
Overall O2 Score
/10
Bias Accuracy
Signal Stability
ODI 3% Caught
ODI 4% Caught
Tracks
Syncs
Exports
Website Amazon
FSA/HSA Eligible
FDA Cleared
Vibration Alarm
Audible Alarm
Vibration & Audible Alarms
Code: OYB10
Lookeering_pro
LOOKEE
Ring-Pro
$$$
16
40
4
vibration
86.7
-0.6
97.5
68.1
76.6
18
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: spo2, heart_rate, perfusion_index, skin_temp, movement, respiration_rate, sleep_stages, pleth_waveform. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: apple_health, google_fit, fitbit. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: csv, pdf, jpeg_png, binary, asc, spo2. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc

$$
h Battery h Recording g Weight s Log
Evaluation Only
Fully evaluated for features and usability. Restricted raw data access prevents our rigorous benchmark accuracy testing.
Overall O2 Score
/10
Bias Accuracy
Signal Stability
ODI 3% Caught
ODI 4% Caught
Tracks
Syncs
Exports
Website Amazon
FSA/HSA Eligible
FDA Cleared
Vibration Alarm
Audible Alarm
Vibration & Audible Alarms
Code:
Wearpulse_Oxyfit
Wearpulse
Oxyfit
$$
14
40
4
audible
86.7
0.9
98.9
58.5
77.5
30
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: spo2, heart_rate, perfusion_index, skin_temp, movement, respiration_rate, sleep_stages, pleth_waveform. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: apple_health, google_fit, fitbit. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: csv, pdf, jpeg_png, binary, asc, spo2. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc

$$
h Battery h Recording g Weight s Log
Evaluation Only
Fully evaluated for features and usability. Restricted raw data access prevents our rigorous benchmark accuracy testing.
Overall O2 Score
/10
Bias Accuracy
Signal Stability
ODI 3% Caught
ODI 4% Caught
Tracks
Syncs
Exports
Website Amazon
FSA/HSA Eligible
FDA Cleared
Vibration Alarm
Audible Alarm
Vibration & Audible Alarms
Code: TH31F230YT3W
Emay-EMO-80
EMAY
EMO-80
$
40
40
1
no_alarm
82.3
2.5
58.9
95
87.3
50
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: spo2, heart_rate, perfusion_index, skin_temp, movement, respiration_rate, sleep_stages, pleth_waveform. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: apple_health, google_fit, fitbit. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: csv, pdf, jpeg_png, binary, asc, spo2. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc

$$
h Battery h Recording g Weight s Log
Evaluation Only
Fully evaluated for features and usability. Restricted raw data access prevents our rigorous benchmark accuracy testing.
Overall O2 Score
/10
Bias Accuracy
Signal Stability
ODI 3% Caught
ODI 4% Caught
Tracks
Syncs
Exports
Website Amazon
FSA/HSA Eligible
FDA Cleared
Vibration Alarm
Audible Alarm
Vibration & Audible Alarms
Code:
Wellue_O2ring_v1
Wellue
O2Ring
$$$
14
10
4
vibration
81.7
0.7
99.1
48.9
64.1
15
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: spo2, heart_rate, perfusion_index, skin_temp, movement, respiration_rate, sleep_stages, pleth_waveform. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: apple_health, google_fit, fitbit. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc
Error: can’t render field data in the current format. You can try “Get child value” callback. Available children: csv, pdf, jpeg_png, binary, asc, spo2. Or one of array-related callbacks – “Multiple select field values”, “Checkbox field values”, “Checked values list” etc

$$
h Battery h Recording g Weight s Log
Evaluation Only
Fully evaluated for features and usability. Restricted raw data access prevents our rigorous benchmark accuracy testing.
Overall O2 Score
/10
Bias Accuracy
Signal Stability
ODI 3% Caught
ODI 4% Caught
Tracks
Syncs
Exports
Amazon