DiveJSON

An open interchange format for scuba dive logs.

v1.0 draft โ€” freezes when the reference round-trip passes

One 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] } }
        }
      ]
    }
  ]
}

Media type application/vnd.dive+json, file extension .divejson.