Colota - GPS Location Tracker
- Tracking no longer gets stuck on Pause after a geofence is deleted
- Geofence heartbeat records points offline and when the server is unreachable
- Merge adjacent trips from the Trips selection bar, or split one by tapping the map
- Elevation gain and loss count less altitude noise as climb
- Trips show an average speed instead of 0 km/h when points carry no speed
- Large point counts show as 123K or 2.0M
Features
- Self-Hosted - Works with Dawarich, GeoPulse, Home Assistant, OwnTracks, Overland, PhoneTrack, Reitti, Traccar or any custom backend that accepts JSON over HTTP
- Privacy First - No analytics, no telemetry, no third-party SDKs. Licensed under AGPL-3.0
- Works Offline - Fully functional without a server. Locations are queued locally and synced when connectivity returns. Export as CSV, GeoJSON, GPX or KML
- Offline Maps - Download map areas to the device for use without an internet connection
- Scheduled Export - Automatic daily, weekly or monthly exports to a local directory with file retention management
- Location History - Daily summaries, trip segmentation, manual trip merge and split, per-point notes, calendar with activity dots and per-trip export
- Import Your History - Bring in existing tracks from GeoJSON, Google Timeline, GPX, KML or CSV
- Encrypted Backup - Password-protected archives of locations, settings and geofences
- Reliable Tracking - Foreground service, auto-start on boot and exponential backoff retry
- Geofencing - Pause zones that automatically stop recording locations
- Tracking Profiles - Automatically adjust GPS interval, distance filter and sync settings based on conditions like charging, car mode or speed
- Flexible Sync - Instant, batch or offline modes. Restrict sync to Wi-Fi, a specific SSID or VPN
- App Shortcuts - Long-press the app icon to start or stop tracking directly from the home screen. Compatible with automation apps like Tasker and Samsung Routines
- Quick Setup - Configure devices via colota://setup deep links or QR codes
- Authentication - Basic Auth, Bearer Token, client certificates (mTLS) or custom headers
- Dark Mode - Full light and dark theme support
The FOSS variant uses Android's native LocationManager and has no Google Play Services dependency.
- Author: Max Dietrich
- License: GNU Affero General Public License v3.0 only
- Website
- Issue Tracker
- Source Code
- Changelog
- Build Metadata
- Reproducibility Status
Donate
Versions
Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.
Download F-Droid-
arm64-v8aarmeabi-v7ax86x86_64This version requires Android 8.0 or newer.
It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.
Download APK 43 MiB PGP Signature | Build Log
-
arm64-v8aarmeabi-v7ax86x86_64This version requires Android 8.0 or newer.
It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.
Download APK 44 MiB PGP Signature | Build Log
-
arm64-v8aarmeabi-v7ax86x86_64This version requires Android 8.0 or newer.
It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.
Download APK 43 MiB PGP Signature | Build Log
- Auto-export file names are now customisable with {date}, {time} and {device} placeholders
- Add {device} to the file name to keep retention per device model when several phones share an export folder
- Stationary heartbeat points no longer show up as 0 m trips in the history
- Delete a single point by tapping it on the map and using the trash icon in its popup
- Fixed a false pause at a stale location on startup
- FOSS: more reliable GPS on Android 12+ and a crash fix on GPS-less devices
- Fixed a paused geofence wrongly resuming after a restart
- Fixed the Stationary profile getting stuck active while still driving
- Fixed the dashboard showing the server unreachable while syncing worked
- Fixed tracking silently stopping after restoring a backup