• iOS supports HealthKit-specific types such as workouts, ECG, sleep stages, nutrition, and many biometrics.
  • Android supports Health Connect types including steps, heart rate, sleep, speed/distance, nutrition, hydration, menstruation flow, and more.
The plugin exposes two convenience lists:
// iOS
const List<HealthDataType> dataTypesIOS = [...];

// Android
const List<HealthDataType> dataTypesAndroid = [...];
Use them for quick testing or to build permission requests.

Complete Data Types Reference

The following table shows all supported health data types, their units, and platform availability:
Data TypeUnitApple HealthGoogle Health ConnectComments
ACTIVE_ENERGY_BURNEDCALORIESyesyes
ATRIAL_FIBRILLATION_BURDENPERCENTAGEyes
BASAL_ENERGY_BURNEDCALORIESyesyes
BLOOD_GLUCOSEMILLIGRAM_PER_DECILITERyesyes
BLOOD_OXYGENPERCENTAGEyesyes
BLOOD_PRESSURE_DIASTOLICMILLIMETER_OF_MERCURYyesyes
BLOOD_PRESSURE_SYSTOLICMILLIMETER_OF_MERCURYyesyes
BODY_FAT_PERCENTAGEPERCENTAGEyesyes
BODY_MASS_INDEXNO_UNITyesyes
BODY_TEMPERATUREDEGREE_CELSIUSyesyes
BODY_WATER_MASSKILOGRAMSyes
ELECTRODERMAL_ACTIVITYSIEMENSyes
HEART_RATEBEATS_PER_MINUTEyesyes
HEIGHTMETERSyesyes
RESTING_HEART_RATEBEATS_PER_MINUTEyesyes
RESPIRATORY_RATERESPIRATIONS_PER_MINUTEyesyes
PERIPHERAL_PERFUSION_INDEXPERCENTAGEyes
STEPSCOUNTyesyes
WAIST_CIRCUMFERENCEMETERSyes
WALKING_HEART_RATEBEATS_PER_MINUTEyes
WEIGHTKILOGRAMSyesyes
DISTANCE_WALKING_RUNNINGMETERSyes
FLIGHTS_CLIMBEDCOUNTyesyes
DISTANCE_DELTAMETERSyes
MINDFULNESSMINUTESyes
SLEEP_ASLEEPMINUTESyesyeson iOS, this refers to asleepUnspecified, and on Android this refers to STAGE_TYPE_SLEEPING (asleep but specific stage is unknown)
SLEEP_AWAKEMINUTESyesyes
SLEEP_AWAKE_IN_BEDMINUTESyes
SLEEP_DEEPMINUTESyesyes
SLEEP_IN_BEDMINUTESyes
SLEEP_LIGHTMINUTESyesyeson iOS, this refers to asleepCore
SLEEP_OUT_OF_BEDMINUTESyes
SLEEP_REMMINUTESyesyes
SLEEP_UNKNOWNMINUTESyes
SLEEP_SESSIONMINUTESyes
WATERLITERyesyes
EXERCISE_TIMEMINUTESyes
WORKOUTNO_UNITyesyesSee workout types table below
HIGH_HEART_RATE_EVENTNO_UNITyesRequires Apple Watch to write the data
LOW_HEART_RATE_EVENTNO_UNITyesRequires Apple Watch to write the data
IRREGULAR_HEART_RATE_EVENTNO_UNITyesRequires Apple Watch to write the data
HEART_RATE_VARIABILITY_RMSSDMILLISECONDSyes
HEART_RATE_VARIABILITY_SDNNMILLISECONDSyesRequires Apple Watch to write the data
HEADACHE_NOT_PRESENTMINUTESyes
HEADACHE_MILDMINUTESyes
HEADACHE_MODERATEMINUTESyes
HEADACHE_SEVEREMINUTESyes
HEADACHE_UNSPECIFIEDMINUTESyes
AUDIOGRAMDECIBEL_HEARING_LEVELyes
ELECTROCARDIOGRAMVOLTyesRequires Apple Watch to write the data
NUTRITIONNO_UNITyesyes
INSULIN_DELIVERYINTERNATIONAL_UNITyes
MENSTRUATION_FLOWNO_UNITyesyes
WATER_TEMPERATUREDEGREE_CELSIUSyesRelated to/Requires Apple Watch Ultra’s Underwater Diving Workout
UNDERWATER_DEPTHMETERyesRelated to/Requires Apple Watch Ultra’s Underwater Diving Workout
UV_INDEXCOUNTyes
LEAN_BODY_MASSKILOGRAMSyesyes
WALKING_SPEEDMETER_PER_SECONDyes(yes)On Android this will be recorded as SPEED with similar unit
APPLE_MOVE_TIMESECONDyesREAD Only
APPLE_STAND_HOURHOURyesREAD Only

Workout Types

The following table shows all supported workout activity types and their platform availability:
Workout TypeApple HealthGoogle Health ConnectComments
AMERICAN_FOOTBALLyesyes
ARCHERYyes
AUSTRALIAN_FOOTBALLyesyes
BADMINTONyesyes
BARREyes
BASEBALLyesyes
BASKETBALLyesyes
BIKINGyesyeson iOS this is CYCLING, but name changed here to fit with Android
BOWLINGyes
BOXINGyesyes
CALISTHENICSyes
CARDIO_DANCEyes(yes)on Android this will be stored as DANCING
CLIMBINGyes
COOLDOWNyes
CORE_TRAININGyes
CRICKETyesyes
CROSS_COUNTRY_SKIINGyes(yes)on Android this will be stored as SKIING
CROSS_TRAININGyes
CURLINGyes
DANCINGyesyeson iOS this is DANCE, but name changed here to fit with Android
DISC_SPORTSyes
DOWNHILL_SKIINGyes(yes)on Android this will be stored as SKIING
ELLIPTICALyesyes
EQUESTRIAN_SPORTSyes
FENCINGyesyes
FISHINGyes
FITNESS_GAMINGyes
FLEXIBILITYyes
FRISBEE_DISCyes
FUNCTIONAL_STRENGTH_TRAININGyes(yes)on Android this will be stored as STRENGTH_TRAINING
GOLFyesyes
GUIDED_BREATHINGyes
GYMNASTICSyesyes
HAND_CYCLINGyes
HANDBALLyesyes
HIGH_INTENSITY_INTERVAL_TRAININGyesyes
HIKINGyesyes
HOCKEYyes
HUNTINGyes
JUMP_ROPEyes
KICKBOXINGyes
LACROSSEyes
MARTIAL_ARTSyesyes
MIND_AND_BODYyes
MIXED_CARDIOyes
PADDLE_SPORTSyes
PARAGLIDINGyes
PICKLEBALLyes
PILATESyesyes
PLAYyes
PREPARATION_AND_RECOVERYyes
RACQUETBALLyesyes
ROCK_CLIMBING(yes)yeson iOS this will be stored as CLIMBING
ROWINGyesyes
RUGBYyesyes
RUNNINGyesyes
RUNNING_TREADMILL(yes)yeson iOS this will be stored as RUNNING
SAILINGyesyes
SCUBA_DIVINGyes
SKATINGyesyesOn iOS this will be stored as SKATING_SPORTS
SKIING(yes)yeson iOS you have to choose between CROSS_COUNTRY_SKIING and DOWNHILL_SKIING
SNOW_SPORTSyes
SNOWBOARDINGyesyes
SOCCERyes
SOCIAL_DANCEyes(yes)on Android this will be stored as DANCING
SOFTBALLyesyes
SQUASHyesyes
STAIR_CLIMBINGyesyes
STAIR_CLIMBING_MACHINEyes
STAIRSyes
STEP_TRAININGyes
STRENGTH_TRAINING(yes)yeson iOS you have to choose between FUNCTIONAL_STRENGTH_TRAINING or TRADITIONAL_STRENGTH_TRAINING
SURFINGyesyeson iOS this is SURFING_SPORTS, but name changed here to fit with Android
SWIMMINGyes(yes)on Android you have to choose between SWIMMING_OPEN_WATER and SWIMMING_POOL
SWIMMING_OPEN_WATER(yes)yeson iOS this will be stored as SWIMMING
SWIMMING_POOL(yes)yeson iOS this will be stored as SWIMMING
TABLE_TENNISyesyes
TAI_CHIyes
TENNISyesyes
TRACK_AND_FIELDyes
TRADITIONAL_STRENGTH_TRAININGyes(yes)on Android this will be stored as STRENGTH_TRAINING
UNDERWATER_DIVINGyes
VOLLEYBALLyesyes
WALKINGyesyes
WATER_FITNESSyes
WATER_POLOyesyes
WATER_SPORTSyes
WEIGHTLIFTINGyes
WHEELCHAIR(yes)yeson iOS you have to choose between WHEELCHAIR_RUN_PACE or WHEELCHAIR_WALK_PACE
WHEELCHAIR_RUN_PACEyes(yes)on Android this will be stored as WHEELCHAIR
WHEELCHAIR_WALK_PACEyes(yes)on Android this will be stored as WHEELCHAIR
WRESTLINGyes
YOGAyesyes
OTHERyesyes

Units

Each type maps to a default unit via dataTypeToUnit (e.g., HEART_RATEBEATS_PER_MINUTE, WEIGHTKILOGRAM). On reads you can optionally request a preferred unit per type.
final unit = dataTypeToUnit[HealthDataType.HEART_RATE]; // BEATS_PER_MINUTE

Sleep & Headache Categories

For sleep and headache categorical types, values are converted to minutes based on the dateFrom/dateTo interval.

Workouts

Workouts are represented as HealthDataType.WORKOUT with a WorkoutHealthValue that may include:
  • workoutActivityType
  • totalEnergyBurned (+ unit)
  • totalDistance (+ unit)
  • totalSteps (+ unit)
An additional workoutSummary is attached when available.

Special Data

  • ECG (ELECTROCARDIOGRAM) parses voltage series, average heart rate, sampling frequency, and classification.
  • Nutrition (NUTRITION) supports a wide set of macro/micronutrients.
  • Menstruation flow (MENSTRUATION_FLOW) normalizes platform-specific values.

Full Enums

See the source for complete enums and mappings:
  • lib/src/health_value_types.dart
  • lib/src/heath_data_types.dart

See Also