DiveJSON
An open interchange format for scuba dive logs.
v1.0 draft โ freezes when the reference round-trip passesOne JSON document carries a complete logbook โ dives with full sampled profiles from every computer worn, gas mixtures, trips, training courses, dive sites, marine-life sightings, gear and its service history, certifications, the people the diver dived, travelled and trained with, and the contacts behind them (dive centers, shops, places to stay) โ so a diver's data can move between applications without loss. Nothing invented: a value that was never recorded is absent, and no reader fabricates one. One canonical metric unit system. Times keep their UTC offsets. Every cross-reference resolves inside the document.
{
"format": "divejson",
"version": "1.0",
"exported_at": "2026-08-28T10:15:00+00:00",
"diver": { "uuid": "019fec35-54b9-7874-a1c7-b504a3e8e778", "name": "Sam Reef" },
"dives": [
{
"uuid": "019fec36-b9ec-71c6-a03e-64f59b8b92b1",
"started_at": "2026-04-17T11:49:23+02:00",
"submerged_time": 2460,
"max_depth": 18.4,
"cylinders": [{ "volume": 12.0, "oxygen": 32.0, "start_pressure": 200.0 }],
"recordings": [
{
"device": { "brand": "Suunto", "model": "Ocean" },
"profile": { "duration": 2460000, "depth": { "times": [0, 60000, 120000], "values": [0, 950, 1840] } }
}
]
}
]
}
- ๐ The specification
- ๐งฉ JSON Schema (draft 2020-12)
- ๐ ๏ธ Spec repository โ schema, conformance fixtures
- ๐ Python tools โ
divejson validate, the converters,divejson conform
Media type application/vnd.dive+json, file extension
.divejson.