MyDiveLog

Your dive logbook

For divers who want to understand what their data is telling them, not just store it. Every dive you have ever made in one archive — even if you have changed computers three times. MyDiveLog merges them without duplicates, analyses them one by one, and holds every field Italian law 70/2026 asks for: ready to show, as a PDF, five minutes after surfacing.

This project was born for

The package above needs macOS 12 and an Apple Silicon Mac, and updates itself. The same app is also on the Mac App Store, if you would rather let Apple keep it up to date.

But it was later released for

FreeNo accountOpen source Windows, Android and Linux: what differs → Will it read my computer? →

The MyDiveLog dive list: date, site, max depth, duration, RMV and where each dive came from.
10 m 20 m 30 m safety stop 5 m · 3 min
115 dive computer models you can download over Bluetooth, thanks to libdivecomputer — and from any other one, the file
7 file formats read, detected by content
13 logbook fields required by law, every one of them
1400+ automated checks on every change

We read data from these computers

  • Shearwater
  • Suunto
  • Scubapro
  • Uwatec
  • Mares
  • Cressi
  • Oceanic
  • Aqualung
  • Garmin
  • Ratio
  • Apeks
  • Heinrichs Weikamp
  • Divesoft
  • Halcyon
  • Deepblu
  • Sherwood
  • Deep Six
  • Crest
  • Genesis
  • Oceans
  • Scorpena
  • McLean
  • Seac

The merge

Two computers, one dive

You wear one computer and carry a backup. You changed computer a few years ago. You download both from the manufacturer app and from the device. In all three cases the same dive ends up in two different files, and neither of them is complete. A logbook that makes you pick one makes you throw away half of what you have.

Aladin profile every 4 s no decompression data
Peregrine profile every 10 s ceiling · TTS · NDL · CNS
One dive profile every 4 s — the denser of the two ceiling · TTS · NDL · CNS rates and buoyancy measured on the denser profile states: Aladin + Peregrine

Neither entry disappears, and no data is left behind.

clocks

The same dive, even with clocks out of step

The offset is inferred across your whole logbook, and the match is confirmed on the shape of the profile — not on the timestamp.

channels

It chooses by channels, not by samples

Between a denser profile and one that knows about decompression, both win — each for what it knows.

sources

It never hides where it came from

Every dive lists the sources it was built from. When a value is missing you know which computer never wrote it.

The law

The dive logbook Italian law asks for

Since 10 May 2026 Italian law — law 70/2026, article 12(8) — requires every diver to keep a dive logbook with thirteen specific entries. And it says something that changes everything: it may be digital. Not “tolerated in digital form”: it is written in the text.

MyDiveLog keeps all thirteen, the guide's signature included.

The guide signs on screen

With a finger, on the phone you have on the boat. The mark stays attached to that dive, with a name and a date, and reprints crisply on paper: it is stored as strokes, not as a picture.

What is missing stays a dash

No field fills itself in, and the depth you planned never becomes the depth you reached. On a document someone signs, an invented value is worse than a missing one.

Made to be shown

A logbook matters at the moment someone asks for it. Every dive exports to PDF with the thirteen entries spelled out, from the computer or from the phone: you send it there, on the boat, five minutes after surfacing.

And none of this is mandatory. A dive with friends has no centre and no guide, and that does not make it irregular: no red fields, no warnings, no reminders. The app keeps the data, it does not lecture you.

This is not legal advice and the application does not claim to be “compliant”: it holds the fields the rule lists, and compliance belongs to whoever fills the logbook in. Article 12(8) sits in the article governing dive centres, and whether the duty also binds divers going out on their own is not settled by the text.

The thirteen entries, the fines and what the law does not say — the full page on Italy's dive logbook law

Features

What it does

Not “keeping a list”: a paper notebook does that, and has done it for fifty years without a battery. This one reads, merges, computes — and tells you what to work on next time.

Imports what you already have

UDDF, Shearwater, Scubapro LogTRAK, Garmin FIT, Subsurface, CSV. The format is recognised by its contents, not its extension.

Downloads over Bluetooth

The first time it reads the computer’s whole memory. From the second on, only the new dives.

Analyses the profile

Bühlmann ZH-L16C, oxygen exposure, buoyancy and ascent rate — and under every number, how reliable it is.

Plans

Gas and decompression, CCR, bailout and contingencies. Consumption comes from your own dives, not from a manual.

Tells you how to improve

Statistics, trends and coaching — each with the number that justifies it underneath.

The dive sheet as a PDF, from the phone too

One page per dive, with the thirteen fields the law asks for and the profile. From the phone you send it to whoever asks.

Screens

What it looks like

Five screens, five things it does: merge, read a profile, pull out the numbers, plan gas, say what to work on.

The MyDiveLog dive list: date, site, max depth, duration, RMV and where each dive came from.
The logbook, and where every dive came from.
A dive page: max depth, duration, RMV, buoyancy wobble and the profile chart.
A dive page: the profile, and what it says.
Statistics: RMV, buoyancy, ascent rate and oxygen exposure over the chosen period.
Statistics, each number saying how many dives it rests on.
The gas planner: measured RMV, planned dive, cylinder, mix and reserve.
The planner, starting from your real RMV.
Coaching: readiness for the chosen goal, priorities to work on and strengths.
Coaching, with the numbers behind every line.

Sync

The sync service

If you use more than one device, you can keep your logbook aligned. You sign in with an Apple or Google account and the app creates a database that is yours alone: there is nothing to configure, and dives travel directly between the application and that database.

Signing in is optional, and syncing is never automatic. The logbook opens, imports and analyses without ever seeing an account, because the archive is on your device. And nothing leaves until you press Sync: a logbook gets read on a boat, where there is no network.

Every person gets a database physically separate from everyone else's — not a row in a shared table. The service that hands out the keys keeps no list of users and never sees your dives: it says who you are and gives you a key that lasts two hours. You can delete your account from inside the app, and the database with it. See the Privacy details.

The code

Free and open

Every app asks you to trust it. This one hands you the means to check. MyDiveLog is free software under the MIT licence: the code can be read, copied, modified and rebuilt. By anyone, without asking us.

That is not a programmer's pose. A logbook decides where your data ends up, and a promise written on a website is worth exactly as much as whoever wrote it: the only way to really know what a program does is to read it. It is all on GitHub — the decompression maths, the code that talks to your dive computer, and the lines that decide to send nothing anywhere.

And there is one thing free software gives you that no subscription ever will: if we vanished tomorrow, the program stays. It does not expire, cannot be switched off from a distance, and will not lock you out of your own logbook. Your dives are yours, and they stay readable without us. Look at the code.

src/core/analysis/buhlmann.ts
// The Schreiner equation: how much gas enters a tissue
// while ambient pressure changes at a constant rate.
const k = Math.LN2 / semiperiodo;
const carico =
  gasIniziale +
  tasso * (tempo - 1 / k) -
  (gasIniziale - inerteIniziale - tasso / k) * Math.exp(-k * tempo);

Other platforms

Windows, Android and Linux: what to know

They do everything the Mac version does. What changes is how they update, and what the system says the first time you open the file.

Windows

Format
.exe installer
Updates
Automatic, like the Mac
The system
Will say it doesn’t know us: “More info” → “Run anyway”

Android

Format
.apk package
Updates
By hand: you get the file again from here
The system
Will ask permission to install from this source

Linux

Format
.deb package, amd64
Updates
By hand, as on Android
The system
Needs WebKitGTK 4.1: available from Ubuntu 24.04 and Debian 13 onwards. It will not install on anything older. On Arch and Manjaro: see help

It re-downloads by hand for two different reasons. On Android, an app that updates itself would have to ask for a permission scarier than it is worth; on Linux, automatic updates would only work with a package format other than the .deb, which is what people expect.

None of the three is signed by an authority, so the file cannot vouch for itself. Its SHA-256 fingerprint can, and it is published next to the package on the releases page: if it matches the file you downloaded, it is ours.

Safety

One warning that matters

MyDiveLog is not a dive computer and must not be used to make decisions in the water. Its decompression calculations, plans and analyses exist to study the dives you have done and prepare the ones you are going to do: they do not replace your dive computer, your training or your judgement. Scuba diving carries risks, including death.

All your dives, in one place

Free, no account and no subscription. Download it, drop in the files you already have, and a minute later your whole history is in a single list.

MyDiveLog is open source and free. If you like it and want to help keep it alive, you can do it here.

Buy me a coffee

Opens PayPal. No account needed — a card works too.