Apple Health Duplicate Steps Checker
Is Apple Health counting your steps twice? Find overlapping iPhone and Apple Watch step records and see your real, deduplicated daily totals. Free, private, runs entirely in your browser — nothing is uploaded.
Drop your export.xml here
or click to choose a file
Nothing is uploaded. All processing happens on your device.
Naive vs deduplicated steps by month
Blue = raw sum of every record. Green = corrected total after removing overlaps.
10 most double-counted days
| Date | Naive | Deduped | Double-counted | Inflation |
|---|
Where your steps come from
Raw recorded steps per source, before deduplication. Overlap between the top two sources is usually where double counting happens.
| Source | Records | Raw steps | Share |
|---|
How to use it
- On your iPhone open the Health app, tap your profile picture, then Export All Health Data. You'll get an
export.zip. - Unzip it on your computer. Inside the
apple_health_exportfolder you'll findexport.xml. - Drag that
export.xmlonto the box above (or click to select it). - Wait for the progress bar — large exports take 10–60 seconds. Only step records are read; everything else is skipped.
- Review your naive vs deduplicated totals, the most inflated days, and which sources overlap. Download the CSV if you want the full day-by-day breakdown.
Why Apple Health looks like it's counting your steps twice
If you wear an Apple Watch and carry your iPhone, both devices detect your movement independently and each one writes its own step records into Apple Health. When you glance at the Health app, you see a single sensible daily number — because the Health app quietly deduplicates those overlapping records behind the scenes, giving priority to one source at a time so the same steps aren't added twice.
The trouble starts when you export your data. The raw export.xml file keeps every single record from every source, exactly as it was written. So the moment you load it into a spreadsheet and write =SUM() over the step column, you add the iPhone's steps and the Watch's steps together for every minute you had both devices with you. The result can look almost twice as high as reality. This is the single most common reason people believe "Apple Health step count is wrong" — the numbers aren't wrong, the raw export just isn't deduplicated for you.
What this tool actually does
It streams your export.xml, pulls out only HKQuantityTypeIdentifierStepCount records, and groups them by calendar day and by source (your iPhone, your Apple Watch, and any third-party apps like a treadmill or a pedometer app). Then it computes two numbers for every day:
- Naive total — the raw sum of every step record, the same number you'd get from a spreadsheet. This is the inflated figure.
- Deduplicated total — a corrected number that removes the double counting from overlapping sources.
How the deduplication is calculated
For each day the tool sorts every step record by its start time and walks through them in order, keeping track of the latest point in time already accounted for. Each record covers a time interval from its startDate to its endDate. When a record's interval overlaps one that's already been counted and comes from a different source, the tool treats it as a duplicate of that span: rather than adding both, it keeps only the single larger contributor for the overlapping period. Records that don't overlap anything are always counted in full.
This is a transparent approximation of the source-priority merging Apple itself performs. It's not a perfect reconstruction of Apple's internal algorithm — Apple weighs device priority and sampling in ways it doesn't publish — but it reliably strips out the roughly-double inflation caused by two devices recording the same walk, which is exactly what you care about. The double-counted figure you see per day is simply naive − deduplicated, and the inflation percentage is (naive − deduplicated) ÷ deduplicated × 100.
How to read your results
A low inflation percentage (under ~10%) usually means you mostly rely on one device, or you rarely carried your phone and watch together. A large inflation percentage (50–100%) is the classic signature of an iPhone and Apple Watch both logging your daily walks. Look at the per-source breakdown: if two sources each contribute a large share of raw steps, that overlap is your double counting. The deduplicated total is the number to trust — it should line up closely with what the Health app shows you on screen.
Reassurance: you don't have a broken watch or a buggy phone, and you don't need to delete a data source. The Health app is already showing you correct, deduplicated numbers day to day. This tool simply gives you those corrected numbers for the raw export so your spreadsheets, dashboards and analyses aren't thrown off.
Frequently asked questions
Is Apple Health really counting my steps twice?
Not on screen. The Health app already deduplicates overlapping step records from your iPhone and Apple Watch before it shows you a daily total. The double counting only appears when you export the raw export.xml file and add up every record yourself, because the raw file keeps every source's records separately. This tool applies the same kind of source-priority merge Apple uses so you get the corrected number.
Why do my iPhone and Apple Watch record the same steps?
When you carry your iPhone while wearing your Apple Watch, both devices independently detect motion and each writes its own step records to Health. Their time intervals overlap, so a naive sum of both sources roughly doubles the steps for the periods you had both devices with you.
How does the deduplication work?
For each day we sort every step record by start time and walk through them in order. When records from different sources overlap in time, we count only the single larger contributor for that overlapping span instead of adding them together. Non-overlapping records are always kept. This approximates Apple's priority-source merging and gives a realistic corrected total.
Does my health data leave my browser?
No. The entire analysis runs locally in your browser using JavaScript. Your export.xml file is never uploaded to any server. You can even disconnect from the internet after the page loads and it will still work.
My export.xml is huge. Will this crash my browser?
No. The tool streams the file in small chunks and only extracts step records, skipping everything else. Files of several hundred megabytes are processed with a live progress bar. Parsing typically takes 10 to 60 seconds depending on file size and device.
Which number should I trust, naive or deduplicated?
Trust the deduplicated total. It is the closest match to what the Health app shows and to your true step count. The naive sum is only useful for seeing how much a raw spreadsheet export inflates your numbers.
More free tools
Want deeper analysis?
Turn your full Apple Health export into trends, charts and AI insights — steps, sleep, heart rate, workouts and more.