The short answer: a body composition scan app does one of two jobs. It either estimates your body fat and muscle from your phone's camera, or it reads and tracks results from a real scan, such as a DEXA or an InBody machine. Those are very different tools, and most app listings don't tell you which one you're getting. AllStrong is the second kind. On Premium, you photograph the printout from an InBody, DEXA or BIA scan, or pick a screenshot of your results, and the app reads the numbers (body fat percentage, muscle mass, BMR and other metrics) so you can follow the trend over time. It does not estimate body fat from a photo of you.
Last updated: October 2026
Two kinds of app hide behind one search term
The difference is small on an app store page and big in practice.
Camera-based estimators ask you to stand in front of your phone, sometimes turning slowly, and then build an estimate from your outline or a 3D model of your shape. There's no appointment and no extra hardware. The catch is that the app never measures fat or muscle directly. It infers them from shape, so lighting, clothing, posture and camera angle all feed into the answer.
Scan readers don't measure anything themselves. The measurement happens on a machine at a gym, clinic or lab, and the app's job is record keeping: capture the numbers, store them, and show how they change from one scan to the next. That means you need access to a scanner. It's more hardware, not less.
Neither one is a food scanner, by the way. If you landed here looking for a tool that reads barcodes or meal photos, our guides on the app that scans food for calories and the best app to scan food and get nutrition info cover that side.
What each scan method actually measures
Every method below gives you an estimate. They just estimate in different ways, and each one has its own weak spots.
| Method | How it works | Good for | Watch out for |
|---|---|---|---|
| DEXA | A low-dose X-ray at two energy levels separates fat, lean tissue and bone | Detailed results, including a breakdown by body region | Cost, an appointment, and differences between machines |
| BIA (smart scales, InBody-style devices) | Sends a small electrical current through the body; water conducts it, fat resists it | Fast and repeatable | Hydration, recent meals, exercise and time of day shift the reading |
| 3D optical scanner | Cameras build a model of your body and estimate composition from its shape | Circumference measurements like waist and hips | Composition is inferred from shape, not measured |
| Phone photo apps | Estimates from one or more photos | Convenience at home | Lighting, clothing and posture change the result |
| Skinfold calipers | Measures the thickness of pinched skin at set points, then applies a formula | Low cost | Depends heavily on the skill of the person measuring |
A few terms worth unpacking. Lean mass is everything that isn't fat: muscle, organs, bone and water. BMR (basal metabolic rate) is an estimate of the calories your body uses at rest, before any activity. Many scan printouts list both, and the numbers depend on the machine's own formulas.
Conditions matter more than the machine
My opinion, and some people will disagree: a consistent series of readings from one decent BIA device tells you more than a single scan from the fanciest machine in town. One reading is a snapshot. A series taken under the same conditions shows direction, and direction is what most people actually want to know.
To make readings comparable:
- Use the same device each time. An InBody reading and a DEXA reading come from different methods and aren't interchangeable.
- Scan at the same time of day, with similar food, water and exercise beforehand.
- Space scans weeks apart rather than days. Day-to-day readings bounce around with hydration, so frequent scans mostly record noise.
- Read the trend, not one result. A single number that jumps is usually a measurement quirk, not a change in you.
If you've ever had two scans a week apart disagree and wondered what you did wrong, that's why. It's not your fault; it's the conditions.
And keep the number in proportion. A scan is a data point about your body on one morning. It isn't a grade, and it doesn't say anything about your effort or your worth.
How AllStrong handles scan results
AllStrong's Body Composition Scans feature is built for people who already get scanned, or can. Here's what it does:
- Get a scan on an InBody, DEXA or BIA machine and keep the printout.
- Photograph the printout in AllStrong, or choose a photo or screenshot of your results from your phone.
- The app reads the numbers off the image: body fat percentage, muscle mass and BMR, plus body water, visceral fat and lean mass by body region when your printout lists them. You check the values before you save.
- Each scan is saved, and the Trends screen shows your latest numbers with a trend line across your recent scans.
A screenshot of digital results works, because the app takes any image from your photo library. A PDF doesn't. If your results came as a PDF, take a screenshot of the page first.
Body Composition Scans is a Premium feature. Premium isn't sold on its own yet: it's included automatically when your gym runs AllStrong.
On Android, AllStrong's free wearable sync can also import weight and body fat readings through Health Connect. Those readings are kept separately from your scans: they appear on the body composition chart, while scan results appear in Trends.
What it doesn't do matters just as much. AllStrong doesn't estimate your body fat from a photo of you, it doesn't build a 3D model, and it doesn't take the measurement. Fair warning: if you have no access to a scanner, this feature has nothing to read, and a camera-based app is the only at-home option of the two.
The rest of the app sits around those numbers. You log meals, workouts, sleep, water and mood by chatting, and you can speak anything you'd type (more in our voice input fitness app guide). It all sits in the same habit tracking app.
Which kind should you use?
If you want a rough at-home read and you understand it's an estimate, a camera-based app is convenient. If you already get scanned at a gym or clinic, or you plan to, a reader keeps those results in one place so you're not digging through old printouts to see what changed. I'd pick based on one question: where does your measurement actually come from?
Frequently asked questions
Can a phone app measure body fat from a photo?
It can estimate it. Camera-based apps infer body fat from the shape of your body in photos or a 3D model, so lighting, clothing, posture and camera angle all affect the result. Treat the number as a rough guide rather than a precise reading. AllStrong doesn't work this way; it reads results from a scan you've already had on an InBody, DEXA or BIA machine.
Does AllStrong scan your body?
No. AllStrong reads scan results rather than taking the measurement. You photograph the printout from an InBody, DEXA or BIA scan, or choose a screenshot of your results, and the app reads body fat percentage, muscle mass, BMR and other metrics, then stores them so you can track the trend. It's a Premium feature, included automatically when your gym runs AllStrong.
Can I upload a PDF of my scan results?
Not as a PDF. AllStrong takes a photo of the printout or any image from your photo library, so a screenshot of your digital results works. If your results arrived as a PDF, take a screenshot of the page and choose that.
How often should I get a body composition scan?
Space scans weeks apart rather than days. Readings, especially from BIA devices, move with hydration, recent meals and exercise, so very frequent scans mostly capture day-to-day noise. Scan under the same conditions each time, on the same device and at the same time of day, and judge the overall trend rather than any single result.
Are InBody and DEXA results comparable?
Not directly. DEXA uses low-dose X-rays, while InBody devices use bioelectrical impedance, and each machine applies its own formulas. The same person can get noticeably different numbers from each. If you switch methods, start a new baseline and compare later scans against that method's earlier readings, not against results from a different machine.