Skip to content
AF
Library comparison

react-native-health vs @kingstinct/react-native-healthkit

Registry data read 2026-10-03

Both packages bridge React Native to Apple HealthKit on iOS and neither covers Android. react-native-health is callback-based with its own permission constants, and its README has said since August 2023 that new features are on hold; its latest npm release is from October 2024. @kingstinct/react-native-healthkit is promise- and hook-based, uses Apple's identifier strings, requires react-native-nitro-modules, and published 16.0.0 in September 2026.

Side by side

Every cell is read from the registries and the repositories by a script. There is no winner row.

Factreact-native-health@kingstinct/react-native-healthkit
Registrynpm: react-native-healthnpm: @kingstinct/react-native-healthkit
Latest version1.19.016.0.0
Latest published2024-10-15 (718 days before our 2026-10-03 read)2026-09-18 (15 days before our 2026-10-03 read)
First published2020-09-212019-02-19
Versions published40101
LicenceMIT (package.json license)MIT (package.json license)
Platformsnot stated in registry metadatanot stated in registry metadata
Requiresreact-native >=0.67.3 (package.json peerDependencies)react >=19; react-native >=0.79; react-native-nitro-modules >=0.35 (package.json peerDependencies)
Deprecatedno deprecation in the registryno deprecation in the registry
Status classifier——
Last commit, default branch2024-10-152026-10-02
GitHub stars / archived1163 stars · not archived (read 2026-10-03)715 stars · not archived (read 2026-10-03)

What each README says

react-native-health

  • Permissions use the package's own constants, such as AppleHealthKit.Constants.Permissions.HeartRate, passed to initHealthKit with a callback.

    Source: README

  • Feature freeze since August 2023 while a Swift rewrite is prepared; critical bug-fix and dependency PRs are still welcomed.

    Source: README

@kingstinct/react-native-healthkit

  • Types are Apple's own identifier strings, such as HKQuantityTypeIdentifierHeartRate, with promises and React hooks (useHealthkitAuthorization, useMostRecentQuantitySample).

    Source: README

  • Reading before requesting authorization crashes the app, per the README; anchored queries return deleted samples for sync.

    Source: README

How to choose: our reading

Judgement, labelled as such, drawn only from the facts above.

  • Your app is on an older React Native version: check the Requires row first. @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.

Questions

Is @kingstinct/react-native-healthkit a fork of react-native-health?
Neither README says so. They are separate projects in separate repositories with different APIs — one callback-based with its own permission constants, one promise-based with Apple's identifier strings — and npm records their first publishes as 2019-02-19 for @kingstinct/react-native-healthkit and 2020-09-21 for react-native-health.
Can I switch from react-native-health to @kingstinct/react-native-healthkit without rewriting queries?
No. The APIs differ: react-native-health uses initHealthKit with its own permission constants and callbacks, while @kingstinct/react-native-healthkit uses requestAuthorization with HealthKit identifier strings, promises and hooks. Every call site changes, and the second package also needs react-native-nitro-modules installed.

← All health and fitness libraries