BaseCamp GDB — Garmin Database: project format of Garmin's modern desktop app

2026-06-1710 min read
GarminBaseCampGDBGPSnavigationdesktopoutdoor

BaseCamp GDB (Garmin Database, .gdb extension) is the native project format of Garmin's modern desktop application BaseCamp. A single file packs waypoints, tracks, routes, geocaching caches, photos linked to GPS coordinates, and references to custom maps. For a hiker, hunter, fisherman, or geocacher this is the format where all trip preparation lives: routes from home to trailhead, routes on terrain, points of interest, photos from previous visits. On a Garmin handheld (eTrex, GPSMAP, Oregon, Montana) the same .gdb project unfolds with a single click of "Send To Device".

Map generation of Nizhny Novgorod city center
Center of Nizhny Novgorod. A track and waypoint export from osm2cdr.ru in GPX format imports into BaseCamp and is saved as a single .gdb project before being loaded onto a Garmin GPSMAP 66.

History: from MapSource to BaseCamp

In 1998 Garmin released MapSource — the first desktop application for preparing data to load onto its GPS receivers. MapSource ran only on Windows, used its own .mps project format (MapSource Project), and was tightly bound to the era of Garmin City Navigator and Topo Russia 6 on CD-ROM. By the early 2010s MapSource's architecture had aged: monolithic GUI, no Mac OS port, poor performance on large datasets, instability on modern Windows.

In September 2010 Garmin released BaseCamp as MapSource's successor. The goals were ambitious: cross-platform (Windows and Mac OS in parallel), a modern 3D view with the Garmin BirdsEye Satellite Imagery underlay, integration with Garmin Adventures (composite trips with photos and journals), native geocaching support, KML/KMZ import from Google Earth. To enable extensibility, a new project format was developed — .gdb, Garmin Database. Unlike the flat .mps, GDB is a structured database with separate tables for waypoints, tracks, routes, photos, and meta-information.

Since 2015 Garmin has stopped updating MapSource (last version 6.16.3), although the application still runs on modern Windows. In parallel BaseCamp received annual updates: fitness-device support (vívoactive, Forerunner — partially, via TCX/FIT), Adventures, advanced TopoActive map work, sync with Garmin Connect Cloud via Garmin Express. By 2024 the current BaseCamp version is 4.7.x, supporting GDB v3 (third format generation).

In 2020 Garmin gradually started migrating its user base to Garmin Connect (mobile and cloud). BaseCamp remained for desktop power users — hikers spending hours on route preparation, geocachers with thousands of points, hunters with personal hunting-ground databases. As of May 2026 BaseCamp is still actively supported by Garmin and available for free download.

What's inside a GDB file

GDB is a binary proprietary format, partially documented through gpsbabel team's reverse engineering. Structurally it resembles a simplified database with fixed- and variable-length records.

The file header begins with the signature MsRcd (from MapSource Record Data — a MapSource legacy) and a GDB version number: 2 for v1 (BaseCamp 1.x), 3 for v2 (BaseCamp 2.x–3.x), 4 for v3 (BaseCamp 4.x+). After the header comes a sequence of records of different types: waypoint, route, track, route point, map reference, custom data.

A waypoint record contains: a unique identifier, a name (up to 255 UTF-8 characters), description, type (built-in Garmin icon, e.g. Flag, Blue or Geocache), latitude and longitude with 10⁻⁷-degree precision, altitude above mean sea level (optional), depth for marine waypoints, creation timestamp, image references. A waypoint may include a proximity alarm — a trigger radius when the GPS receiver approaches, used in GPSMAP-series navigators to signal "you've reached the target".

A track record stores a sequence of track points: lat/lon, altitude, timestamp, plus heart rate (from devices with heart-rate monitors) and cadence (cycling devices). A track can be split into segments — usually automatically when GPS is lost for more than N seconds.

A route record is an ordered sequence of waypoints with turn-by-turn navigation instructions: "in 200 meters turn left". BaseCamp generates a route over a loaded Garmin map (City Navigator or TopoActive), using the routing graph from the vector IMG map.

Adventures is a special record that appeared in BaseCamp 3.x: a composite object combining waypoints, tracks, routes, geo-tagged photos, and a text journal. Effectively an exportable "trip report" sharable as an .adv file or uploadable to the Garmin Adventures cloud (now mostly via Garmin Connect).

Who needs GDB: five roles

Multi-day backpacker with Garmin GPSMAP. Before a two-week trek in Karelia, the route is prepared at a desk: tracks from past years, new planned routes on the Garmin TopoActive Russia map, spring and campsite markers from forum reviews. Everything is gathered into a single .gdb project, logically grouped by day via BaseCamp folders. On the trip the project loads in full onto a GPSMAP 66 — all waypoints accessible from the navigator, tracks "followable", photos browsable on the color screen.

Geocacher. A geocacher downloads cache locations from geocaching.com in advance as LOC or GPX. BaseCamp imports them, sorts by priority, adds personal notes, merges with own waypoints (parking spots, viewpoints). Saving as .gdb stores thousands of caches in one file without performance loss — MapSource would "think" for 30 seconds on the same data.

Hunter or fisherman. Personal databases of hunting grounds, promising fishing spots, access roads, overnight camps — accumulated over decades. In .gdb everything is structured by season, animal species, permits. Photos from past seasons are linked to waypoints (e.g., a photo of a harvested animal at the spot). Project backup — one .gdb file on a USB stick.

Outdoor blogger. A hiking-route summary turns into an Adventure — a composite object with a track, key points, photos, and journal text. The .gdb file is published on a community site — other hikers can import it into their BaseCamp and replicate the trek. An alternative is KMZ export for Google Earth viewing.

Professional guide. A mountain-tourism guide runs dozens of routes of different difficulty ratings. Each route is a separate .gdb project with up-to-date markings of forks, water sources, emergency-communication points. Before season start the project syncs to the group's navigators (10–15 GPSMAPs) — each carries the identical base.

Software for GDB: seven programs

Garmin BaseCamp. The main and official application. Free, Windows + Mac OS. Full support for .gdb of all versions, import of GPX/KML/KMZ/LOC/MPS/FIT, export to GPX/KML/KMZ. Integrated with Garmin Express for device sync. garmin.com/basecamp

Garmin Express. Garmin device-sync utility. Doesn't edit .gdb directly but manages project transfer between device and computer, map and firmware updates. garmin.com/express

gpsbabel. Cross-platform CLI converter for 100+ GPS data formats. Reads GDB v1/v2/v3 and writes GDB v3. Indispensable for automation and batch processing. Example: gpsbabel -i gdb -f project.gdb -o gpx -F project.gpx dumps the entire project into GPX. gpsbabel.org

Garmin Connect (web + mobile). BaseCamp's cloud successor for the fitness and daily-activity direction. .gdb import is partial — waypoints and tracks transfer, but Adventures and linked photos are lost. Fully free service. connect.garmin.com

MapTrip. Alternative route planner with Garmin-format support. Used by some European outdoor communities as a lighter BaseCamp replacement.

OziExplorer. Legendary Windows-only GPS-navigation package, popular among Russian hikers of the 2000s. Reads GDB via plugin. Not actively developed, but still works.

MyTrails. Android app for viewing GPS tracks and waypoints. Imports .gdb after pre-conversion to GPX. Useful for those who plan on desktop and use an Android phone in parallel with a navigator on the trail.

Pitfalls and tips

GDB versions are not fully compatible. BaseCamp 4.x writes GDB v3 by default, which older versions (BaseCamp 2.x) can't open. To share with an old-version user — in BaseCamp's "Save As" dropdown choose "GDB v2". Reads work bidirectionally.

Waypoint names longer than 14 characters. Standard Garmin handhelds (eTrex 10/20/30, GPSMAP 64) display only the first 14 characters of a waypoint name on the device screen. Long names are truncated, which can be critical — "Spring_near_Ivan" and "Spring_near_Anna" both become "Spring_near_Iv". Use short meaningful names or codes (W001, W002) with detailed text in Description.

Photos bloat the project. Linking JPEGs to waypoints stores them at full size inside the .gdb (or alongside, depending on setting). A project with 200 waypoints and linked photos can weigh 500 MB–2 GB. Transferring to a GPSMAP — not everything fits; only thumbnails go to the navigator. When sharing a project, pack via .adv or pre-compress photos.

Routes require a loaded map. To build a route with turn-by-turn instructions, BaseCamp must have a routable Garmin map loaded for the region — City Navigator, TopoActive, or an OpenStreetMap conversion via bbBike. Without a map, you get only straight-line routes between waypoints with no road-following.

Importing OpenStreetMap data. Direct import of .osm or .osm.pbf into BaseCamp doesn't exist. The standard path: export the desired fragment via osm2cdr.ru in GPX, import into BaseCamp, edit waypoints/tracks as needed, and save as .gdb.

Geocaching LOC is outdated. BaseCamp reads the old .loc format from geocaching.com, but with minimal info — only coordinates and name. The modern path: "Pocket Query" export from geocaching.com directly in GPX with extensions, which BaseCamp imports with full info: cache attributes, last logs, hint, container size.

BirdsEye is paid. Garmin BirdsEye Satellite Imagery underlay — paid subscription ~$30/year. Free alternative: OpenStreetMap tiles as Custom Map IMG (via mkgmap), then loaded in BaseCamp as a pseudo-map.

Cross-device sync via Garmin Connect. Working with BaseCamp on desktop and Garmin Connect on phone — sync of waypoints/tracks is one-way and incomplete. One device = source of truth. Many users keep BaseCamp as master and export a subset to GPX for Garmin Connect Mobile.

How to prepare a .gdb project via osm2cdr.ru

Direct .gdb export isn't offered by osm2cdr.ru — the format is proprietary and used only in BaseCamp. But a working pipeline: osm2cdr.ru → GPX → BaseCamp → save as .gdb.

Step 1. On osm2cdr.ru outline a bbox for the future hike — e.g., a Caucasus, Karelia, or local-park fragment. Step 2. In the format dropdown choose GPX. Step 3. Download — it will be GPX with tracks (along OSM roads and trails) and waypoints (POIs of type shelter, peak, spring). Step 4. Open BaseCamp, File → Import, choose the downloaded GPX. Step 5. Objects appear in Library under the filename. Drag-and-drop them into the desired project folder. Step 6. File → Save As → choose GDB v3 (or v2 for legacy compatibility). Step 7. Plug in your Garmin device via USB. In the "Send To" dropdown pick the device name. Everything transfers to navigator memory.

For batch processing of many fragments, use gpsbabel:

# Merge several osm2cdr.ru GPX exports into one .gdb
gpsbabel -i gpx -f area1.gpx \
         -i gpx -f area2.gpx \
         -i gpx -f area3.gpx \
         -o gdb,ver=3 -F combined.gdb

The ver=3 flag forces GDB v3 (for BaseCamp 4.x). For older versions use ver=2.

In a typical case an osm2cdr.ru export of a 50×50 km fragment at detail level 4 yields a 5–15 MB GPX with thousands of objects. After import into BaseCamp and save as .gdb v3 the file compresses to 1–3 MB thanks to a more compact binary representation.

Sources

← All articles