Car Camera Route Studio
See where your dashcam went. Replay the drive on a map, with speed and sensor charts.
Free and open source. It runs on your own computer, with no database and no npm dependencies on the server. Drop in your files and open it in the browser.
git clone https://github.com/TheTechBasket/route-studio.git
cd route-studio
# copy .txt, .gpx or .geojson files into data/input/
pnpm start # http://127.0.0.1:4173What it reads and shows
One import step turns your files into a per-day cache, and the app draws any day or date range from it.
- Input formats
- 3
- dashcam TXT, GPX, GeoJSON
- Chart metrics
- 8
- speed, heading, altitude, sensors
- Replay speeds
- 4
- 1x, 5x, 20x and 60x
- Speed ceiling
- 130 km/h
- default, set with MAX_SPEED_KMH
Source: public/index.html, docs/formats.md and app.ts in the repo, checked 2026-09-21.
What it looks like

What you get
Map and replay
A Leaflet map with start and end markers. Replay the drive at 1x, 5x, 20x or 60x with the map following, and the stretches where the car sat still are compressed.
Pick a day or a range
Choose a day from a list, or set From and Until dates. The readout shows points, distance, peak speed and the length of the window.
Three views of speed
Cleaned, raw device and calculated speed, in km/h or mph. Cleaned speed replaces implausible spikes with speed worked out from the coordinates.
Stops and highlights
It detects stops along the route and lists them. Pin places by searching for a name or clicking the map, and sort your pins into your own categories.
Exports
Export the loaded route as GPX or GeoJSON. Trip Report builds a printable page that you can save as a PNG or print to PDF.
Built for growing logs
Dashcam TXT files import incrementally, so when a log grows only the new bytes are read. GPX and GeoJSON files are read again in full when they change.
One bad GPS fix does not ruin the chart
Dashcams store speed in hundredths of km/h, and a bad fix can produce a wild spike. Route Studio keeps the device value and also works out speed from consecutive coordinates.
The cleaned view uses the device speed, and falls back to the calculated one when the device value is missing, negative, above the ceiling or far from the calculated speed. The default ceiling is 130 km/h. Raise it for a faster vehicle:
MAX_SPEED_KMH=250 pnpm import -- --forceTrying it with your own files
- Check Node.js. You need Node.js 22.6 or newer. It runs the TypeScript files directly, so there is no build step.
- Add your data. Copy
.txt,.gpx,.geojsonor.jsonfiles intodata/input/. Subfolders are fine. - Start it. Run
pnpm start, then openhttp://127.0.0.1:4173. It indexes new files first, then serves the app. - Rebuild if you need to. Run
pnpm import -- --forceto wipe the generated cache and build it again from your files.
Good to know
- The server listens on
127.0.0.1only, so other machines on your network cannot reach it. - The page loads Leaflet and Tailwind from CDNs and map tiles from OpenStreetMap, so the map needs an internet connection.
- Place search and place names use OpenStreetMap Nominatim. The optional Snap route to roads setting sends your route to the public OSRM server, so leave it off for a private route.
- It was built and tested against a 70mai Dash Cam 4K A810. Other cameras that write the same
$V02lines should work as is.
Questions
What is Car Camera Route Studio?
Which dashcams work?
Does it upload my files?
What do I need to run it?
Can I export a route?
Is it free?
Load one day of your drive
Issues and stars on GitHub help other people find it.