Turn your GPS-tagged travel photos into interactive route maps and cinematic journey replays — instantly, privately, for free.
🌐 Try it Live · Product Hunt · 中文
Locusify is a free, browser-based travel app that transforms GPS-tagged photos into interactive route maps and animated journey replays. It reads the GPS coordinates embedded in each photo's EXIF metadata, plots them on an interactive map, and lets you replay your journey as a cinematic video — all processed locally on your device, with no photos or location data ever uploaded to a server.
- Upload your GPS-tagged travel photos (JPG, PNG, HEIC, WebP, AVIF)
- Extract — Locusify reads GPS coordinates from each photo's EXIF data, right in your browser
- Visualize — an interactive map plots your route with photo markers, clusters, and an animated trajectory line
- Replay — watch your journey play back in chronological order, then export it as an MP4 video
- GPS Photo Mapping — Automatically extracts location data from EXIF metadata and plots photos on an interactive map
- Trajectory Replay — Timeline-based animated route playback with smooth camera follow and adjustable speed
- Video Export — Record and download your journey replay as an MP4 video to share or keep
- Photo Clusters — Automatically groups nearby photos at higher zoom levels to keep the map clean
- 100% Local Processing — All photo parsing and map rendering happens in your browser; nothing is uploaded
- Drag-and-Drop Upload — Upload multiple photos at once with automatic GPS validation
- Multi-language — Available in English and Chinese (中文)
- Dark / Light Mode — Respects your system preference, or switch manually
Locusify is built privacy-first:
| What we do | What we don't do |
|---|---|
| Process all photos locally in your browser | Upload your photos to any server |
| Use GPS data only for map display, in-session | Store or share your location data |
| Use anonymous page-view analytics (Google Analytics) | Collect personal information or sell data |
Your photos never leave your device. Close the browser tab and they're gone.
- Solo travelers who want to visualize and remember exactly where they went
- Travel photographers who shoot hundreds of geotagged photos and want to see the full picture
- Vloggers and content creators who want a quick, beautiful route replay video without video editing software
- Anyone who has ever wondered "where exactly did I go on that trip?"
What is GPS photo mapping? GPS photo mapping is the process of reading the geographic coordinates (latitude and longitude) embedded in a photo's EXIF metadata and displaying the photo's location on a map. Most smartphones automatically tag photos with GPS data when location access is enabled.
Does my phone camera take GPS-tagged photos? Most modern smartphones (iPhone, Android) embed GPS coordinates in photos by default when location permissions are granted for the Camera app. Photos taken with standalone cameras may not have GPS data unless you use a GPS logger or a camera with built-in GPS.
Does Locusify upload my photos to a server? No. All processing — GPS extraction, map rendering, trajectory calculation, and video export — happens entirely in your browser using JavaScript. Your photos are never sent to any server.
What photo formats does Locusify support? Locusify supports JPG, PNG, HEIC, WebP, and AVIF. At least 2 photos with valid GPS data are required to generate a trajectory.
How many photos do I need? You need at least 2 photos with GPS coordinates to generate a route. There's no hard upper limit, though very large batches (500+ photos) may require more processing time depending on your device.
Is Locusify free? Yes. Locusify is completely free with no accounts, no subscriptions, and no feature paywalls.
Can I export my journey as a video? Yes. After viewing the trajectory replay, you can record the playback and download it as an MP4 video file.
What if some of my photos don't have GPS data? Locusify validates GPS data during upload and clearly marks which photos have location data and which don't. Photos without GPS are excluded from the trajectory but you can still see them listed.
- GPS photo mapping and interactive map view
- Trajectory replay with animation controls
- Video export (MP4)
- Photo clustering
- Dark mode + multi-language
- Trip history — save and revisit past journeys
- Multi-trip view — display multiple trips on a single map
- GPX export — export your route as a GPX file for use in other apps
| Category | Technology |
|---|---|
| Framework | React 19 |
| Language | TypeScript |
| Build Tool | Vite 7 |
| Styling | Tailwind CSS 4 |
| Map | MapLibre GL |
| State Management | Zustand |
| Data Fetching | TanStack Query |
| Animation | Motion |
| UI Primitives | Radix UI |
| GPS Extraction | exifr |
- Node.js >= 22
- pnpm >= 10
# Clone the repository
git clone https://github.com/caterpi11ar/locusify.git
cd locusify
# Install dependencies
pnpm install
# Start the development server
pnpm dev| Command | Description |
|---|---|
pnpm dev |
Start Vite development server |
pnpm build |
Build for production (tsc + vite build) |
pnpm preview |
Preview production build |
pnpm lint |
Run ESLint with auto-fix |
pnpm typecheck |
Run TypeScript type checking |
src/
├── assets/ # Static assets
├── components/ # Shared UI components (shadcn/ui)
├── hooks/ # Custom React hooks
├── layout/ # Layout components
├── lib/ # Utility libraries
├── locales/ # i18n translations (en, zh-CN)
├── pages/
│ ├── explore/ # Explore page
│ ├── map/ # Map page + trajectory replay
│ ├── settings/ # Settings (language, theme, privacy)
│ └── splashScreen/# Splash / landing screen
├── routers/ # Route definitions
└── types/ # TypeScript type definitions
ISC © caterpi11ar