Duplicates and bulk import
How INVIA catches duplicate imports, how re-imported route packs are adopted instead of copied, the Pro bulk importer for folders, and the clean-up tools for routes and collections.
Last checked against the live app on 3 September 2026.
Import the same file twice and you do not get two copies. INVIA checks every file before it saves anything, so a repeat import warns you or reuses what you already hold. Where copies have already built up, the Clean up tools find them and leave one of each.
Duplicates on import#
A file that looks like a ride you already imported is flagged before anything is saved, so you decide whether it lands rather than finding out afterwards. INVIA flags a file only when all three of these match one item you already have, because the same road ridden on another day is a different ride and should still import.
| Test | Match |
|---|---|
| Start time | within a minute |
| Start point | within about 500 meters |
| Total distance | within 5 percent |
A flagged file shows appears to already be in your Library and names the item it matched, so you can see which ride it means before you choose.
- Press Import Anyway. The warning clears and that file imports with the rest.
- Press Skip. That file is unticked and is not imported. Every other file in the batch still imports.
Nothing reaches your library until you confirm the import, so a warning you were not expecting costs you nothing more than a look.
Re-importing the same route pack#
Built routes carry no timestamps, so the three tests above never fire on them and a route pack you import again would otherwise arrive as a second set. INVIA adopts the item you already have instead, which it does when the target collection already holds an item with the same name and the same length.
The collection holds one copy of each route, not two, because INVIA keeps the item it found and writes nothing beside it. The summary states how many items were already there. When every item was already there, the message says nothing new was imported, which is the normal outcome of a repeat import rather than a fault.
The existing route keeps its collection membership, so nothing you filed moves, and the waypoints in the re-imported file are still saved to your waypoint library. There is nothing to undo. Import the same file a third time and INVIA adopts again.
Bulk import (Pro)#
Drop a folder, or 20 or more files, and bulk import takes over, because a batch that size needs sorting before you can judge it.
Before it asks you to confirm, it reads every file and groups the tracks by year and month. It also tags each track by region, read from its start point, and checks every track against your library for duplicates. The preview screen then states how many tracks were found and breaks them down by year and by region, so you can see the shape of what you are about to add.
| Option on the preview screen | Default |
|---|---|
| Add all to collection | off |
| Skip duplicates | on |
Two rows on the preview screen carry warnings. One counts the duplicates found, and you press Review Duplicates to read their names. The other counts the files that would not read, and you press Review Errors to read theirs.
Unreadable files are never imported. Every readable file still imports. A folder with a few damaged files is still worth dropping, because you get everything else in it and a list of the ones to chase.
You cannot stop the run once you press the import button, because the Cancel button and the close cross are on the preview screen only and clicking outside does nothing while it runs. INVIA states no time estimate, so judge the wait from the progress bar, which counts the tracks done out of the total and names the one being processed.
The pass before the preview counts the same way, first the files it has read out of the total, then batches of ten while it works out where each track starts.
When the import finishes you get a count of the items imported, a count of the duplicates skipped and a count of the errors skipped. The same breakdown by year and by region is there too, so you can check the total against the folder you dropped.
To import a file that was skipped as a duplicate, drop the files again and untick Skip duplicates before you confirm.
Clean up library: duplicate routes (Pro)#
Clean up on the Home page opens a panel titled Clean up library, and the button tooltip reads Find duplicate routes. It works on your own routes only, and it cannot be undone once you confirm.
Two routes count as duplicates when all three of these match, because the same trail imported from two sources often arrives under a different name while the line itself stays the same.
| Test | Match |
|---|---|
| Both ends | within about 500 meters, in either direction |
| Length | within 6 percent |
| The two lines | within 300 meters of each other along their whole length |
Name is not a test. Shape is. That is why one trail saved under two names still gets grouped, and why two different trails that share a name do not.
Copies that share one name are headed as copies with the same name, and INVIA ticks them for you because there is nothing to weigh up. Copies with different names are marked REVIEW and are never ticked for you, since you may have named them apart on purpose.
INVIA marks one row KEEP in each group, choosing the copy that carries the most of your own work, which is the copy you would keep by hand. It ranks them in this order:
- the number of collections the copy is in
- the number of comments, votes, tags, ratings, reviews and photos attached to it
- whether the copy has a description
- the number of waypoints on it
The KEEP row has no checkbox, so you cannot mark it for removal. Every other row has one, and a ticked row is marked REMOVE. The footer counts the marked rows, and the confirmation states that the marked copies will be deleted and that this cannot be undone.
After you confirm, the removed copies are no longer on your Routes list and the copy marked KEEP is still there. A message states how many copies were removed, and the panel stays open and recounts the groups so you can work through the next one.
Every collection that held a removed copy now holds the kept copy, so nothing you filed comes undone. One copy of each route always survives, because INVIA spares the KEEP row even when you tick every row in a group, and it names the route it spared.
Comments, votes, tags, ratings, reviews and photos go with the copy you remove. Those belong to that copy, not to the route. The kept copy keeps its own. The panel states this before you confirm, so you can decide with the whole picture in front of you.
A copy carrying any of them is never ticked for you, because its own tags and comments would go with it. Its row says that it has them. Tick that row yourself and you lose them, so untick it again to keep that copy whole.
Clean up library writes no backup file, unlike Reclassify routes below, so download the GPX of a copy you are unsure about before you confirm. The waypoints saved on a removed copy go with it, and collection membership is the only thing that moves, which INVIA re-points to the KEEP copy before it deletes anything.
If INVIA deletes nothing, it says so and names the likely reason: the routes may not be yours. Every copy is still on your Routes list, so nothing is lost while you sort out where the routes came from.
When no duplicates remain, the panel says no duplicate routes were found and names how many routes it compared by shape, so a run that removes nothing still tells you it looked. Your routes are unchanged.
Clean up collections (Pro)#
Clean up on the Collections page finds collections with the same name, or with the exact same set of routes, then keeps the one with the most routes and, failing that, the oldest. It removes the rest.
After you confirm, the removed collections are no longer on the Collections page, and the kept collection in each group is still there with its routes inside. The routes from the removed collections are in My Routes, because a collection is a way of filing routes rather than a container that holds the only copy. The routes are never deleted. Select modes and clean-up.
Clean up waypoints (Pro)#
The waypoint library's Clean up merges duplicate pins in two tiers, rescues or deletes orphan pins, and tidies source-file labels, which keeps the pin list readable after a run of imports.
One pin in each group is marked KEEP and has no checkbox, which is the pin attached to the most routes and collections, and the oldest of those where they tie. That pin survives with its own name, icon and notes unchanged, and the pins you merge into it are deleted, so their names and notes are not carried over.
What moves instead is their attachments, because every route, ride and collection that pointed at a merged pin now points at the survivor, so no route loses its stop. If any of that re-pointing fails, INVIA stops before it deletes anything and tells you nothing was lost. The confirmation states that the merge cannot be undone.
A deleted orphan pin leaves your waypoint library. Nothing else loses anything, because an orphan was attached to nothing. Waypoint library and clean-up.
Reclassify imports#
Reclassify routes on the legacy Rides page finds built routes filed as rides and converts them to routes, so a route pack that arrived as ride history becomes editable again.
INVIA downloads a JSON backup of the rides it is about to remove before it converts anything, so you hold the originals whatever the result. The file name starts with invia-rides-backup-.
The convert moves each item rather than copying it. The converted items are no longer on the Rides page. They are on your Routes list. A message states how many were converted, and how many failed.
A ride that failed is still on the Rides page, unconverted and complete, because INVIA writes the new route first and removes the ride only once that route exists. Its waypoints, ratings, write-up and collection memberships are untouched, and your own rides are in the backup file whatever happened, because it downloads before the run starts.
Collection membership moves to the new route, and the waypoints attached to the ride move with it. The difficulty rating, the surface rating and the write-up move too, so the route arrives complete rather than stripped of what you added to it.
Keep the backup file, because a ride you saved from another rider is not written to it. Get that one again from Explore.