MacDive Import LIVE

Your MacDive library, elevated.

DeepSix Dive Log performs a high-fidelity structural import of your MacDive database — your dives, fields, relationships, and decoded dive-computer profiles, brought across with care. It's a best-effort migration rather than a simplified export, and your original database is never touched. We bring across as much as we can, and open up new capabilities for the dives you already have.

How To Import

Pick the MacDive folder. Not just the database file.

On macOS, point the importer at your MacDive folder — the picker pre-navigates to ~/Library/Application Support/MacDive for you. DeepSix finds the database inside it, and because it holds the whole folder, it can also reach the sibling image folders: gear photos, site reference images, and critter thumbnails all come across. Selecting only the lone .sqlite file still works, but imports dives only.

Already did a dives-only import, or imported on iPhone or iPad first? File → Import Photos from MacDive Folder… runs just the photo pipeline against the dives you already have — matched by source ID, deduplicated by source key and perceptual hash, nothing imported twice.

Field Coverage

"38 fields. We go after all of them."

We aim to capture every user-facing field from every dive record. Depth, temperature, gas mixes, decompression data, CCR setpoints, scrubber times, weather, conditions, boat names, divemasters, operators, ratings, notes. Even the raw binary dive computer data is kept for future reanalysis.

The two columns we deliberately skip are Z_ENT and Z_OPT — Core Data internal housekeeping values with no user content. Dive logs accumulate quirks over years, so if something doesn't come across the way you expect, that's a bug we want to hear about.

Dive data Depth · avg depth · duration · date · timezone
Conditions Temp hi/low · air temp · visibility · current · surface conditions · weather
Dive computer Computer name · serial · parser type · deco model · GF lo/hi · CNS · decompression flag
Gas & equipment O₂% · He% · tank name · volume · working pressure · start/end pressure · surface interval
CCR Setpoint hi/low · scrubber type · scrubber time
Logbook fields Rating · notes · entry type · boat name · divemaster · operator · repetitive dive number
Site Name · country · location · body of water · GPS lat/lon · altitude · water type · difficulty
Relationships Buddies · tags · dive types · critters · photos · gas mixes · events

Your MacDive database is opened read-only. DeepSix never writes a single byte to your source file. Import the same database twice and deduplication catches it automatically — sourceKey "MacDive:{Z_PK}" prevents any dive appearing twice.

The same is true across sources: download the same dives straight from your dive computer later and cross-source identity — keyed on the recording's own device wall-clock and a fingerprint of the depth profile — recognizes them as dives you already have. MacDive history and direct downloads never duplicate, and nothing is ever merged across divers without your confirmation.

Switch to DeepSix with confidence. Your MacDive library is untouched.

Profile Decoding

We don't just copy the binary. We decode it.

MacDive stores dive computer profiles as opaque binary blobs — it can display them, but it can't tell you what's in them. DeepSix decodes them.

Suunto and older Shearwater profiles (ZSAMPLES V1): natively parsed into per-second depth, temperature, pressure, CNS, and NDL sample streams.

Newer Shearwater profiles (ZSAMPLES V4, Perdix 2 recent firmware): decompressed from LRE+XOR encoding and parsed at the native 32-byte record level.

For 30+ other dive computer brands, libdivecomputer extracts samples, decompression models, dive modes, and GPS coordinates that MacDive itself couldn't surface. The raw binary is always preserved in DiveProfile.rawData for future re-parsing if the format becomes better understood.

ZSAMPLES V1     8-byte header + N×24-byte records
                6×Float32 LE: depth, temp, pressure, CNS, NDL, time
                Decoded natively — no libdivecomputer needed

ZSAMPLES V4     Unknown encoding · high entropy
                Falls through to ZRAWDATA + libdivecomputer parser

ZRAWDATA        LRE per 144-byte block (9-bit packed values)
                + XOR deobfuscation (data[i] ^= data[i-32], i≥32)
                Always preserved for future reanalysis

libdivecomputer 30+ computer families as universal fallback
                Enriches: diveMode, decoModel (GF lo/hi),
                GPS, temperature where MacDive fields are empty
Hidden GPS

MacDive stores it. MacDive can't display it. We extract it.

If you dive with a Shearwater Swift AI transmitter, your dive computer recorded GPS coordinates at entry and at exit. This data sits in the compressed binary ZRAWDATA of every Shearwater dive in your MacDive database.

MacDive has never extracted it. DeepSix does — from every historical Shearwater dive in your import, automatically. Entry and exit coordinates are written to your dive site, placed on the map, and used to geolocate every matched photo.

How Shearwater GPS extraction works →
Photo Matching

Your photos, placed on your profile. Within 30 seconds of the shutter press.

MacDive tracks which photos belong to which dives using internal event timestamps — the time offset from dive start when you took the shot. DeepSix uses those timestamps as a starting point, then scans your entire Photos.app library — not just photos MacDive knew about. If you shot with a Sony A7C II that never synced to MacDive, those photos can be matched too — photos from any camera you own, linked to the dive they belong on.

DeepSix places each matched photo on your dive profile chart at the exact depth and time it was taken. Underwater videos are matched with the same precision. Critter identifications you recorded in MacDive are reconnected to the photos they were originally attached to.

Match tolerance 30 seconds of the original shutter press
Method Binary search + outward scan for closest unused PHAsset within tolerance window
Video Matched alongside photos — same pipeline, same precision
Critters MacDive critter names reconnected to their original photos by common name lookup
Photos.app All of Photos.app is scanned — not just photos MacDive knew about. New matches surface automatically.
Rescue Photos that exist only inside MacDive as embedded blobs are extracted and added to your Photos.app library. macOS and macOS (Designed for iPad) only.
Embedded photo rescue — extracting blobs from MacDive and adding them to Photos.app — requires macOS or macOS (Designed for iPad). On iPhone and iPad, photos already in your Photos.app library are matched normally.

"For some divers, hundreds of dives suddenly have precise GPS. The first time you see them on a map with entry and exit pins is the moment MacDive import pays for itself."

Relationships

Not just dives. What's attached to them.

A dive log is more than a list of dives. DeepSix reconstructs the relationships in your MacDive database — buddies, gas mixes, critters, tags, events, and sites.

👥
Buddies

Names preserved and linked to every dive they appeared on

🧪
Gas mixes

O₂ and He percentages with tank associations and start/end pressures — per dive

🐠
Critters

Species and categories from MacDive, reconnected to their photos

🏷️
Tags & types

All dive tags and dive types imported and searchable

⚡
Events

Dive events (gas switches, warnings, markers) with time offsets and detail strings

🗺️
Sites

Full site data: GPS, water type, difficulty, body of water, country, notes

How It Works

Three phases. One structural migration.

STRUCTURAL DATA Automatic
MacDiveImporter

Opens MacDive SQLite read-only via GRDB. Pre-loads all lookup tables into O(1) dictionaries. Creates every dive, site, gas mix, tank, buddy, tag, event, and critter relationship. Decodes profiles. Extracts Shearwater GPS.

→
PHOTO MATCHING Automatic
MacDivePhotoImporter

Reads ZDIVEIMAGE event timestamps. Batch-fetches PHAssets. Binary search + outward scan within 30-second tolerance. Places photos on profile at exact depth and time. Connects critters to photos. Auto-curates hero photos for tvOS.

→
EMBEDDED PHOTOS Optional
MacDiveBlobStager

For photos that exist only inside the MacDive database (never in your Photos library), extracts the embedded file, validates magic bytes, and stages to Photos.app with GPS metadata and perceptual hash for duplicate detection.

After import completes, DeepSix automatically:
  • → Infers environment type (reef/wreck/cave/wall...) from site names, tags, dive types, critters, and ACA classification
  • → Matches dives to planned trips by site proximity and date
  • → Tags "Deep Dive" for dives ≥18m
Restore Tools

If something came across wrong, the source can fix it.

Dive logs accumulate quirks over years, and some damage predates DeepSix — MacDive keeps only the first segment's raw data for merged split dives, and old imports could leave zeroed depths or durations behind. Two Data Tools repair from the source, matching dive by dive and only filling in where your log is missing or clearly wrong:

Restore Depth/Duration Reads real max depth, average depth, and duration back from your MacDive database where your log holds zeros or implausible values
Restore Profiles Rebuilds truncated dive profiles from a UDDF export, matched dive-by-dive — full profiles restored where only a fragment survived
What's New

Your old dives. New capabilities.

Reef Context

Every reef dive in your MacDive history gets NOAA bleaching data, Allen Coral Atlas zone classification, and an AI-written contextual note — retroactively, for dives years old.

Explore reef features →
Wreck History

Import a wreck dive and DeepSix looks up the vessel, finds the Wikipedia history, and flags war graves with a respectful amber banner. MacDive stored the site name. DeepSix tells you what happened there.

Photo Color Correction

Every matched photo from your MacDive import can be depth-corrected on-device. Red channel restored below 5m. Depth-adaptive. Non-destructive. Works on the same photos you've always had.

Explore color correction →
Marine Life ID

Your MacDive critters come across as names. DeepSix can add scientific names, family, genus, and confidence scores — and identify new species from photos that MacDive never analysed.

Explore critter ID →

Your history is safe. Your log is about to get better.

Import takes minutes. Your MacDive database is never modified.

More features