package icon

OpenVitals

Private Health Connect dashboard
New in version 1.4.1
Fixes hydration display and logging polish. Small metric hydration entries now keep two decimal liters, so 150 ml shows as 0.15 L instead of rounding to 0.2 L. Container presets no longer look selected in normal add mode, and the redundant Today label above hydration progress was removed.
OpenVitals is a private Android dashboard for Health Connect. It helps you review activity, sleep, heart, body, hydration, nutrition, mindfulness, vitals, and optional cycle data in one local app.

Your health data stays on your device. OpenVitals has no account, no cloud sync, no ads, no analytics SDKs, and no app-level internet permission. The dashboard reads from Health Connect only after you grant permissions. Manual entries are written back to Health Connect only when you explicitly save them.

What you can do

* View a daily Health Connect dashboard with grouped health and fitness cards
* Explore period-based detail screens with Day, Week, Month, and Year views
* Review Daily Readiness with Body Energy, Training Readiness, HRV status, intensity minutes, physiological stress, adaptive goals, and local explanations
* Review steps, distance, calories, floors, elevation, and workout sessions
* Review sleep sessions, duration, and sleep stages
* Review heart rate, resting heart rate, HRV, blood pressure, SpO2, respiratory rate, body temperature, VO2 max, body metrics, hydration, nutrition, and mindfulness data when available
* Add and edit OpenVitals-created hydration, body measurement, vitals, mindfulness, and activity entries directly in Health Connect
* Track achievement badges for activity, distance, floors, workouts, hydration, sleep, and mindfulness milestones
* Import GPX, KML, KMZ, and FIT activity routes, preview them, and save route-backed workouts
* Import supported Apple Health export records into Health Connect
* Record GPS activities with pause, resume, finish, discard, route preview, distance, elevation, moving time, and a persistent recording notification
* Estimate active and total calories for imported and recorded activities before saving
* Enable opt-in hydration reminders with active hours and daily-goal pause logic
* Choose a fixed Mon-Sun activity week or a rolling last 7 days
* Choose metric or imperial units
* Grant sensitive cycle permissions only when you want that data shown

Why OpenVitals

* Private by design: no account, no cloud sync, no ads, no analytics
* Dashboard focused: the home screen is read-only unless you choose to add an entry
* Health Connect as source of truth: OpenVitals does not keep a separate health record database
* Permission-aware: use one-tap setup or grant clear data categories individually, then change permissions later
* Open source: code, release notes, and builds are available for review

Requirements

OpenVitals requires Health Connect. On Android 14 and newer, Health Connect is part of Android. On Android 13 and older, install the Health Connect app separately.

Health disclaimer

OpenVitals is for general wellness and informational use only. It is not a medical device and does not provide medical advice. It does not diagnose, treat, cure, or prevent any disease or medical condition. Always consult a qualified healthcare professional for medical advice, diagnosis, or treatment.

Versions

Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 1.4.1 (14001) suggested Added on Jun 16, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 8.0 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • access precise location only in the foreground
      This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • recognize physical activity
      This app can recognize your physical activity.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "dataSync"
      Allows the app to make use of foreground services with the type "dataSync"
    • run foreground service with the type "health"
      Allows the app to make use of foreground services with the type "health"
    • run foreground service with the type "location"
      Allows the app to make use of foreground services with the type "location"
    • access sensor data at a high sampling rate
      Allows the app to sample sensor data at a rate greater than 200 Hz
    • show notifications
      Allows the app to show notifications
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • android.permission.health.READ_ACTIVE_CALORIES_BURNED
    • android.permission.health.READ_BASAL_BODY_TEMPERATURE
    • android.permission.health.READ_BASAL_METABOLIC_RATE
    • android.permission.health.READ_BLOOD_GLUCOSE
    • android.permission.health.READ_BLOOD_PRESSURE
    • android.permission.health.READ_BODY_FAT
    • android.permission.health.READ_BODY_TEMPERATURE
    • android.permission.health.READ_BODY_WATER_MASS
    • android.permission.health.READ_BONE_MASS
    • android.permission.health.READ_CERVICAL_MUCUS
    • android.permission.health.READ_CYCLING_PEDALING_CADENCE
    • android.permission.health.READ_DISTANCE
    • android.permission.health.READ_ELEVATION_GAINED
    • android.permission.health.READ_EXERCISE
    • android.permission.health.READ_EXERCISE_ROUTES
    • android.permission.health.READ_FLOORS_CLIMBED
    • android.permission.health.READ_HEALTH_DATA_HISTORY
    • android.permission.health.READ_HEALTH_DATA_IN_BACKGROUND
    • android.permission.health.READ_HEART_RATE
    • android.permission.health.READ_HEART_RATE_VARIABILITY
    • android.permission.health.READ_HEIGHT
    • android.permission.health.READ_HYDRATION
    • android.permission.health.READ_INTERMENSTRUAL_BLEEDING
    • android.permission.health.READ_LEAN_BODY_MASS
    • android.permission.health.READ_MENSTRUATION
    • android.permission.health.READ_MINDFULNESS
    • android.permission.health.READ_NUTRITION
    • android.permission.health.READ_OVULATION_TEST
    • android.permission.health.READ_OXYGEN_SATURATION
    • android.permission.health.READ_PLANNED_EXERCISE
    • android.permission.health.READ_POWER
    • android.permission.health.READ_RESPIRATORY_RATE
    • android.permission.health.READ_RESTING_HEART_RATE
    • android.permission.health.READ_SEXUAL_ACTIVITY
    • android.permission.health.READ_SKIN_TEMPERATURE
    • android.permission.health.READ_SLEEP
    • android.permission.health.READ_SPEED
    • android.permission.health.READ_STEPS
    • android.permission.health.READ_STEPS_CADENCE
    • android.permission.health.READ_TOTAL_CALORIES_BURNED
    • android.permission.health.READ_VO2_MAX
    • android.permission.health.READ_WEIGHT
    • android.permission.health.READ_WHEELCHAIR_PUSHES
    • android.permission.health.WRITE_ACTIVE_CALORIES_BURNED
    • android.permission.health.WRITE_BASAL_BODY_TEMPERATURE
    • android.permission.health.WRITE_BASAL_METABOLIC_RATE
    • android.permission.health.WRITE_BLOOD_GLUCOSE
    • android.permission.health.WRITE_BLOOD_PRESSURE
    • android.permission.health.WRITE_BODY_FAT
    • android.permission.health.WRITE_BODY_TEMPERATURE
    • android.permission.health.WRITE_BODY_WATER_MASS
    • android.permission.health.WRITE_BONE_MASS
    • android.permission.health.WRITE_CERVICAL_MUCUS
    • android.permission.health.WRITE_DISTANCE
    • android.permission.health.WRITE_ELEVATION_GAINED
    • android.permission.health.WRITE_EXERCISE
    • android.permission.health.WRITE_EXERCISE_ROUTE
    • android.permission.health.WRITE_FLOORS_CLIMBED
    • android.permission.health.WRITE_HEART_RATE
    • android.permission.health.WRITE_HEART_RATE_VARIABILITY
    • android.permission.health.WRITE_HEIGHT
    • android.permission.health.WRITE_HYDRATION
    • android.permission.health.WRITE_INTERMENSTRUAL_BLEEDING
    • android.permission.health.WRITE_LEAN_BODY_MASS
    • android.permission.health.WRITE_MENSTRUATION
    • android.permission.health.WRITE_MINDFULNESS
    • android.permission.health.WRITE_NUTRITION
    • android.permission.health.WRITE_OVULATION_TEST
    • android.permission.health.WRITE_OXYGEN_SATURATION
    • android.permission.health.WRITE_RESPIRATORY_RATE
    • android.permission.health.WRITE_RESTING_HEART_RATE
    • android.permission.health.WRITE_SEXUAL_ACTIVITY
    • android.permission.health.WRITE_SLEEP
    • android.permission.health.WRITE_STEPS
    • android.permission.health.WRITE_TOTAL_CALORIES_BURNED
    • android.permission.health.WRITE_VO2_MAX
    • android.permission.health.WRITE_WEIGHT
    • android.permission.health.WRITE_WHEELCHAIR_PUSHES
    • tech.mmarca.openvitals.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 5.3 MiB PGP Signature | Build Log

  • New in version 1.3.2
    Moves Apple Health exports to a WorkManager-backed background import so large export.xml/export.zip files can continue after leaving Settings. Adds live progress and notification text, clearer duplicate/unsupported/skipped/failed counts, and streaming handling to reduce memory pressure.
  • Version 1.3.2 (13002) - Added on Jun 11, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 8.0 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • access precise location only in the foreground
      This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • recognize physical activity
      This app can recognize your physical activity.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "dataSync"
      Allows the app to make use of foreground services with the type "dataSync"
    • run foreground service with the type "health"
      Allows the app to make use of foreground services with the type "health"
    • run foreground service with the type "location"
      Allows the app to make use of foreground services with the type "location"
    • access sensor data at a high sampling rate
      Allows the app to sample sensor data at a rate greater than 200 Hz
    • show notifications
      Allows the app to show notifications
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • android.permission.health.READ_ACTIVE_CALORIES_BURNED
    • android.permission.health.READ_BASAL_BODY_TEMPERATURE
    • android.permission.health.READ_BASAL_METABOLIC_RATE
    • android.permission.health.READ_BLOOD_GLUCOSE
    • android.permission.health.READ_BLOOD_PRESSURE
    • android.permission.health.READ_BODY_FAT
    • android.permission.health.READ_BODY_TEMPERATURE
    • android.permission.health.READ_BODY_WATER_MASS
    • android.permission.health.READ_BONE_MASS
    • android.permission.health.READ_CERVICAL_MUCUS
    • android.permission.health.READ_CYCLING_PEDALING_CADENCE
    • android.permission.health.READ_DISTANCE
    • android.permission.health.READ_ELEVATION_GAINED
    • android.permission.health.READ_EXERCISE
    • android.permission.health.READ_EXERCISE_ROUTES
    • android.permission.health.READ_FLOORS_CLIMBED
    • android.permission.health.READ_HEALTH_DATA_HISTORY
    • android.permission.health.READ_HEALTH_DATA_IN_BACKGROUND
    • android.permission.health.READ_HEART_RATE
    • android.permission.health.READ_HEART_RATE_VARIABILITY
    • android.permission.health.READ_HEIGHT
    • android.permission.health.READ_HYDRATION
    • android.permission.health.READ_INTERMENSTRUAL_BLEEDING
    • android.permission.health.READ_LEAN_BODY_MASS
    • android.permission.health.READ_MENSTRUATION
    • android.permission.health.READ_MINDFULNESS
    • android.permission.health.READ_NUTRITION
    • android.permission.health.READ_OVULATION_TEST
    • android.permission.health.READ_OXYGEN_SATURATION
    • android.permission.health.READ_PLANNED_EXERCISE
    • android.permission.health.READ_POWER
    • android.permission.health.READ_RESPIRATORY_RATE
    • android.permission.health.READ_RESTING_HEART_RATE
    • android.permission.health.READ_SEXUAL_ACTIVITY
    • android.permission.health.READ_SKIN_TEMPERATURE
    • android.permission.health.READ_SLEEP
    • android.permission.health.READ_SPEED
    • android.permission.health.READ_STEPS
    • android.permission.health.READ_STEPS_CADENCE
    • android.permission.health.READ_TOTAL_CALORIES_BURNED
    • android.permission.health.READ_VO2_MAX
    • android.permission.health.READ_WEIGHT
    • android.permission.health.READ_WHEELCHAIR_PUSHES
    • android.permission.health.WRITE_ACTIVE_CALORIES_BURNED
    • android.permission.health.WRITE_BASAL_BODY_TEMPERATURE
    • android.permission.health.WRITE_BASAL_METABOLIC_RATE
    • android.permission.health.WRITE_BLOOD_GLUCOSE
    • android.permission.health.WRITE_BLOOD_PRESSURE
    • android.permission.health.WRITE_BODY_FAT
    • android.permission.health.WRITE_BODY_TEMPERATURE
    • android.permission.health.WRITE_BODY_WATER_MASS
    • android.permission.health.WRITE_BONE_MASS
    • android.permission.health.WRITE_CERVICAL_MUCUS
    • android.permission.health.WRITE_DISTANCE
    • android.permission.health.WRITE_ELEVATION_GAINED
    • android.permission.health.WRITE_EXERCISE
    • android.permission.health.WRITE_EXERCISE_ROUTE
    • android.permission.health.WRITE_FLOORS_CLIMBED
    • android.permission.health.WRITE_HEART_RATE
    • android.permission.health.WRITE_HEART_RATE_VARIABILITY
    • android.permission.health.WRITE_HEIGHT
    • android.permission.health.WRITE_HYDRATION
    • android.permission.health.WRITE_INTERMENSTRUAL_BLEEDING
    • android.permission.health.WRITE_LEAN_BODY_MASS
    • android.permission.health.WRITE_MENSTRUATION
    • android.permission.health.WRITE_MINDFULNESS
    • android.permission.health.WRITE_NUTRITION
    • android.permission.health.WRITE_OVULATION_TEST
    • android.permission.health.WRITE_OXYGEN_SATURATION
    • android.permission.health.WRITE_RESPIRATORY_RATE
    • android.permission.health.WRITE_RESTING_HEART_RATE
    • android.permission.health.WRITE_SEXUAL_ACTIVITY
    • android.permission.health.WRITE_SLEEP
    • android.permission.health.WRITE_STEPS
    • android.permission.health.WRITE_TOTAL_CALORIES_BURNED
    • android.permission.health.WRITE_VO2_MAX
    • android.permission.health.WRITE_WEIGHT
    • android.permission.health.WRITE_WHEELCHAIR_PUSHES
    • tech.mmarca.openvitals.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 5.2 MiB PGP Signature | Build Log

  • New in version 1.3.1
    Updates Health Connect to 1.2.0-alpha04, expands recorded activity type and repetition details, redesigns Apple Health import with clearer parser/converter tests, and splits dashboard, settings, manual entry, period, and metric code into smaller feature-owned files for safer future updates.
  • Version 1.3.1 (13001) - Added on Jun 10, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 8.0 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • access precise location only in the foreground
      This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
    • recognize physical activity
      This app can recognize your physical activity.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "health"
      Allows the app to make use of foreground services with the type "health"
    • run foreground service with the type "location"
      Allows the app to make use of foreground services with the type "location"
    • access sensor data at a high sampling rate
      Allows the app to sample sensor data at a rate greater than 200 Hz
    • show notifications
      Allows the app to show notifications
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • android.permission.health.READ_ACTIVE_CALORIES_BURNED
    • android.permission.health.READ_BASAL_BODY_TEMPERATURE
    • android.permission.health.READ_BASAL_METABOLIC_RATE
    • android.permission.health.READ_BLOOD_GLUCOSE
    • android.permission.health.READ_BLOOD_PRESSURE
    • android.permission.health.READ_BODY_FAT
    • android.permission.health.READ_BODY_TEMPERATURE
    • android.permission.health.READ_BODY_WATER_MASS
    • android.permission.health.READ_BONE_MASS
    • android.permission.health.READ_CERVICAL_MUCUS
    • android.permission.health.READ_CYCLING_PEDALING_CADENCE
    • android.permission.health.READ_DISTANCE
    • android.permission.health.READ_ELEVATION_GAINED
    • android.permission.health.READ_EXERCISE
    • android.permission.health.READ_EXERCISE_ROUTES
    • android.permission.health.READ_FLOORS_CLIMBED
    • android.permission.health.READ_HEALTH_DATA_HISTORY
    • android.permission.health.READ_HEALTH_DATA_IN_BACKGROUND
    • android.permission.health.READ_HEART_RATE
    • android.permission.health.READ_HEART_RATE_VARIABILITY
    • android.permission.health.READ_HEIGHT
    • android.permission.health.READ_HYDRATION
    • android.permission.health.READ_INTERMENSTRUAL_BLEEDING
    • android.permission.health.READ_LEAN_BODY_MASS
    • android.permission.health.READ_MENSTRUATION
    • android.permission.health.READ_MINDFULNESS
    • android.permission.health.READ_NUTRITION
    • android.permission.health.READ_OVULATION_TEST
    • android.permission.health.READ_OXYGEN_SATURATION
    • android.permission.health.READ_PLANNED_EXERCISE
    • android.permission.health.READ_POWER
    • android.permission.health.READ_RESPIRATORY_RATE
    • android.permission.health.READ_RESTING_HEART_RATE
    • android.permission.health.READ_SEXUAL_ACTIVITY
    • android.permission.health.READ_SKIN_TEMPERATURE
    • android.permission.health.READ_SLEEP
    • android.permission.health.READ_SPEED
    • android.permission.health.READ_STEPS
    • android.permission.health.READ_STEPS_CADENCE
    • android.permission.health.READ_TOTAL_CALORIES_BURNED
    • android.permission.health.READ_VO2_MAX
    • android.permission.health.READ_WEIGHT
    • android.permission.health.READ_WHEELCHAIR_PUSHES
    • android.permission.health.WRITE_ACTIVE_CALORIES_BURNED
    • android.permission.health.WRITE_BASAL_BODY_TEMPERATURE
    • android.permission.health.WRITE_BASAL_METABOLIC_RATE
    • android.permission.health.WRITE_BLOOD_GLUCOSE
    • android.permission.health.WRITE_BLOOD_PRESSURE
    • android.permission.health.WRITE_BODY_FAT
    • android.permission.health.WRITE_BODY_TEMPERATURE
    • android.permission.health.WRITE_BODY_WATER_MASS
    • android.permission.health.WRITE_BONE_MASS
    • android.permission.health.WRITE_CERVICAL_MUCUS
    • android.permission.health.WRITE_DISTANCE
    • android.permission.health.WRITE_ELEVATION_GAINED
    • android.permission.health.WRITE_EXERCISE
    • android.permission.health.WRITE_EXERCISE_ROUTE
    • android.permission.health.WRITE_FLOORS_CLIMBED
    • android.permission.health.WRITE_HEART_RATE
    • android.permission.health.WRITE_HEART_RATE_VARIABILITY
    • android.permission.health.WRITE_HEIGHT
    • android.permission.health.WRITE_HYDRATION
    • android.permission.health.WRITE_INTERMENSTRUAL_BLEEDING
    • android.permission.health.WRITE_LEAN_BODY_MASS
    • android.permission.health.WRITE_MENSTRUATION
    • android.permission.health.WRITE_MINDFULNESS
    • android.permission.health.WRITE_NUTRITION
    • android.permission.health.WRITE_OVULATION_TEST
    • android.permission.health.WRITE_OXYGEN_SATURATION
    • android.permission.health.WRITE_RESPIRATORY_RATE
    • android.permission.health.WRITE_RESTING_HEART_RATE
    • android.permission.health.WRITE_SEXUAL_ACTIVITY
    • android.permission.health.WRITE_SLEEP
    • android.permission.health.WRITE_STEPS
    • android.permission.health.WRITE_TOTAL_CALORIES_BURNED
    • android.permission.health.WRITE_VO2_MAX
    • android.permission.health.WRITE_WEIGHT
    • android.permission.health.WRITE_WHEELCHAIR_PUSHES
    • tech.mmarca.openvitals.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 5.1 MiB PGP Signature | Build Log