Subsurface can plan and track single- and multi-tank dives using air, Nitrox or TriMix. It allows tracking of dive locations including GPS coordinates (which can also conveniently be entered using a map interface), logging of equipment used and names of other divers, and lets users rate dives and provide additional notes.

You can tag dives and filter a dive list based on criteria including tags, locations and people with whom you were diving. You can group the dive list into trips, and edit multiple dives at the same time, making it easy to support a large number of dives.

Subsurface also calculates a wide variety of statistics of the user’s diving and tracks information like the SAC rate, partial pressures of O2, N2 and He, calculated deco information, and many more.

The program is localized in about 20 languages and well supported by an active developer community.

One of the major strengths of Subsurface is its support of a wide range of dive computers (see the https://subsurface-divelog.org/documentation/supported-dive-computers/[list of supported dive computers]). Subsurface can also import existing dive logs from several sources including MacDive, Suunto DM3, DM4 & DM5, JDiveLog and divelogs.de.

Another strength is its ability to visualize the depth profile (and, if available, the tank pressure curve) in innovative ways that give the user additional information on relative velocity, and momentary air consumption, during a dive. Users who dive with multiple dive computers can combine the data from each of their dive computers into one dive – allowing visualization of the data collected from multiple sources.

Subsurface lets the user print out a detailed log book including dive profiles and other important information.