Skip to content

OpenBody™

Your training history belongs to you. One open, portable format that any app can read and write — losslessly, without platform lock-in. Convert your data out of any silo, or build your app on it natively.

DRAFT · v0.10.0 · pre-v1.0

Get your data out

Years of training live inside whichever apps you happened to log them in — the lifting app’s schema, the watch’s activity files, the climbing app’s ticks, each with its own exercise names and export quirks. Switching apps means losing history; building on top of an app means building on an API that can change under you.

Try it now: upload a real Hevy, Strong, Apple Health, Strava, GPX, TCX, FIT, Concept2, theCrag, or Fitbit (Google Takeout) export and watch it become portable OpenBody JSON — parsed, converted, and downloadable entirely in your browser. Nothing leaves your machine. No signup, no upload, no account. (The same open-source library behind it maps ten formats and counting — see the supported-formats matrix.)

The timing matters. Platforms keep tightening what third parties may do with your data — Strava’s API restrictions being the most visible recent example — while the EU Data Act phases in the other direction, requiring connected products to make user data accessible (with design obligations applying to products placed on the market from September 2026). Portable, well-specified formats are how those rights become usable in practice. (For how OpenBody fits alongside peer formats, aggregators, and standards, see Related projects & ecosystem.)

What OpenBody gives you

A lossless data model — both pillars

One format for telemetry (heart rate, sleep, GPS, body composition) and structured training — and structured training means all of it: sets and supersets, runs, rides and swims, holds and intervals, climbing sends, match and race results, mobility and breathwork, planned vs performed. One scoring model spans a barbell set and a marathon; the coverage corpus proves it on everything from Hyrox to kabaddi to freediving. Incumbent → OpenBody is lossless by design: anything without a canonical home is preserved via namespaced extensions or the opaque fallback. Nothing is dropped.

Canonical exercise identity

One app’s “Bench Press (Barbell)” and another’s “Barbell Bench Press” become the same canonical movement: bench-press.barbell.flat. A curated, CC0 exercise registry of 800+ movements with structured facets and crosswalks — and mappers resolve source names to canonical ids, falling back to a lossless opaque string when they can’t.

Open & vendor-neutral

Fully open, not open-core: spec under OWFa 1.0, reference code Apache-2.0, registry data CC0 — implementable by anyone, in any language, no strings attached. Stewarded by Thabit Labs with intent to transfer to a neutral foundation as adoption warrants. See Governance.

Start here — for your data

Want to see the shape of the data itself? OpenBody in five minutes walks through the whole core in seven real records — a measurement, a set, a run, a session, a superset, planned vs performed, a climbing send.

Start here — for app builders

Built on a real standard

Tools are only as good as the format underneath them. OpenBody is a canonical data model plus mapping semantics — defined independently of any serialization, with JSON (and a published JSON Schema) as the primary, first-class binding, published conformance profiles, and executable test vectors. Every claim above is specified, not improvised.


“OpenBody” is a vendor-neutral standard stewarded by Thabit Labs. The steward is not the brand on the wire. Specification: OWFa 1.0 · Reference code: Apache-2.0 · Registry data: CC0. See Licensing.