React Native health data libraries
5 packages (5 npm) · 1 comparison · registries read 2026-10-03 · README notes checked 2026-10-03
Every React Native package on this list
Read from the registries and repositories by a script, not typed by hand. Release dates are shown as dates, with the gap to our read, rather than as a verdict on whether a project is alive; what each README says about its own status is under How to choose and on each package page.
| Package | Connects to | Repository | Latest release | Licence | Registry status | Last commit |
|---|---|---|---|---|---|---|
| react-native-healthnpm · JavaScript | Apple HealthKit | agencyenterprise/react-native-healthregistry metadata names agencyenterprise/react-native-healthkit | 1.19.0, 2024-10-15718 days before our read | MIT | — | 2024-10-15default branch, read 2026-10-03 |
| @kingstinct/react-native-healthkitnpm · JavaScript | Apple HealthKit | kingstinct/react-native-healthkit | 16.0.0, 2026-09-1815 days before our read | MIT | — | 2026-10-02default branch, read 2026-10-03 |
| react-native-health-connectnpm · JavaScript | Health Connect | matinzd/react-native-health-connect | 4.1.3, 2026-08-0658 days before our read | MIT | — | 2026-08-26default branch, read 2026-10-03 |
| expo-health-connectnpm · JavaScript | Nothing on its own: it was an Expo config plugin that configured react-native-health-connect at prebuild time. | matinzd/expo-health-connect | 0.1.1, 2024-07-31794 days before our read | MIT | Deprecated (registry) · Repository archived (GitHub, read 2026-10-03) | 2026-08-01default branch, read 2026-10-03 |
| react-native-google-fitnpm · JavaScript | Google Fit | StasDoskalenko/react-native-google-fit | 0.22.1, 2025-10-08360 days before our read | MIT | — | 2026-10-02default branch, read 2026-10-03 |
Versions, dates and licences read from npm on 2026-10-03; last-commit dates read by git on 2026-10-03; archive flags from the GitHub API, read 2026-10-03. This data records no download counts, so the table has no downloads column. Repository is the GitHub owner and name as GitHub reports it, which is how the data names a maintainer.
How to choose: our reading
Judgement, labelled as such, drawn only from the README notes and registry facts on each package’s page and from the comparisons. No package is ranked first.
HealthKit on iOS
react-native-health · @kingstinct/react-native-healthkit
- react-native-health's README has said since August 2023 that new features are on hold while its maintainers build a Swift version; its latest npm release is 1.19.0, from October 2024. @kingstinct/react-native-healthkit is built on react-native-nitro-modules, which you install alongside it, and its README warns that reading a type before requesting authorization for it crashes the app.
- Your app is on an older React Native version: @kingstinct/react-native-healthkit's latest release declares react-native >=0.79 and react >=19; react-native-health's declares react-native >=0.67.3.
- You need HealthKit types Apple added recently: the package with the more recent release is the more likely to have them, but confirm the specific identifier in its source rather than inferring from dates.
- You want typed identifiers that match Apple's documentation one-to-one: that is @kingstinct/react-native-healthkit's stated design goal.
- You already ship react-native-health and it covers your types: its README says bug-fix pull requests are still merged, so a migration is a choice, not an emergency.
react-native-health vs @kingstinct/react-native-healthkit: side by side →
Health Connect on Android
- react-native-health-connect is the Android half: its README points to react-native-health and @kingstinct/react-native-healthkit for iOS.
- React Native CLI apps register its permission delegate in MainActivity; Expo projects get it from the Expo module the package has bundled since v4. Every record type you read also needs a permission declared in the manifest.
- Its README asks for React Native 0.71 or higher for v2 and later, and minSdkVersion 26, and says Health Connect must be installed on the user's device; from Android 14 it is part of the Android framework.
Expo projects
react-native-health · @kingstinct/react-native-healthkit · react-native-health-connect · expo-health-connect
- Neither HealthKit bridge runs in Expo Go. react-native-health's README says the package is not available in the Expo Go app; @kingstinct/react-native-healthkit's says to add its config plugin to app.json and build a development client.
- For Health Connect, react-native-health-connect's README adds expo-build-properties and lists both in the app.json plugins array.
- Still have expo-health-connect? Its README says to uninstall it, put react-native-health-connect in its place in the plugins array and re-run prebuild with --clean: leaving both installed fails the Android build with a duplicate class.
Apps still on Google Fit
- react-native-google-fit carries no deprecation on npm; its README says Google has deprecated the Google Fit API and that the maintainers will keep the library up to date while the API remains available.
- Google's Fit migration guide says the Google Fit API will only be supported until the end of 2026 and recommends Health Connect for step tracking and mobile-first apps; in React Native that means react-native-health-connect.
Platform rules these packages inherit
A wrapper inherits every rule of the API it calls. Each rule below is stated, with its sources, on the page it links.
HealthKit data lives only on Apple devices and is read by app code on the device: Apple's setup has no tokens and no server endpoint. On Android, an app integrates Health Connect separately.
HealthKit never tells an app whether the user granted read access: a denied read looks exactly like no data, whichever wrapper makes the query.
Health Connect is Android-only and on-device, not an OAuth cloud API. It is part of the platform from Android 14; on Android 13 and lower it is a separate app the user installs from the Play Store.
By default an app can read Health Connect data from up to 30 days before its first permission grant; reading further back needs the history permission.
Shipping on Google Play needs the Play Console Health apps declaration, listing every data type the app reads or writes.
Google documents the Google Fit APIs as supported only until the end of 2026, with no switch-off date announced.
Side-by-side comparisons
The APIs underneath
The pages these packages’ own pages point to for the API each one wraps.
- HealthKit integration guide →
- HealthKit data types by group →
- Every HealthKit error code →
- Health SDK release tracker →
- All HealthKit identifiers →
- HealthKit authorization not determined →
- Health Connect integration guide →
- Health Connect record reference →
- HealthKit types vs Health Connect records →
- Health Connect returns no data →
- Migrate from Google Fit to Health Connect →
- Google Fit shutdown: dates and what to do →
- Google Fit API deprecated →
Questions
- Do React Native health libraries work in Expo Go?
- The two HealthKit bridges say they do not: react-native-health's README says it is not available in the Expo Go app, and @kingstinct/react-native-healthkit's README says it does not run in Expo Go and asks for its config plugin and a development client instead. For Health Connect, react-native-health-connect has shipped its own Expo config plugin since v4, which replaced the separate expo-health-connect package.
- Which React Native health packages are deprecated or on hold?
- expo-health-connect is deprecated on npm and merged into react-native-health-connect v4. react-native-health's README has said since August 2023 that new features are on hold while its maintainers build a Swift version, though pull requests for critical bug fixes are still welcome. react-native-google-fit carried no deprecation on npm at our last registry read, but it bridges the Google Fit API, which Google's Fit migration guide says will only be supported until the end of 2026.
- What native setup do React Native health libraries still need?
- On iOS, react-native-health's README asks for the HealthKit capability in Xcode and the NSHealthShareUsageDescription and NSHealthUpdateUsageDescription usage strings. On Android, react-native-health-connect needs a permission declared in the manifest for every record type you read, and React Native CLI apps register its permission delegate in MainActivity, which Expo projects get from the bundled module. Publishing on Google Play also needs the Play Console Health apps declaration, as this site's Health Connect integration guide explains.
Registry facts read by scripts/fetch-libraries.mjs on 2026-10-03; README notes checked on 2026-10-03. README quotes and notes are each project's own statements; the selection, grouping and reading are AIFitnessAPI's, which publishes none of these packages.