Tracking & Tech

HealthKit vs Health Connect

How the two main mobile health platforms differ on step counting.

Apple HealthKit (iOS) and Health Connect (Android, replacing Google Fit) are the two health-data systems most fitness apps read from. They're similar in concept — central permission-gated data stores — but differ on accuracy, what data they include by default, and how multi-app conflicts get resolved.

Step-counting accuracy

Both are accurate to ±3–5% for most adults at normal walking pace. HealthKit is consistently slightly more accurate because Apple controls both the hardware (iPhone or Apple Watch sensor stack) and the SDK end-to-end. Health Connect aggregates from many manufacturers; quality varies — Pixel and Samsung are good, budget Android phones can be ±15%.

What gets recorded by default

HealthKit: every iPhone records steps automatically — no setup needed. Apple Watch records workout-class activity automatically. Health Connect: must be installed from Play Store on Android 13 and earlier (built-in on Android 14+). On Android 14+ with the OS-level "Steps" feature enabled, the OS auto-writes steps; on older devices, you need a writer app like Google Fit or Samsung Health.

Conflict resolution (multi-app data)

Both systems handle multi-source step data with priority lists. HealthKit: user picks priority order per data type in Settings → Health → Data Access & Devices. Health Connect: similar priority UI in the Health Connect app. If two apps write overlapping step data for the same time window, the higher-priority source wins.

Which to trust as a developer / user

For users: trust the OS-level reading over any individual app. For developers: read from HealthKit / Health Connect rather than rolling your own pedometer — the OS sensor fusion is years ahead of what most app-level implementations can do. The @gfn-oss/healthkit-supabase-sync helper is what GFN uses to standardize reads across both platforms.

FAQ

Will my Health Connect data sync across devices?
Not automatically — Health Connect data is local-only. Apps that read it can sync to their own backends (which is what GFN does).
Why does HealthKit and my fitness app show different totals?
Either the app has its own pedometer running in parallel, or it's reading a different time window. Force-refresh the app or check its source-priority settings.

More tracking & tech

Stop calculating by hand

Walk with your friends today.
Climb the leaderboard.

GFN reads your phone's step count and ranks you on city, country, and global leaderboards. Founder credentials are permanent.