How do you tell whether a track-to-route conversion is any good?
In the end, by looking at it. Whether the converter was right to take that path and not the other one is a judgement about the ground, and no tool is going to make it for you.
The hard part is not the looking. It is knowing where to look. Two lines drawn over the same walk are indistinguishable at any zoom that fits them both on the screen, and the places where they disagree are a hundred metres long on a fifteen kilometre ride. You can spend an evening panning around a map and come away with an impression rather than a finding, and still not know whether you saw everything.
So: compare-tracks.html, a standalone page that does the hunting and hands you the places, in the order it thinks they deserve your attention.
What it does
Load an original track - the recording everything else is measured against. Then give it up to two conversions of that track: PitStopper will generate one for you with its own Match to Roads engine, and you can upload another from any tool you like. Three lines on the map, and two sets of findings, each measured against the original and never against each other. It reports, for every conversion:
- every stretch where the two lines part company, where it starts, how long it runs and how far apart they get
- which OpenStreetMap ways each line is on at that place, by name where the way has one
- whether the difference is a parallel line, a cut corner, a shortcut or a detour
- whether their turn-by-turn instructions agree, and where one calls a turn the other does not
- what each file kept: elevation, timestamps, heart rate, cadence, the ascent they add up to
GPX and FIT both work, and it runs in your browser. The only thing it asks our servers for is the OpenStreetMap ways around each track, which is what lets it say which road, rather than just a road.
A real comparison
The picture at the top is a real one: a walk round the Ile Saint-Martin, a peninsula on the French Mediterranean coast near Gruissan, put through PitStopper's own engine and then compared with the recording it came from.
Four findings, ranked, with the map beside them. The conversion came out 564 m longer than the recording, and the tool breaks that down rather than leaving it hanging: 230 m added, 130 m skipped, 360 m on the stretches that differ, and 119 m spread over everything else where the two follow each other. That last figure is the interesting one, and it is almost always the same thing - a recorded line wobbles, and straightening it onto the road changes the distance without going anywhere different.
Of the four, one is marked worth a look: at 12.9 km the conversion adds 230 m the original never had. The rest are ranked below it, and finding 3 is the one worth walking through, because it is the case people usually get wrong.
The one worth explaining
Zoomed in on finding 3. The red line is the conversion, and it goes the long way round: up the left side of the field, along the top and back down the far side. The green recording never joins it. It comes up from the bottom, cuts the corner across open ground and rejoins where the path comes back - fifty metres against four hundred and twenty. The tool lets you switch both lines off from the map, and that is the version worth looking at: with them gone, the amber band alone shows the long way round and the short cut that was taken instead.
That is the point of the finding. There is a mapped path taking the long way round, and the walker did not follow it. They cut straight across the open ground and rejoined further on. PitStopper, whose whole job is to work out which mapped ways you used, followed the path.
Here is what the tool says about it:
Read that again, because every clause in it is doing work:
"50 m of the original against 420 m of the conversion." The walker crossed 50 metres of open ground. Going round on the path is 420. That ratio is the whole story, and it is why the tool calls the shape a longer way round rather than just "a difference".
"The original leaves the mapped paths here; the conversion followed a mapped way." This is a statement about OpenStreetMap, not about either product. It is the difference between "the converter went wrong" and "the walker went off-path", and you cannot tell those apart by looking at two lines.
"Probably fine." The tool ranked its own finding as low priority, and it is right to. A road snapper following the road when the walker cut the corner is the feature working, not failing. Anything that ranked that above a conversion genuinely leaving a mapped road would bury the faults under the feature.
And the one it missed
There were two shortcuts on that walk. The tool found the big one. It said nothing about the smaller one further along.
Here is the standard setting's own view of the end of that walk. Finding 4 is the flagged one, the amber loop where the conversion added 230 m the walker never walked. Look below the marker, though, at the stretch where the green recording runs straight down the path and the red conversion wanders off it and back. Nothing is flagged there at all.
That is not a bug, and it is worth explaining rather than hiding. A deviation has to clear two thresholds before it is reported: at least 100 m long, and for a different-path deviation, at least 40 m away from the original. Below that you are looking at GPS wobble, a path drawn on a slightly different survey, or a walker stepping round a puddle. Report all of it and the list is noise; report none of it and you miss things. The second shortcut fell under the bar.
The page has a What counts as a deviation setting for exactly this, and the summary already tells you how much rests on it. Beside the count of four it says 6 close, 2 major - so the number four is a threshold talking, not a fact about the ride.
Turn it down to a close look, 30 m apart for 40 m, and the six arrive. The second shortcut is one of them:
Missing section at 11.5 km: the conversion skips 40 m of the original, which lies up to 32 m away from it.
Forty metres long and thirty-two metres off the path. That is exactly the size of thing the standard setting is built to ignore, and on most files ignoring it is right - but here it is a real shortcut, and now you can see it. The other newcomer is an 80 m addition at 13.2 km, next door to the one already flagged at 12.9.
That is the honest shape of the trade. There is no threshold that reports every real thing and no noise, so the tool states the one it used, shows what the other two settings would have found, and lets you move it.
That figure is in the downloaded report too, along with the thresholds used, so a report sent to somebody else states what it was measured with instead of asking them to trust a number.
There is a second honest wrinkle, visible under the findings in both those screenshots. It says As the app's Match to Roads reports it: 2 deviations, worst 179 m - two, where this page found four. They are not contradicting each other. The app's own scorer asks a one-sided question, how far the matched line strays from the recording, and this page aligns the two lines and reads off every stretch where they part company in either direction. Both numbers are printed because a tool that quietly picked the flattering one would not be worth much.
Where do I look first
A sixty kilometre ride can produce twenty findings, and listing them in track order gives every one the same weight. So they are ranked, and the ranking is opinionated:
- leaving a mapped road for open country beats taking a different mapped road: one is a fault, the other is a choice
- riding somewhere the original never went beats skipping something, because a rider following it goes wrong
- a line running parallel to the original ranks down, whatever its length
- a difference across a gap in the recording ranks down, because that is the receiver's doing
- the original leaving the mapped paths ranks lowest of all - it is what every road snapper is for, and that is why the finding above came out as "probably fine"
With two conversions loaded there is one more signal, and it is worth more than anything either conversion says on its own: where both of them leave the original in the same place, the odds are that the original or the map is at fault rather than either converter.
Sharing what you find
Each finding takes a verdict and a note, so you can work down the list recording what you made of each one. Then Download report gives you a single self-contained HTML file - your notes included, with a small map at each place - that opens on anyone's machine with no PitStopper needed.
Or press Share and get a link. The files are encrypted in your browser before they go anywhere and the key travels only in the link's fragment, which browsers never send to a server, so we hold bytes we cannot read. Shares expire after thirty days, and the dialog lists the ones you have made so you can copy a link again or withdraw one early.
Why we built it
Selfishly: to find out how good our own conversion is, on real files rather than on the two tracks we happened to test with. Every one of the ranking rules above came out of looking at real findings and disagreeing with the order they arrived in.
But it compares tracks, not products. The original is the reference and the conversions are never measured against each other, which is what makes a result publishable rather than a marketing claim. Point it at somebody else's converter and it will measure that the same way, with the same method at the same thresholds. If it says something unflattering about ours, that is the tool working.
It is a work in progress, and the page says so. If it gets something wrong, unclear, or misses something you needed, the Share button will send us the comparison with your files attached - which is the fastest way to get it fixed, because then we have the track that broke it.







